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 - "break build"
-
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 -
Not sure what Linux Desktop to use? Use this handy guide:
- GNOME: when you want no tray icons, themes that break every minor GTK release, and extensions for basic features (that are buggy.)
- KDE: pretty go-Segmentation Fault
- DWM/Awesome/i3/etc.: when you feel like the time you spent learning Vim wasn't wasteful enough
- XFCE: when you want one update per decade and poor Systemd support.
- LXQt: the biggest positive is that it doesn't use GTK.
- Cinnamon: when you like GNOME 3 but you want a different menu
- Deepin: when you want a desktop with the build quality of an HP laptop.
Aren't sure whether to use Xorg or Wayland?
- Xorg: if you want to absurdly fuck up your touchscreen, pick this one.
- Wayland: if you want to screw up most of your apps, too bad; this won't work with your proprietary drivers. If only it did.
What distro to use?
- Ubuntu: if you want to break your system with PPAs, check out this one.
- Debian: when you want Ubuntu except with more out of date packages
- Redhat: when you want Debian except with more out of date packages
- ElementaryOS: wait, someone actually made a properly designed Linux UI?
- Arch Linux: the only thing that doesn't make me sick anymore.
- Slackware: "that exists still really?"
- Gentoo: when you hate systemd more than waiting 4 days to compile Firefox on every release.
... I love Linux. I do. But it is very taxing to get things comfortable for me anymore. I feel like the Linux Desktop is in a period of flux and it's painful to be a part of right now.25 -
My lead keeps pushing commits to master. His commit messages vary from: no message, yeah, and yup.
and yea, some of the build break master.
Makes me just wanna die sometimes when digging through our commit history to figure out when a bug was introduced.27 -
Me: So i've cloned the iOS project, i've run carthage, but it won't build.. Have I done something wrong?
Devs: Oh read this doc on github, we do loads of custom stuff. The depenedncy manager can't do it all by itself. You need to run `./scripts/boostrap.sh`
Me (another day): I've switched branches and i'm getting all these errors. Any ideas?
Devs: Ah this happens when someone modifies xyz. Read this pinned slack message. Run `./scripts/bootstrap.sh` again.
Me (another day): I've switched branches again, getting different errors, re-running boostrap didn't fix it.
Devs: Ah yeah, this happens when someone modifies abc. You need to run `./scripts/nuke.sh` and then boostrap when this happens.
Me (another day): Guys When I try to run the prod app its not building any ideas?
Devs: Ah yes have a look at this confluence link. You need to run `./scripts/setup_debug_release.sh`, then nuke, then boostrap and you'll be good.
Me: .... ok
Devs: Oh btw very important! do not commit any changes from `./scripts/setup_debug_release.sh`. It will break everything!
Me: ... no i'm sorry we have a much bigger problem than that. We need to talk ... like right now7 -
tl;dr
A former colleague of mine, who used to suck at web development is now a kick-ass who knows how to get things done.
We are of the same age. We got hired on this company at the same time. He was a front-end guy, and I am a full-stack. So, we were like a yin and yang in development roles.
Initially, we have this big gap of skillset. I was solely assigned on a project which I worked on from ground up, while he was barely able to make an HTML table look properly on a separate existing project. My impression of him that time is that he's kind of a simpleton. But, I was wrong.
Few months passed, our seniors left the company, and I was promoted to be a team lead. Eventually, I was teamed up with this guy. I had a hard time working with him, but I was able to share him some of my knowledge.
Every time I teach him something new, he's exploring more. From proper indentation, writing SASS, using streaming build system (GulpJS), etc., he's making sure that he applies it on every project he's assigned to — even practicing it on his personal projects during break time. I can see him improve each day.
After a year in the company, he became so much better. I even ended up teaching him more than just front-end stuff. I shared the gospel of Jesus of PHP community (Jeffrey Way), tought him how to set up his own server, how to configure DNS, etc.. Again, it's tough for him even to write a simple for..loop statements. But, after a lot of consistent practice, he became better and better. We've done quite a number of projects together. He's fun to work with because of his "hungry" spirit.
Unfortunately, he was laid-off from the company, and I worked on the company til the very end. We parted ways.
He went back to his hometown to launch his own e-commerce business — apparently, this was the "practice" project he was working on the whole time during breaktimes.
Another year has passed, that project worked out and got a funding. And now, he's launching his second project. The best thing is, when I lookup his projects on builtwith.com, every damn stack I tought him, he used it. It's like a project built by me.
To be honest, I am a little jealous of him, but at the same time, I am so proud of him. I thought him how to make things work, he thought me how to get things done. He's my inspiration now.5 -
Hello Monday:
0.Arrive late due to traffic.(Apparently a car hit a cow crossing the road)
1. Try upgrading php5 to php7 and break stuff in the process and waste 2 hours fixing things.(Poor connection so ssh sessions hung occasionally)
2.PHP fixed,open Gmail and get over 100 emails from clients about the server being down(because of (0)).Ignore all.Find a snaglist of over 20 TODOs.
3.Open Android Studio, update to 2.3 and everything becomes broken.Each time i open it ,it crashes and i have to "Report to Google"
4.Spend the next 1 hour reinstalling AS.It finally works.
5.Open Project and the libraries are broken.Spend another hour upgrading build tools.
6.Leave SDK to update and decide to check my Google Cloud console.$50 bill pending.Shit.
7.Try XCode. Remember the project is still in Swift 2 and I have to upgrade it(Would take eternity).Immediately closes xcode.
8.Gives up on life and decides to log into Devrant.4 -
*sees that the high voltage generator kit got delivered today*
Cool, let's build this thing and integrate it into my old bugzapper! Mosquitos beware 😈
*starts building the kit, all is going very well*
Oh wow, isn't it Monday? But it's taking only 15 minutes of soldering and everything goes super smooth.. what divine power is giving me such good luck?
Alright, last thing, the transformer and then this circuit is done!!!
*solders in the transformer without realizing that the wires are coated, and the solder isn't protruding through*
Fuck. Time to desolder this shit and blast the wires with my lighter to flash that coating right off!
*engages solder pump and solder goes off extremely easily, because it only adhered to the pad*
*takes off transformer*
Me: "Nnngh..!!! Get off you piece of junk!!!"
Transformer: "Hmph!! I will stay in here no matter what!"
Me: "Get the fuck off already!!! 😡"
Transformer: *leads break off* "Alright, but these leads stay here!!!"
Me: "MotherFUCKER!!!"
Yep, it's Monday after all.15 -
2019 resolutions/goals recap: (non-personal ones)
1) Improve diet (did; e.g. ramen and fast food to clean keto)
2) Lose weight (did; lost 24 pounds!)
3) Find a good job (did, twice)
4) Buy a harp (did not; large and expensive, no place to put it, and I have small children who would absolutely break it)
5) Keep house clean, even if it's by myself (did, somewhat; I cleaned some, managed to get one other person to clean semi-regularly, and another sporadically)
6) Work on social awkwardness (did; read and applied Dale Carnegie's The Art of Public Speaking, which netted me my last job offer. Still pretty awkward though)
7) Move out of the desert (did not; not enough money, and job didn't allow remote work)
8) Stop bloody waiting on people (did not; still very guilty of this...)
I don't remember the rest 🙁 didn't write them down last year. But I still accomplished 5 out of the 8 I remembered, with one being a pass, so 5/7!
-----
2020 resolutions/goals:
1) Finally move out of the desert
2) Invest 20% of my income every month
3) Reduce bills by 20%
4) Solve/address some health issues
5) Make a schedule so things regularly get done around the house, e.g. cleaning
6) Find some friends and make time for them
7) Replace Debian with something else
8) Revamp my backup system
9) Be proactive and stop waiting on people
10) Build a (stationary) coil gun for fun18 -
We passed a milestone: 250,000 phpunit testcases.
If it weren't for a heavily parallelized build pipeline which splits it out over 20 servers, it would take about 7.5 hours to complete.
Not hating on PHP, and without tests it would truly be hell...
But still, fucking hell, we outgrew PHP.
Not having a solid type system just means you either accept more bugs, or write thousands of unit tests to guard all the foundational cracks in the system.
On the bright side, I get a coffee break after every commit 😄22 -
I decided to build a garden and not type for at least 12 hours, I needed a break.
I got a lot of flowers, they attract bees. The bees are out doing what they do best, I'm a supporter of bees. While cleaning off one flower, I freaked a few bees out, and my hands got stung.
12 hours just turned into 72 hours, and my colleagues are making buzzzz noises. I still love bees.4 -
Forget about Internet explorer compatibility, EMAIL TEMPLATES are the actual worst. Outlook uses the same html rendering engine as MS WORD. It's sooo painful. All the bad practices you had to do 15 years ago, you have to do when you write email templates.
YOU WILL NOT KNOW PAIN until you have to make an email template, that works in Gmail, Yahoo Mail, OUTLOOK, outlook.com, outlook for mac, MOBILE, Android, the gmail app, IOS, apple mail, and so on. And after you make an unholy abomination of table garbage, then having to make it responsive/mobile friendly after all that!
If something is broken in one client, fixing it will break something in a different client! And then having to take a stab in the dark to try to fix it and then sending yet another test email (which costs $ per test)
I must have slashed decades off my life having to build email templates. It really is horrendous. There are frameworks like Zurb for email that at least let you feel like you're using a modern workflow. But things break just as often.
Honestly if you have the option, use a wysiwyg editor for building emails. At least when it does break (and they all will) you can at least blame the software.
Which is better than spending 4 hours on why that table cell doesn't line up correctly in outlook.7 -
POSTMORTEM
"4096 bit ~ 96 hours is what he said.
IDK why, but when he took the challenge, he posted that it'd take 36 hours"
As @cbsa wrote, and nitwhiz wrote "but the statement was that op's i3 did it in 11 hours. So there must be a result already, which can be verified?"
I added time because I was in the middle of a port involving ArbFloat so I could get arbitrary precision. I had a crude desmos graph doing projections on what I'd already factored in order to get an idea of how long it'd take to do larger
bit lengths
@p100sch speculated on the walked back time, and overstating the rig capabilities. Instead I spent a lot of time trying to get it 'just-so'.
Worse, because I had to resort to "Decimal" in python (and am currently experimenting with the same in Julia), both of which are immutable types, the GC was taking > 25% of the cpu time.
Performancewise, the numbers I cited in the actual thread, as of this time:
largest product factored was 32bit, 1855526741 * 2163967087, took 1116.111s in python.
Julia build used a slightly different method, & managed to factor a 27 bit number, 103147223 * 88789957 in 20.9s,
but this wasn't typical.
What surprised me was the variability. One bit length could take 100s or a couple thousand seconds even, and a product that was 1-2 bits longer could return a result in under a minute, sometimes in seconds.
This started cropping up, ironically, right after I posted the thread, whats a man to do?
So I started trying a bunch of things, some of which worked. Shameless as I am, I accepted the challenge. Things weren't perfect but it was going well enough. At that point I hadn't slept in 30~ hours so when I thought I had it I let it run and went to bed. 5 AM comes, I check the program. Still calculating, and way overshot. Fuuuuuuccc...
So here we are now and it's say to safe the worlds not gonna burn if I explain it seeing as it doesn't work, or at least only some of the time.
Others people, much smarter than me, mentioned it may be a means of finding more secure pairs, and maybe so, I'm not familiar enough to know.
For everyone that followed, commented, those who contributed, even the doubters who kept a sanity check on this without whom this would have been an even bigger embarassement, and the people with their pins and tactical dots, thanks.
So here it is.
A few assumptions first.
Assuming p = the product,
a = some prime,
b = another prime,
and r = a/b (where a is smaller than b)
w = 1/sqrt(p)
(also experimented with w = 1/sqrt(p)*2 but I kept overshooting my a very small margin)
x = a/p
y = b/p
1. for every two numbers, there is a ratio (r) that you can search for among the decimals, starting at 1.0, counting down. You can use this to find the original factors e.x. p*r=n, p/n=m (assuming the product has only two factors), instead of having to do a sieve.
2. You don't need the first number you find to be the precise value of a factor (we're doing floating point math), a large subset of decimal values for the value of a or b will naturally 'fall' into the value of a (or b) + some fractional number, which is lost. Some of you will object, "But if thats wrong, your result will be wrong!" but hear me out.
3. You round for the first factor 'found', and from there, you take the result and do p/a to get b. If 'a' is actually a factor of p, then mod(b, 1) == 0, and then naturally, a*b SHOULD equal p.
If not, you throw out both numbers, rinse and repeat.
Now I knew this this could be faster. Realized the finer the representation, the less important the fractional digits further right in the number were, it was just a matter of how much precision I could AFFORD to lose and still get an accurate result for r*p=a.
Fast forward, lot of experimentation, was hitting a lot of worst case time complexities, where the most significant digits had a bunch of zeroes in front of them so starting at 1.0 was a no go in many situations. Started looking and realized
I didn't NEED the ratio of a/b, I just needed the ratio of a to p.
Intuitively it made sense, but starting at 1.0 was blowing up the calculation time, and this made it so much worse.
I realized if I could start at r=1/sqrt(p) instead, and that because of certain properties, the fractional result of this, r, would ALWAYS be 1. close to one of the factors fractional value of n/p, and 2. it looked like it was guaranteed that r=1/sqrt(p) would ALWAYS be less than at least one of the primes, putting a bound on worst case.
The final result in executable pseudo code (python lol) looks something like the above variables plus
while w >= 0.0:
if (p / round(w*p)) % 1 == 0:
x = round(w*p)
y = p / round(w*p)
if x*y == p:
print("factors found!")
print(x)
print(y)
break
w = w + i
Still working but if anyone sees obvious problems I'd LOVE to hear about it.38 -
Been a while since my last real proper rant.
Multiple projects. Business side going into panic mid. Devs are staying cool as usual.
We, devs, have to hold hands so they don't completely break down.
We are wasting precious time in order to rub their feelings.
Get. Your. Shit. Together.
Or atleast, go cry in a corner AND LET US FUCKING WORK.
STOP. FUCKING. SPAMMING.
Can't fucking work for more than 10 mins.
I go take a shit, I have 200 notifications when I'm back.
Omfg their lives must be so hard, really. How can you fucking go into full retard whenever there's a small roadblock.
DO. YOUR. FUCKING. JOB. And let me do mine.
As soon as you let us work, issues are going to be solved, you'll be less stressed and everything will be fine.
Keep asking the same questions over and over, arguing on non-critical things (who cares about wordings... it's 1min change) and the stress will only build up for everyone.
DAMN. Fuck off, fucking emotional idiots.8 -
When a Coursera course is way better than the one offered by your university…
A university student's rant...
I study Electrical and Computer Engineering and during the first semester of the second year I selected an optional course: Web Programming. It was believed among students that the course would be really easy, and it was. All the student had to do was build a very simple website using HTML, CSS and a few line of JS. A website containing three or four pages all of which had to be validated using a markup validation service.
Yeah, sure, I passed the course just like everyone else who bothered enough to spend an hour or two working on the project. Oh, I almost forgot! We had an one-hour workshop on Dreamweaver!
So, by that point, everybody was a front-end developer, right?!
That happened over three years ago, and because of that course web-development didn’t impress me…
Thankfully, the last few months I’ve became interested in Web Development, and I’ve been reading some articles, spending time on smashing magazine, making some progress on FreeCodeCamp and taking relevant courses on Coursera!
In fact, a few days ago I completed the Coursera course “HTML, CSS and Javascript for Web Developers”.
Oh boy, the things I didn’t know that I didn’t know…
<sarcasm>Did you know there was a term called “responsive design” and that there are frameworks like bootstrap?</sarcasm>
Well, I d i d n ’ t k n o w ! ! ! (even though I had taken the university’s course).
I understand that bootstrap was introduced in 2011 and I took the university course in late 2012, but by that time, bootstrap was quite popular and also there were other frameworks available before bootstrap that could have been included in the course! (even today, there is no reference in responsive design in the university’s course).
In just five weeks the coursera course managed to teach me more, in a more organized and meaningful way than my university’s course in a whole semester!
When I started the coursera course I shared it with a friend of mine. His response: “yeah, sure, but web development is pretty easy… I didn’t spend much time to complete that project three years ago!”
That course three years ago gave birth to misconceptions in students' minds that web development is easy! Yeah, sure, it can be easy to built a simple, non responsive, non interactive website! But that's not how the world works nowadays , right?!
A few months ago, in the early days of August, I attended Flock, the Fedora community conference. During a break I spent some time speaking with a Red Hat employee about student internships. He told me, and I paraphrase: “We know that students don’t have a solid background and that they haven’t learned in the university what we need them to!”
Currently I’m planning to apply for a front-end developer internship position here in Greece.
Yesterday I wrote my CV, added university courses relevant to that position and listed coursera courses under independent coursework… While writing those I made these thoughts…
What if that course 3 years ago was as good as the coursera course… all the things I’d know by now…6 -
begin_rant()
I like that coding is becoming more and more popular.
I like that more and more people are taking steps to manifest there ideas and potentially change the world.
But for fuck's sake... can't geeks be allowed to be the fat pimply introverts of the olden days?? This used to be a realm for the misfits, and now the same assholes who tormented said misfits are joining in and making the rest feel inadaquit all over again. You can't just be a coder anymore, now you have to be a good looking and health crazed professional with great personal skills and then somehow be able to also be a master of your craft.
I don't want to hear about how you write code in between your 100 pushups and avocado toast and having a few cold ones with the boys after your <insert sport here> game. I want to hear about how you ate pizza with one hand and crushed your build with the other in between sips of shitty soft drinks and fistfuls of candy while pulling an all nighter for the nth time cuz daylight is for pussies.
Too much pressure these days as it is, and this isn't helping.
break13 -
You Don't post an "X vs Y" article and conclude with "it depends, there is no winner"
We understand it your opinion so just say it, break hearts if you have to. But don't build tension and then leave the audience hanging.
Ps. This is especially for react vs angular vs vue11 -
Last week, my entire team was out including my manager.
I had to define the roadmap for Q4 and present it to everyone along with my skip level manager (Sr Director).
Now with 12 hour time difference, the call was scheduled at 04:30 AM India time.
Now since I am new, this was my first time (an opportunity to build trust), one off event, and some new learning experience, I decided to give it a shot because I am professional enough to fill in during critical times.
Everything went well.
I come back from vaccine break and this happened: https://devrant.com/rants/4595608/...
Now here is the interesting part. I had my 1:1 with my manager yesterday and she asked me the details of how things went the previous week yada yada..
Then she proceeds to tell me that Sr Director and herself are super impressed with me and by my work.
She was like, "we are thankful that we have you because after the lead left, you managed everything so well"
Then proceeds to asks me, "You had a conversation with lead that you'd be open to relocation. She mentioned me before she quit. Do you think that if you are with the team in US, you'd be able to perform better?"
I agree and tell her that in person socialising is a key tool that helps me a lot in my job.
Manager: "Cool. If you ever want to move to US or anywhere, just let me or Sr Director know and we'd be happy to do so. It's very easy and can be done quickly."
Me: "Do you mean visiting different offices or relocating full time?"
Manager: "Both."
For someone like me, coming from a third world nation who has seen nothing but hardship, this was one of the most rewarding career experience I have had. The decision lies with me. And she asked me that as soon COVID is over, I'll have to frequently visit different offices around the world.
This is my third international offer in 1.5 years that too in times of COVID. All by themselves and I wasn't even looking for them.
Holy fuck! Now I feel more confident and valued for my work.
Hard work is indeed paying off23 -
I'm investigating PRs for a super legacy codebase. Someone else already approved the PRs -- somebody who has never even run the code or had the project set up before.
The codebase hasn't been touched in two years, and it hasn't been updated in four. It's using CoffeeScript, Node v0, Electron v0.30, and Angular 1.x. I obviously don't have a dev environment anymore, either, and my previous dev env was on Windows, so I'll have to translate my custom build utilities from batch to bash (or much more likely: node).
To make matters worse: the PRs break both the initial project setup and the project itself (NPM can no longer find some installed packages, among other problems). And. someone already merged them into master. So: fuck.
I'm going to yell at the author and tell him to fix his shit. Why? Because when I check out my last commit prior to his PRs, everything works perfectly. Surprise!
I was so done with this project two and a half years ago. I'm still so done with it. I just don't want to maintain this anymore, or honestly even look at it. I would happily rebuild the project from scratch, but updating it from the days of IE8? No way.9 -
how to be a shitty client:
- have a legacy database where column names are misspelled and everything is nullable
- hire external help which instead of helping break the ui (bonus points for breaking the api too)
- demand a very much custom auth logic but decide to use aws cognito for shits and giggles
- demand 1hr daily meetings
- demand biometric auth with 0 knowledge of how biometric auth works (the previous devs just had a face id prompt which does nothing and retrieved email and password saved on the device???)
- message me at 2am because you don't understand how timezones work + demand a build while you're at it
- call me a "heretical pagan" because i took a day off on a holiday you don't celebrate (???)
i could go on but i think this is enough11 -
"I'm almost done, I'll just need to add tests!"
Booom! You did it, that was a nuke going off in my head.
No, you shouldn't just need to add tests. The tests should have been written from the get go! You most likely won't cover all the cases. You won't know if adding the tests will break your feature, as you had none, as you refactor your untested mess in order to make your code testable.
When reading your mess of a test case and the painful mocking process you went through, I silently cry out into the void: "Why oh why!? All of this suffering could have been avoided!"
Since most of the time, your mocking pain boils down to not understanding what your "unit" in your "unit test" should be.
So let it be said:
- If you want to build a parser for an XML file, then just write a function / class whose *only* purpose is: parse the XML file, return a value object. That's it. Nothing more, nothing less.
- If you want to build a parser for an XML file, it MUST NOT: download a zip, extract that zip, merge all those files to one big file, parse that big file, talk to some other random APIs as a side-effect, and then return a value object.
Because then you suddenly have to mock away a http service and deal with zip files in your test cases.
The http util of your programming language will most likely work. Your unzip library will most likely work. So just assume it working. There are valid use cases where you want to make sure you acutally send a request and get a response, yet I am talking unit test here only.
In the scope of a class, keep the public methods to a reasonable minimum. As for each public method you shall at least create one test case. If you ever have the feeling "I want to test that private method" replace that statement in your head with: "I should extract that functionality to a new class where that method public. I then can create a unit test case a for that." That new service then becomes a dependency in your current service. Problem solved.
Also, mocking away dependencies should a simple process. If your mocking process fills half the screen, your test setup is overly complicated and your class is doing too much.
That's why I currently dig functional programming so much. When you build pure functions without side effects, unit tests are easy to write. Yet you can apply pure functions to OOP as well (to a degree). Embrace immutability.
Sidenote:
It's really not helpful that a lot of developers don't understand the difference between unit, functional acceptance, integration testing. Then they wonder why they can't test something easily, write overly complex test cases, until someone points out to them: No, in the scope of unit tests, we don't need to test our persistance layer. We just assume that it works. We should only test our businsess logic. You know: "Assuming that I get that response from the database, I expect that to happen." You don't need a test db, make a real query against that, in order to test that. (That still is a valid thing to do. Yet not in the scope of unit tests.)rant developer unit test test testing fp oop writing tests get your shit together unit testing unit tests8 -
😡😡😡 Who here thinks that great software can be build in a few hours?!?! My silly ass boss does. He haven't programmed in decades and think we're supposed to be able to build software that doesn't break, has the best security, no flaws, feature rich in VERY, VERY short amount of time!! 😡😡😡 Fuck out of here!! It pisses me off to my core.
Me: Just finished the required software. In a short amount of time with new stuff I've never worked with before.
Him: Well, it took u a week to do. I heard it should've only have taken u a few hours.
Then u build the shit then!!! Fuck out of here.
The Sr. Dev and I was talking about this on Friday. U won't good product...leave us the fuck alone and let us work!!! He don't think that there will be small issues that come up. He thinks we're supposed to already know those issues are gonna exists, like really u fuck tart!?
FUUUUUUCK!!!!7 -
Building a page for a company on the side, they said payment after page is delivered. I said they'd get a finished build, they were okay with it. I also added a couple random errors that will break the site after a month... Am I a terrible person? :3
I will remove the errors after I get paid, of course. :p9 -
The company I am currently working for is partnering with another startup. Nothing special about that. We should integrate their API into our system. I wasn't involved in the process when it came to checking there API and if it would work with our Systems. The Person who did that already left the company so I was left behind with some internal documentation. In that Documentation is already written that API is basically trash....
After I started integrating the API I found more and more flaws in the design. They are not sending any responses that would help, when a param is missing or the authentication isn't correct, only 500's . I got some documentation from the partner company so i thought it will be fine as long as the Documentation would be accurate. Turns out the documentation isn't even close to be up to date. Wrong content types wrong endpoints, wrong naming. Basically we could not work with that. We shortly contacted the partner Company. After a few WEEKS we got a response that they updated the Documentation what was right but still not everything was correct. At this point I lost my mind. I researched a little bit about them, the company is founded from 2 young people who basically came strait out of the University and doest have any experience or idea how to build an API. I investigated a little bit there websites.
They have an Admin panel on the base domain from their API but it is only accessible via HTTP. Like WTF , They use HTTP for an Admin Panel this must be a joke right?
They use Cloudflare without a HTTP to HTTPS redirection ???
I really had not that much time to research in there website but if I find these things in 5 minutes I don't want to know what I can find in like an hour.
At the end we will still use them as partners because surprise surprise our company already sold the product that uses their API.
I know that I will be the person who has to help fixing this shit when it breaks and it will break 1000% JUST FUCK THIS SHIT. FUCK THE PARTNER COMPANY. FUCK THERE API.2 -
Should’ve posted this after it happened, but it requires a bit of background anyway.
There’s this guy that oversees our OpenStack environment. My team often make jokes and groan about him in private because he’s so overbearing. A few months back, he had to take us to our data center to show us our new racks, and he kept saying stupid stuff like “you break this and it costs me $30,000” as if he owns everything. He’s just... one of THOSE people. Always speaks in such a condescending way. We make jokes that he is our “best friend”.
Our company is shifting most of our products to the cloud in response to the coronavirus (trying to make it an opportunity for “innovation”). This has involved some structural and responsibility changes in our department, and long story short, I’m now heading the OpenStack environment alongside other projects.
This means going through grueling 1-on-1 meetings with our “best friend”. It’s not too bad, I can be pretty patient with people, so I didn’t mind too much at first. Then a few things happened.
1. He sent a shared folder that he owned containing info related to the environments. Several documents were outdated and incomplete, so I downloaded them, corrected them, and then uploaded the documents to my teams file share, as I was supposed to since we now own the projects.
2. Several files were missing, and when I asked about them, he said “Oh, did you refresh the browser?”. I told him no, that I downloaded them locally and republished them to my teams server, because he was supposed to hand everything off to us at once. He says “Well, silly, how are you going to get updates if you’re looking at them locally?” and kind of chuckles at me like I’m stupid.
3. He insists on training me how to remote into one of the servers to check on cluster space, which in itself is fine. I understand others wanting to make sure things will be done right by the people who come after them. But he tells me to download SuperPutty. I tell him, “oh no, that’s alright. I don’t need putty”. He says “oh cool, what tool do you use for ssh?”. I answer him “Just Git. If I want to I can use a CentOs bash terminal too, because we have WSL installed”. He responds “You can’t ssh through Git”.
I was actually a little shocked. I didn’t know if he was serious or not so I was silent for a few seconds before hesitantly saying “yes you can”. He says “this is news to me” and I so I tell him “every single one of our build jobs fetches code from Git with ssh” and he seemed genuinely shocked and surprised by that.... so then it occurs to me to show him that you can ssh in Powershell and that REALLY blew his mind. He would not shut up about it for several minutes. I was amused until it just got annoying.
Needless to say, my team had been previously teasing me about having to work with him, so they found it hilarious when I told them afterwards.8 -
Alright, i'm fucking done.
Fedora: Packages are self-referencial, using the system is like sprinting through a fucking minefield.
Linux Mint: "lol just don't update packages on the repo because shit can't break if it never updates! Don't add custom repos either or we'll just fucking break your PC."
Debian Raw: "We have all of 5 packages on our repos and GPG is fucking broken so you can't add more repos."
Arch: "Have fun modifying the boot disk for 30 hours so it'll boot, and let's tack on another 30 to make it install properly."
Gentoo: "LOL what is swap. Let's just pipe garbage into this partition as fast as the disk will let us for literally no reason. I'm sure you can still use the system for all of 30 minutes, at which point your SSD will give out. No big deal..."
when did Linux go to shit?
Windows isn't any better without billions of tweaks and then a build upgrade (in that order specific) to make it run properly.
Nor is OSX, as it runs on the model of "lol gotta hack your own PC to run custom unapproved binaries!"
Fuck it.
I'm installing DOS.52 -
So I have to fix this motherfucking insane regex with over 1k chars in it ...
This fucking shit is not maintainable and there are no comments or any other sort of documentation.
And this bullshit was not build via code so that bastard wasted weeks of time to develop that shitty expression by hand on a online regex tester website.
So I have 3 options:
1. Reverse engineer everything and waste my precious time
2. Delete that shit, analyze the input and write the regex via code instead of creating it by hand
3. Look for that "super duper clever" dev and break his legs.
I think option 3 suits me best.
And for you dear reader, if you are regexphile, enjoy this gigantc regex with >16k chars:
http://madore.org/~david/weblog/...7 -
So the team I work on has this giant blue alien doll, the "build break" doll. You break the production build, you get the doll until someone else breaks it. I was wondering if some of the other devs have some fun things they do with their team. ^-^8
-
Blabbering co-worker rant.
So this bonker who speaks non-stop for 15 minutes without even a breather break is more annoying than I thought.
1. She used to work for a project A and then they moved her to my project. She kept cribbing she wants to continue working on A because that's where her expertise are. So management hired a new team member so she can continue on A and new member can work with me.
Now next week, the new member is joining us. As we prepare the onboarding plan, bonker comes crying that she wants to work on my project and NOT on Project A. She is forcing us to give Project A to new team member.
Manager upfront rejected her proposal and told her that she'd be working on A.
2. She literally gives orders. Her tone is rude and blunt. The other day ordered me to review her presentation and kept following up even when I said I was busy. Same tone and attitude with manager.
Then she complained about my behaviour saying I was a bossy person even when I used the most polite tone (because I have actively worked on and built my social skills).
3. Knows shit about the product, has no skill set, asks the same question 10 times, and isn't able to deliver bare minimum.
And then evidently everyone follows up with me because I am on top of everything (because I have to as bonker can't function).
4. She lied to me that company gives good hikes and easy promotions.
She was kicked out of her previous project because of her incompetency.
Fortunately or unfortunately, my manager saved her ass. But she literally is the most stupid person I have worked with me in my entire career.
5. She has no communication skills, something that is highest valued skill in my profession. And when I do my normal, it pisses her off. She keeps complaining that I am overstepping.
If I don't then product will just fall apart and everyone might get fired because of no work.
And that is causing her insecurities and she starts fear mongering about both of us being fired.
I told our manager upfront that I want to lead the product and she was more than happy about the proposal. What sucks is that my manager is leaving this month end and I'll have to build trust with my new line manager.
Ugh!! She is annoying..8 -
Past two days one of the senior devs has been complaining to anyone who will listen about a UI assembly containing 'hard-coded' references to a third party component causing several builds to break. The developer who added the telerik component probably had no idea the reference is pointing to his personal directory instead of a relative path. Easy fix? Uh...yea...but he just ranted to our boss for about 10 minutes about he has no idea how to fix the problem and the TFS build failure holding up his other projects.
WTF!? You fracking know what the relative path is!...just fracking change it and move the frack on.
The drama this drama-queen keeps spewing out is driving me out of my mind.3 -
Who am I?
Some of you, because of the hyperbolic, outrageous, trollish, and often self-satirical nature of my posts, might doubt me. Thats completely relatable.
Heres the truth:
I was diagnosed in childhood with ADHD, fucking everyone, every male, these days is diagnosed with that. I was diagnosed bipolar. Hell anyone reading my posts could see that from a mile away. I was diagnosed on the borderline personality spectrum. Yeah, I could see that.
I was tested. They said I was in the 98th percentile for clerical ability, not extraordinary but pretty good, mathematical ability a little higher than that. My SAT was 1491. Not yale material, but I coulda been someone.
Over the years I studied a LOT of politics and read a metric fuckton of books. (40+ books over the course of three years).
I predicted every single presidential election since bush juniors second election. Three supreme court picks. Senatorial elections. Congresional elections. More than that.
I have a better analysis track record than some of the multidecade analysts sitting in the fucking NSA.
No I am not shitting you. No I am not exaggerating.
It's about the only claim to fame I get to legitimately make.
People ask me, "then why aren't you famous?"
How do you know I'm not.
Look I'm gonna tell you my actual name.
My real name is Lawrence B. Lindsey
Okay, I'm bullshitting for fun. But words I have written on alt twitter accounts have legitimately come out of presidential hopeful's mouths. No, this I am *not* bullshitting you about.
Imagine that. A guy who lived in his parents attic for five years, writing words that came out of presidential candidates mouths.
At one time I was about as popular and influential as that fuckboy catturd.
yes, really. No I am not fucking joking.
Under normal conditions I wouldn't talk about this or reveal it, because who the fuck cares? I'm just some dude on the internet, drunk, both on alcohol, and the pseudo-anonymous equivalent of bragging rights.
You know how many women I turned down because I could? You know how fucking drunk I am? They say a drunk man's words are a sober man's thoughts. Well, I'm not usually honest like this because the internet is full of false braggarts, and you tell people the truth and they don't fucking believe you.
I swear, it seems like I made some faustian bargain at some time, and can achieve no fame or lasting wealth in my life--to save my life.
Shit, I was talking to a chinese women who ran a bank in china (yes, really), who advised me to buy into bitcoin early on. Didn't have the money to. Woulda been a fucking millionaire if I did.
*Non-obvious* Ideas that major corporations are now persuing? Yeah those were sitting in my card index since the early 2000s.
I helped two people build and sell businesses. One for me tens of thousands. Another for millions. Yes, really. Got zero, and I mean, *zero* credit for it.
Point is, doesn't matter how famous you are, or coulda been, Doesn't matter the ideas you have, or had.
The world doesn't promote runners-up, or hasbeens, or wannabes, or could-bes.
What matters is execution.
If you're wandering through life, wondering when you're lucky break will be, stop. You have to realize, you make your own luck. Recognize the difference between what you can control, and what you can, and work on promoting your own ideas or business or values, instead of other people's dreams.
And for those wondering, yes I am drunk, and no, I ain't fucking kidding you in anything I wrote here.
The most important lesson I learned is this:
First work on your own success, before you work on the success of others.
p.s.
I give surprisingly good advice for someone who doesn't benchmark well on traditional measures of success. I know, even I was shocked when I looked at the statistics.32 -
Okay so I have been a consumer of devRant for a while now but never posted anything. This is my first.
So yesterday I modified an existing method(some very minor changes!!). Today after coming to the office I see that I have comments from Sonarqube stating
"Reduce cognitive complexity from ** to 15.
I get that it is a good measure to maintain readability but this refactoring is not part of my change at all and any mishap can break the whole code base!!!.
My code even won't build because of this company restriction that there should not be any issues from Sonarqube.
I really want to bash my head against the wall right now.10 -
Annoys me so much how obviously lazy my department has been with one of its products. We have an iPad app that does document management and eForms and stuff. Its not perfect but not the worst. Then they decide they need to build an app to handle a specific kind of eForm. They just went "well this app already does eForms so lets just adapt it".
Worst. Decision. Ever.
the app is simply a branch off the original app. despite being a completely different product which isnt even concerned with the same business objects. it has been hacked until it does what it needs to. And i have to somehow maintain this trainwreck.
As a result we have a branch in our main Git repo that contains a completely different product, which is basically an iOS wrapper for an HTML eForm with ~5000 lines of jQuery to further hack on the functionality that the eForm provides.
And they wonder why iOS developers have been leaving and some keep threatening to leave. Even the Delivery Manager wants us to just do what is needed and get it out the door and never look at it again. How are we supposed to care when thats the attitude of the people who are supposed to be invested in it. Im surprised the client hasnt told us to get lost the app is so hideously broken and unmaintainable. Performing an action on the form can break a completely unrelated section somewhere else. We have lost control.
And they just keep adding more scope, ignoring our concerns cos hey its too late to just start changing the whole approach of the solution. -
rant!
As a web dev i really hate half assed solutions
Especially when I'm forced to spend time making them because some stupid sales person sold certain features that our current product doesn't support.
At the end of the day that sales guy gets a commission and I build something that will inevitably break somewhere in the future.1 -
Built a C#/.NET application with support for a serial device. Tested it on systems A, B, C initially, all Windows system, same .NET version, same targeting, same build tool version, same initial connection configuration etc, etc.
Testing - works on A and C, B nopes.
...
OK, let's check the source, is there something about B that makes it impossible to execute that bit? - No, there is not, you checked that already, stop poking around, it definitively should work on B.
...
OK, maybe admin privileges, there is I/O involved, didn't need that on A and C, but who knows - nope, doesn't work on B.
...
OK, maybe something wrong with the connection settings? First try at reinstalling driver - but no, it doesn't work on B.
...
OK let's try with another device - more/less devices on B. Other USB ports. No. Still does not work on B.
...
OK, this is stupid, but, is the cabling alright? It is, of course it is, stupid - but it still does not work on B.
...
OK, at that point I'm just gonna ask a colleague, GrumpySoftwareDev whether he has any clue why it doesn't work on B. GrumpySoftwareDev knows nothing, but discovers that one of his applications doesn't work on Windows 10. You know nothing, Jon Snow, but it doesn't work on B.
...
OK, now I'm just going to ask another colleague TheLastOfHisKind who handed B down to me somewhat bluntly if he ever experienced problems when working with B and its serial configuration. TheLastOfHisKind tells me he does not and kindly offers me some input on the situation. Still no progress to get it working on B but he hinted he might have fucked up B's driver. I already reinstalled the driver but didn't reboot, which comes after reinstall.
...
OK, I'm just gonna remove and re-install the driver, then restart. Hu! Now the UI is gone but another serial device reacted on a general call. Not fully working on B but we're getting there.
...
OK, I don't know, I'm getting frustrated, let's borrow another system D - which has roughly the same configuration as B - from my colleague StrongCurrentGuy. StrongCurrentGuy borrows me his system and cautions me not to break it. I install the driver, plug the device and copy the application from B. It just works on D. Not on B though.
...
OK, you know what. I'm done. For shits and giggles I'm gonna remove that driver again, reinstall it and restart, maybe it'll magically work afterwar- WHAT THE HELL, I JUST OPENED IT AFTER RESTARTING, IT JUST WORKS - ON B!
... seriously, what the fuck. But yeah, at least it works now.4 -
Can't believe it's 2021 and building websites is still such a pain..
Do we really need to build a login page every time? have a refinement session to break it down to tasks?
("Oh right, we need a forgot-password link!")
Can't the damn thing align and look the same on two/three browsers?
2008 problems for life...6 -
Aaarrrrghhhh! I am frustrated.
My manager keeps cancelling our 1:1, which I look forward to as a potential platform for
- Me to build a rapport
- Discuss key decisions
- Slowly gain her trust that I can lead the entire product
And whenever we connect once in a blue moon, she started inviting two other team members in. Who the hell does that!!!
My colleague, she is nice and hard-working. But she fucking talks a lot. A FUCKING LOT.
1:1 and such key connects are not meant for status updates and this colleagues goes into every minor detail and explains the shit for 15 minutes each. Non-stop. No one really cares or bothers for that level of statuses.
Today she spoke for 30 minutes without a breather break. Everyone went numb.
But whatever, fuck it. I am getting things done by her so let her talk. I'll get my way through manager and skip level guy.
On the other side, they recruited a half witted potato for training. That was completely unnecessary. I am not putting in my time and efforts on someone who isn't willing to learn and contribute.
I spent more than a week explaining her basics of how to write a god damn user story and detailed functional requirements.
And even after 5 rounds of feedback (45 minutes each) the potato is stuck on colour of the button and alignment.
GOD DAMN FUCK! SOMEONE KILL ALL THE MORONS WHO CANNOT UNDERSTAND BASICS AFTER SO MUCH EXPLANATION.
I was really an impatient guy in past but over the years, I developed to be more calm and forgiving. Yet some people manage to get on my every nerve.
How the fuck am I supposed to grow when I am being dragged down instead being with smart colleagues where we can just accelerate to success!!!!1 -
In school we got asked 4 our future jobs. I saif: im gonna get informatician, because im already really good at it... Look, i can evem build compilers... In the break, my friend: could u program a game, dude? Me: no, im not using a graphical environnement. If i wanted to i would have to learn unity or flash or some sort of game engine He: then, ur not an informatician, and u shouldnt get one either...
(hes a windows user)3 -
When you break the build because you committed the 7 .cs files you modified, but didn't manually "add" the new one you created.1
-
IKEA small Filur container might be the best IKEA product ever produced. Why?
- it's ridiculously compact for its volume
- it fits the standard grocery bag just perfectly allowing you to reuse old grocery bags as trash bags
- when closed, it creates almost airtight seal without using any gaskets
- it's absolutely overbuilt and ridiculously strong
Why is it so strong? You see, the wall thickness along doesn't matter, but the wall thickness to volume ratio does. If you decide to build a house with the same wall thickness out of same material, it would collapse under it's own weight.
But the wall thickness to volume ratio of this very container allows it to be possibly the strongest IKEA product ever. As a matter of fact, the walls could be three times thinner also rendering the container perfectly usable. Also, this kind of plastic bends but doesn't break. Also, the lid alone has 38 FUCKING stiffening ribs.
Also I like the color and the office vibe the whole thing radiates.
Totally get your hands on one. You won't regret it.12 -
Hmm...recently I've seen an increase in the idea of raising security awareness at a user level...but really now , it gets me thinking , why not raise security awareness at a coding level ? Just having one guy do encryption and encoding most certainly isn't enough for an app to be considered secure . In this day an age where most apps are web based and even open source some of them , I think that first of all it should be our duty to protect the customer/consumer rather than make him protect himself . Most of everyone knows how to get user input from the UI but how many out here actually think that the normal dummy user might actually type unintentional malicious code which would break the app or give him access to something he shouldn't be allowed into ? I've seen very few developers/software architects/engineers actually take the blame for insecure code . I've seen people build apps starting on an unacceptable idea security wise and then in the end thinking of patching in filters , encryptions , encodings , tokens and days before release realise that their app is half broken because they didn't start the whole project in a more secure way for the user .
Just my two cents...we as devs should be more aware of coding in a way that makes apps more secure from and for the user rather than saying that we had some epic mythical hackers pull all the user tables that also contained unhashed unencrypted passwords by using magix . It certainly isn't magic , it's just our bad coding that lets outside code interact with our own code . -
I am just sick of the things that's been going on.
Joined a mid level startup as full Stack developer working on angular and node js . Code base is too shit and application is full of bugs(100+ tickets are being raised for bugs)
Since the product owner(PO) wants to demo the application he is pushing for bug fixes.
UI code:
1. Application is not handled for responsiveness all these years, it is now being trying to address. Code base is very huge to address though .
2. The common reusable components of UI has business logic inside. Any small change in business logic we are forced to handle in common components which might break up on another components.
3. Styling in 40+ components are made global. Small css change in component A is breaking up in component B due to this
4. No time to refactor.
5. Application not at all tested properly all these years. PO wants a stable build.
6. More importantly most of developers have already left the company and we are left with 2 developers including me.
I am not in a position to switch due to other commitments adds up a lot to frustration11 -
Ive been sitting here, trying to do VERY basic shit in angular (hiding elements and api calls), and after downloading 5 additional node modules that break my "build" (its not a fucking build, this is an interpreted language), im confident to say, fuck angular.4
-
i hate linux like a lot , how do you guys use it
like you guys dont want an advertising ID, how the fuck will advertisers know who you are and what you like?
open source , give me a break, you mean your os devs are soo untrustworthy that you just have to see what they wrote in the code, who does that?
free come on, how poor are you linux people, i mean, quality stuff gets paid for, free stuff just means it's trash
and the linux devs , the aint like real coders they are just hobbysts, making your os in their free time
and who wants to install their own software anyway, on other platforms the company curates restricted software that you can use, and i know you'll say its oppressive but its just customer protection.
and i do want my platform to track everything i do, it only helps them build better stuff for me.
and whenever they decide to outdate my hardware and kill support for it, it only means they care and want me to get the latest tech, how considerate.
wait , i hear you say, there are no bugs in linux, my vendor makes sure my os comes with the latest antivirus software, nothing can break my system.
and just because linux runs on servers and most super computers only shows that common users like you and me are ignored, at least my vendor is not a sellout, and still makes stuff for the masses.
you say freedom i say safety i can sleep safe and sound for am protected nutured under one echosystem of software that i can not leave.20 -
My lessons both come from my current side project (I will share it with you in a week or two, the website isn't finished yet):
1. Every project comes to the point where it hurts to continue. Keep pushing, the result is worth it.
2. You aren't as good as you thought you were when you started, but you'll be better than you ever were when you finish.
3. Sometimes, there's more points to a list than you'd expect.
4. One hour per day is easier than five hours a week.
How?
Well. I started out my project knowing some C#, but Jack shit about unity. I know most of what I might build will end up being shit I'm gonna regret, refactor and recycle later. But I don't give a fuck. Doing it is better than planning it.
It sometimes hurts to get rid of a carefully planned algorithm that took hours to build because it fails in practice. But it's the right thing to do.
Never plan too much. If I'd have planned this project out, I wouldn't even have started with what I'm good at: write code, break shit and experiment.
It's easier to progress slowly but steady. Look at some awesome games that have been worked on for ages while the public had their say (RimWorld, Project Zomboid, Dwarf Fortress...) as opposed to those that are developed behind closed doors and rushed to the market before Christmas or some other major event (Mafia 3, Fallout 76, Fallout 4 VR...). Progress slowly, deploy early, push often. And the one hour per day approach is a good way to do this. -
Google, will you ever manage to fix YouTube so it actually doesn't fucking break every day?
This "feature" where the page doesn't reload when I click reload is neat until I want to, you know, reload to see new content. Or reload because you failed to load a single video thumbnail. But no, you managed to combine the shit of both worlds and give me a loading progress bar and then don't change anything.
Also YouTube is the prime example why you don't try to reinvent text input fields. I can't remember a single instance in the last 5 years where the comment fields didn't have at least one weird bug.
Why do tech companies build the shittiest websites?10 -
My God is map development insane. I had no idea.
For starters did you know there are a hundred different satellite map providers?
Just kidding, it's more than that.
Second there appears to be tens of thousands of people whos *entire* job is either analyzing map data, or making maps.
Hell this must be some people's whole *existence*. I am humbled.
I just got done grabbing basic land cover data for a neoscav style game spanning the u.s., when I came across the MRLC land cover data set.
One file was 17GB in size.
Worked out to 1px = 30 meters in their data set. I just need it at a one mile resolution, so I need it in 54px chunks, which I'll have to average, or find medians on, or do some sort of reduction.
Ecoregions.appspot.com actually has a pretty good data set but that's still manual. I ran it through gale and theres actually imperceptible thin line borders that share a separate *shade* of their region colors with the region itself, so I ran it through a mosaic effect, to remove the vast bulk of extraneous border colors, but I'll still have to hand remove the oceans if I go with image sources.
It's not that I havent done things involved like that before, naturally I'm insane. It's just involved.
The reason for editing out the oceans is because the oceans contain a metric boatload of shades of blue.
If I'm converting pixels to tiles, I have to break it down to one color per tile.
With the oceans, the boundary between the ocean and shore (not to mention depth information on the continental shelf) ends up sharing colors when I do a palette reduction, so that's a no-go. Of course I could build the palette bu hand, from sampling the map, and then just measure the distance of each sampled rgb color to that of every color in the palette, to see what color it primarily belongs to, but as it stands ecoregions coloring of the regions has some of them *really close* in rgb value as it is.
Now what I also could do is write a script to parse the shape files, construct polygons in sdl or love2d, and save it to a surface with simplified colors, and output that to bmp.
It's perfectly doable, but technically I'm on savings and supposed to be calling companies right now to see if I can get hired instead of being a bum :P19 -
This app seems to be mostly web developers so I have a question that will either spark interesting discussion or a blood curdling flame war. Either way:
I'm trying to build a blog site for myself. I'm not a web developer, for the most part I write C software, but I have written web software before. I want to write it, not use a CMS. What are some techniques and tools I should be aware of, so I don't break my keyboard in frustration?11 -
Achievement of the day:
Reverted a merge from 3 weeks ago (about 30-40 commits back), 1000 ish LOC. Didnt break the build, app worked 100%.
Can't shake the feeling my desk will literally be on fire tomorrow tho. -
OK Mr CEO/President whatever self aggrandizing title you want to call yourself today, where the fuck is your spine! You want to have support help boost your sales but don't tell sales that you are letting support handle some sales and sales is mad. Now you are quivering under the thumb of the Lead of Sales. What the hell. You are the leader of this company.
Why did you not stand up for your decision to begin with? I'm not going to get into whether or not it was good, but if you are going to make a decision to experiment with new things fucking stand by it and let everyone in the company know.
You've exacerbated the division between departments and ton this company further apart. If you don't start standing up for things, you are going to destroy all that you've helped build! Furthermore, I will not simply be your loyal vassal and watch all the people doing support for my products get fucked over. I will leave you high and dry if needed. I really hope you don't make it needed. You gave me a great shot to be honest, I'd hate to have to turn my back on you in anger. But don't think for a second I won't do it.
Your entire programming department has also been put in the cross fire of a fight you just made so much worse. You are the only one who can clean this up. Are you going to stand up for us? Are you gonna stand up for your self? Or will you just break and show us where the real power lies? We will find out soon.2 -
Co-worker: "I'm getting files from customers which are in multiple types and encodings. Is there a way to force them to send only us-ascii so my tool gets only one kind which is easier to parse?"
Me: "Welcome to programming with arbitrary sources; you'll just have to build your tools to figure it out and not break (just rely on dozens of existing tools which you refuse to use)"1 -
if i work on PussyBranch to build up a feature, and DickBranch is my main branch so if i merge directly from Pussy into Dick and then work on Dick, and then switch to Pussy again then surely i wouldnt be able to commit to Dick because Pussy isn't filled up with the new code, right? I'd need to pull the latest code from Dick into Pussy branch. but what if i dont want to merge Dick into Pussy code? because what Dick contains, Pussy should not and that would cause anomaly and break uhh how do u call it, the purpose of the branch itself right. So if I want to work only on Pussy and commit just that segment of the new code into Dick, how do I do that? Do i have to force pushing Pussy code into Dick every time or can i do it without force command? serious answers only pls
also what alcohol is good for a more productive and longer hour coding sessions thx6 -
About slightly more than a year ago I started volunteering at the local general students committee. They desperately searched for someone playing the role of both political head of division as well as the system administrator, for around half a year before I took the job.
When I started the data center was mostly abandoned with most of the computational power and resources just laying around unused. They already ran some kvm-hosts with around 6 virtual machines, including a cloud service, internally used shared storage, a user directory and also 10 workstations and a WiFi-Network. Everything except one virtual machine ran on GNU/Linux-systems and was built on open source technology. The administration was done through shared passwords, bash-scripts and instructions in an extensive MediaWiki instance.
My introduction into this whole eco-system was basically this:
"Ever did something with linux before? Here you have the logins - have fun. Oh, and please don't break stuff. Thank you!"
Since I had only managed a small personal server before and learned stuff about networking, it-sec and administration only from courses in university I quickly shaped a small team eager to build great things which would bring in the knowledge necessary to create something awesome. We had a lot of fun diving into modern technologies, discussing the future of this infrastructure and simply try out and fail hard while implementing those ideas.
Today, a year and a half later, we look at around 40 virtual machines spiced with a lot of magic. We host several internal and external services like cloud, chat, ticket-system, websites, blog, notepad, DNS, DHCP, VPN, firewall, confluence, freifunk (free network mesh), ubuntu mirror etc. Everything is managed through a central puppet-configuration infrastructure. Changes in configuration are deployed in minutes across all servers. We utilize docker for application deployment and gitlab for code management. We provide incremental, distributed backups, a central database and a distributed network across the campus. We created a desktop workstation environment based on Ubuntu Server for deployment on bare-metal machines through the foreman project. Almost everything free and open source.
The whole system now is easily configurable, allows updating, maintenance and deployment of old and new services. We reached our main goal for this year which was the creation of a documented environment which is maintainable by one administrator.
Although we did this in our free-time without any payment it was a great year with a lot of experience which pays off now. -
!rant but kinda.
!dev but also dev
Hello, my name is ***** and I already had a few Old Fashions🥃
I've been chasing a big career and success since i was about 12.. the first 8 years of my career I did the same.
for the last two years i decided to slow down, I'm still keeping up with stuff and do a good job but I took a break from wanting to being the next Wozniak.
Im much happier and more relaxes now but I'm at a point where i really wanna do, be and achieve more..
My #1 goal in life is to build a family, having a wife and a few kids. (first gotta be able to talk to women though:/)
i have a very strong desire to have an impact on the world and society to build a life in which at least my (non existing) family could be happy and without worries. but i've no fucking clue how to achieve that. how to have an impact. i don't see a way as a software engineer anymore..
i feel lonely and lost without any fucking perspectives..
i feel like i was better off when i was chasing the big money..
i know dev rant is not the place to do this but i can't talk to my family and i wanted to share my emotions. been alone for 3 months now and it's also about my dev career, that's how i justify to post this to our community here😅4 -
probably every time I see my tests failing.
Each time I am writing tests I'm convincing myself "it's an investment", "spend 2 hours now to save 2 days later", "unit-tests are good".
And each time I'm chasing away ideas like "perhaps they are right, perhaps writing unit tests is a waste of time..", "this code is simple, it should ever break - why test it??", "In the 2 hours I'll spend writing those UT I could build another feature"
Yes, it is terribly annoying to write tests, especially after writing the production code (code-first approach). Why test code that you know works, right?
But after a few weeks, months or years, when the time comes to change your feature: enhance it, refactor it, build an integration with/from it, etc, I feel like a child who found a forgotten favourite candy in his pocket when I see my tests failing.
It means I did a very good job writing them
It means it was not a waste of time
it means these tests will now save me hours or days of trial-and-error change→compile→deploy→test cycles.
So yeah, whenever I see my tests fail, I feel warm and fussy inside :)2 -
Be me
Newb Ui dev
New job , learn c#
Become xaml pro first
Newb ui dev
Today building menu
It's breaking ree.
Ok I go through an fix
Part fixed
No reee
Commit build for other my senior dev
We have online compiler
Receive build fail
Reeee
My code is good
I'm sweating bullets
I call other dev
Yo I f***** up
Help me
Go figure it out ... reeee
I go spend 40 mins
Don't know what is killing build
Reeee intensifies.
Going to shit diamonds
Reeeeeee
Other dev, lol my bad I turned on somethin that break ur build. Your not fired congrats.
Reeeeeeeeeeeeee3 -
Fucking fuck sonarcloud and everything about it. Part of the build pipeline for us to deploy code is to ensure that 90% of the code is covered by a unit test. Great in theory, horrible in practice. You think you've written enough tests that actually add value and test a valid piece of functionality but NO, sonarcloud throws a fucking fit because you're at 89.888 then your branch is going nowhere. Because everyone else gets to this stage and writes just enough tests to get the coverage to 90.01% then it becomes a stand off of who will break first; the code coverage threshold or your mental state.4
-
I really really hope that no one post this,a friend texted it to me and I wanted to share it because made my day.
Idk where it comes, so feel free if know where this came from to post it:
//FUN PART HERE
# Do not refactor, it is a bad practice. YOLO
# Not understanding why or how something works is always good. YOLO
# Do not ever test your code yourself, just ask. YOLO
# No one is going to read your code, at any point don’t comment. YOLO
# Why do it the easy way when you can reinvent the wheel? Future-proofing is for pussies. YOLO
# Do not read the documentation. YOLO
# Do not waste time with gists. YOLO
# Do not write specs. YOLO also matches to YDD (YOLO DRIVEN DEVELOPMENT)
# Do not use naming conventions. YOLO
# Paying for online tutorials is always better than just searching and reading. YOLO
# You always use production as an environment. YOLO
# Don’t describe what you’re trying to do, just ask random questions on how to do it. YOLO
# Don’t indent. YOLO
# Version control systems are for wussies. YOLO
# Developing on a system similar to the deployment system is for wussies! YOLO
# I don’t always test my code, but when I do, I do it in production. YOLO
# Real men deploy with ftp. YOLO
So YOLO Driven Development isn’t your style? Okay, here are a few more hilarious IT methodologies to get on board with.
*The Pigeon Methodology*
Boss flies in, shits all over everything, then flies away.
*ADD (Asshole Driven Development)*
An old favourite, which outlines any team where the biggest jerk makes all the big decisions. Wisdom, process and logic are not the factory default.
*NDAD (No Developers Allowed in Decisions)*
Methodology Developers of all kinds are strictly forbidden when it comes to decisions regarding entire projects, from back end design to deadlines, because middle and top management know exactly what they want, how it should be done, and how long it will take.
*FDD (Fear Driven Development)*
The analysis paralysis that can slow an entire project down, with developments afraid to make mistakes, break the build, or cause bugs. The source of a developer’s anxiety could be attributed to a failure in sharing information, or by implicating that team members are replaceable.
*CYAE (Cover Your Ass Engineering)*
As Scott Berkun so eloquently put it, the driving force behind most individual efforts is making sure that when the shit hits the fan, you are not to blame.2 -
!dev
Childhood trauma has lasting effects and it's our own responsibility to identify them and break our barriers.
I have 2 projects, both of them are stuck because 1. Dependant on other team and I am not able to fix the setup of their service even after seeking help from them; 2. My setup of Android Studio started throwing error out of no where when I am low on time for merging the code to mainline, we need to perform QA and without my build working we might not be able to test a use case.
I have scrum tomorrow, I feel scared to tell this to my stakeholders just because I think they will think it's my problem. Something wring with me. As a child my father blamed me for the mistakes I didn't have any control over, again and again. Whenever I feel awkward in any situation I think that he must have said that how big of a dumb I am. How I don't have any brains to do anything. Those things still come to me. That's why I am scared, people will BLAME me for this. But I have worked on my capacity to solve this. That's it.
That's all that matters. I have seeked help already, now I need to discuss this with the management and not feel scared.7 -
A dev life in Queen songs:
„A Kind of Magic“ - Build successful
„A Winter’s Tale“ - Key Account Manager visits customer
„Action This Day“ - Release day
„All Dead, All Dead“ - System down
„Another One Bites the Dust“ - kill -9 4711
„Breakthru“ - 10 hour debuging session
„Chinese Torture“ - Microsft Office
„Coming Soon“ - Client asks for delivery date
„Dead on Time“ - shutdown -t 10
„Doing All Right“ - How's the progress on the new feature?
„Don’t Lose Your Head“ - git push -f
„Don’t Stop Me Now“ - In the zone
„Escape from the Swamp“ - Hand in resignation letter
„Forever“ - while(1)
„Friends Will Be Friends“ - friend class Vector;
„Get Down, Make Love“ - No rule to make target "Love"
„Hammer to Fall“ - Release day
„Hang on in There“ - 2 weeks until release
„I Can’t Live With You“- Microsoft
„I Go Crazy“ - Microsoft
„I Want It All“ - Google
„I Want to Break Free“ - free( (void*) 0xDEADBEEF );
„I’m Going Slightly Mad“ - Impossible feature requested
„If You Can’t Beat Them“ - Impossible feature promised by sales
„In Only Seven Days“ - Impossible feature ordered
„Is This the World We Created...?“ - Philosphic moments
„It’s a Beautiful Day“ - Weekend
„It’s a Hard Life“ - Weekday
„It’s Late“ - Deadline was last week
„Jesus“ - WTF?
„Keep Passing the Open Windows“ - Interprocess communication
„Keep Yourself Alive“ - Daily struggle
„Leaving Home Ain’t Easy“ - Time to get up and go to work
„Let Me Entertain You“ - Sales meets customer
„Liar“ - Sales
„Long Away“ - Project start
„Loser in the End“ - Dev
„Lost Opportunity“ - Job ad
„Love of My Life“ - emacs/vim
„Machines“ - Computer
„Made in Heaven“ - git
„Misfire“ - Unhandled exception at Memory location 0xDEADBEEF
„My Life Has Been Saved“ - Google drive/Facebook
„New York, New York“ - Meeting at customer
„No-One But You“ - Bus factor = 1
„Now I’m Here“ - Morning rush hour
„One Vision“ - Management goals
„Pain Is So Close to Pleasure“ - NullPointerExcption
„Party“ - Delivery completed
„Play the Game“ - Customer meeting inhous -
„Put Out the Fire“ - Support hotline
„Radio Ga Ga“ - GSM/GPRS/UMTS/LTE/5G
„Ride the Wild Wind“ - Arch Linux
„Rock It“ - Linux
„Save Me“ - CTRL-S/CTRL-Z
„See What a Fool I’ve Been“ - git blame
„Sheer Heart Attack“ - rm -rf /
„Staying Power“- UPS
„Stealin’“ - Stack Overflow
„The Miracle“ - It works
„The Night Comes Down“ - It doesn't work
„The Show Must Go On“ - Project cancelled
„There Must Be More to Life Than This“ - Philosophic moments
„These Are the Days of Our Lives“ - Daily routine
„Under Pressure“ - 1 day until release
„Was It All Worth It“ - Controlling
„We Are the Champions“ - Release finished
„We Will Rock You“ - Sales at customer
„Who Needs You“ - HR
„You Don’t Fool Me“ - Debugging session
„You Take My Breath Away“ - rm -rf /
„You’re My Best Friend“ - emacs/vim4 -
Tl;Dr Im the one of the few in my area that sees sftping as the prod service account shouldn't be a deployment process. And the ONLY ONE THAT CARES THAT THIS IS GONNA BREAK A BUNCH OF SHIT AT SOME POINT.
The non tl;dr:
For a whole year I've been trying to convince my area that sshing as the production service account is not the proper way to deploy and/or develop batch code. My area (my team and 3 sister teams) have no concept of using version control for our various Unix components (shell scripts and configuration files) that our CRITICAL for our teams ongoing success. Most develop in a "prodqa like" system and the remainder straight in production. Those that develop straight in prodqa have no "test" deployment so when they ssh files straight to actual production. Our area has no concept of continuous integration and automated build checking. There is no "test cases", no "systems testing" or "regression testing". No gate checks for changing production are enforced. There is a standing "approved" deployment process by the enterprise (my company is Whyyyyyyyyyy bigger than my area ) but no one uses it. In fact idk anyone in my area who knows HOW to deploy using the official deployment method. Yes, there is privileged access management on the service account. Yes the managers gets notified everytime someone accesses the privileged production account. The managers don't see fixing this as a priority. In fact I think I've only talk to ONE other person in my area who truly understands how terrible it is that we have full production change access on a daily basis. Ive brought this up so many times and so many times nothing has been done and I've tried to get it changed yet nothing has happened and I'm just SO FUCKING SICK that no one sees how big of a deal this. I mean, overall I live the area I work in, I love the people, yet this one glaring deficiency causes me so much fucking stress cause it's so fucking simple to fix.
We even have an newer enterprise deployment. Method leveraging a product called "urban code deploy" (ucd) to deploy a git repository. JUST FUCKING GIT WITH THE PROGRAM!!!!..... IT WAS RELEASED FUCKING 12 YEARS AGO......
Please..... Please..... I just want my otherwise normally awesome team to understand the importance and benefits of version control and approved/revertable deployments2 -
Just my luck that I get the best wk76 story ever on wk77. Either way:
So some of you may know that the current project I am on has some shared code components with one of the other projects in the product line. And we have some differences in our processes. This leads to a lot of fun.
So, I was working on converting one of our shared components into a more modern language. It would save us time, money, and sanity by allowing us to more easily maintain our product. Sounds like a win-win right? That's what I thought. Until I had a meeting with the other team. THEN THE QUESTIONS ROLLED IN. Well who is going to integrate our product with yours? (You?) Are you changing the interface? (Not really.) Are you going to generate a design document? (Absolutely not especially since the interface isn't changing for the most part.) Well you are changing the type of one parameter in one method from an undocumented unmanaged type to a well documented managed type that we control. Shouldn't you generate a document to document that change? (Again absolutely not.)
So first they basically browbeat my lead into putting me in charge of their integration effort. Its fine though, as they gave me an account to charge. However, when I was finally able to get a machine with their build environment on it (at least two months later), they then told me that that account was closing and I had to wait until next quarter. So fuck me right. And because of their process I would break them if I were to check my changes in.
So fast forward to today. They are translating some shared components for the same reason that we are. However, they are changing code that while shared is technically "ours" and that will DEFINITELY break us if they do this work since this is the code that controls our algorithms. And while we have a fault tolerant process, or at least more fault tolerant than the other group's, we are currently doing a huge amount of development in the part they want to change. And when we ask them "who is going to do this work to integrate our product with your changes?" they stare at us slack jawed. Like "um, you right? it doesn't affect us." Like MOTHERFUCKERS!!! YOU LITERALLY JUST FOIST ALL THIS WORK ON US TO INTEGRATE WITH YOU BECAUSE YOU DIDN'T HAVE THE PEOPLE TO SUPPORT IT!!! BUT YOU CAN PAY THIS GUY FOR SIX MONTHS TO DO ALL THIS WORK THAT WILL BREAK US BUT CAN'T SPARE HIM TO INTEGRATE WITH US!?!?!? EVEN IF WE'RE PAYING HIM AND NOT YOU!?!?!
I will let you know how this goes when we have the discussion. I am drinking right now because it it easier and better for my emotional and physical health than bum fights. -
CoWorker: so when are you going to be out?
Me: taking 1 week off Oct 1. I need a break from production issues and all these critical tasks...
CW: ah OK yea, you deserve it. So where you going?
Me: well I'm planning to just stay home unless the weather is really nice. I'm going to try React Native to build a mobile app and maybe look for some open source projects... O yes gotta look into my investments too...
CW: Oohhhh... Ok.... (We go on talking about Trump and why somehow the markets haven't crashed yet...)2 -
Spent 2 hours wondering why Unity Engine sees my 2 joysticks as Joystick 1 and Joystick 5 (or 6 depending on a UBS port).
Turns out, for some reason, Unity remembers ALL the ports that were ever used (even with the usb extender). That's documented...exactly nowhere. Ok, at least I figured that out, but what am I gonna do about it? Nothing, there's no way to change the order.
So after a quick nervous breakdown, and a cigarette break, I decided to build and run the game, just to see how it looks, and...what's this?
Everything's working! Unity removes all the joysticks from it's array and puts only active ones in the right order and that too is documented...NOWHERE!
Ugh... Unity I still love you, but god damn, GET YOUR SHIT TOGETHER!!!
Needless to say, this day is an emotional roller coaster.1 -
So we started a new Unity video game project for mobile in June 2021. Hooray!
Being a mobile project, one of the earliest things we think about is scaling the interface across all sorts of device screen resolutions and aspect ratios, right? Well, to preemptively solve this problem early on, I decided to letterbox the game view - just choose one aspect ratio for the game and pad black bars to the sides of the screen. Simple, solves the game's world space problem without trying too hard, and it automatically adapts to Android's split-screen mode.
I showed the early builds to management as well as game design team and they gave me some general nods. Sounds like green light ahead. I spent the next few months building the game logic and scale the UI around a consistent letterboxed game view. If you had experience scaling Unity UI to a letterboxed area, you should already knew that it takes a whole paradigm of its own that's kinda hard to break out of, but the fact that it stays consistent across all screen aspect ratios is so worth it. Regardless, the biggeer benefit of letterboxing is simpler world space setup. You don't worry about whether this particular area will be overflowed horizontally or vertically in a particular device or not. You have a 9:16 window to view the world through, nothing needs to move at runtime and that's about it.
Fast-forward to early September 2021 and 40+ builds later, the GD started having concern that the playing area is not filling up his phone screen and that the letterboxes are bothering him. He wants to get rid of the letterboxes and wants the game world as well as UI to fill up his screen.
Yes. After 40+ builds, for all of which the letterbox was present, nobody in the project raised a concern about the letterbox. It's only NOW that they all of the sudden side with the GD and demand the removal of the letterbox. I feel like almost half of my effort on this game has been wasted. These clueless guys didn't spend one second looking at the early builds thinking of the possibility that the black bars at the top and bottom of their phone screens (which I repeat: has been around since the very first build) is gonna bother them? Somebody must be playing a cruel joke at this company. They had all the chances to bring this up as a potential issue and TODAY is the first time I hear of it.
See, designers. You waste our time and your time by doing this kind of thing. Please raise your issues early. Complain to us ASAP. If you wait for so long before raising an issue that has been in-your-face the whole time, I can't fault any developer for assuming you're trying to play a long prank. I can tell designers right now: it's not funny.1 -
If you are the lead developer on a big project, and you want your developers to not hate everything about this project, for the love of God please at least have a build server (it doesn't even have to run tests) and make sure your constant screwing around with Maven doesn't break the build for everyone else.1
-
## building my own router
I hoped things would go more smoothly :)
Anyway, my new miniPC easily accepted CentOS 8 - no fuss here. And I've got to say - I love CentOS8 so far! Shell has amazing nifty tricks, UI (gnome3) is also snappy, video/audio/ethernet,.. everything works.
What I did NOT expect is hardware being off. Well okay, the price was low - it was obvious smth is not right. But still.. I decided to build my own router so that I could swap wifi card whenever I want. So that I could run my own network services in there. Turns out - the card swapping is not as easy as one might think.
I got the AX200 WiFi6 card for that very purpose. But once plugged in the OS can only see it's bluetooth module. Weird... What's even weirder is that even though the card is PCIe, the OS uses btusb module to talk to that device. What? USB?? emm.. What??
And there it is. After opening it up again I noticed that the mPCIe area is marked with a label: "USB WIFI / WWAN". USB? Does that mean this PCIe slot is wired into the USB bus? Not impossible I guess.
Googling for a "pcie wifi over usb" or smth like that brought me to one reddit (I think?) where someone wanted to build a DIY wifi mPCIe -> USB adapter and someone else adviced hime that (for some reason) at best he could only get bluetooth working (hey! just like me!). It's got to do smth with pcie channels and USB being too weak to handle all that load, or smth.. IDK, I'm not a HW guy.
Well that sucks then! I have a mPCIe slot that does not work as a PCIe. Shit! So I guess the best I could do is to plug back in the same wifi card that came with the device. It smells like 2003 - supports only g protocol. Fine, let's try that. Maybe I'll find a way to work around this mPCIe limitation later on (USB adapter or smth... except there are no USB WIFI6 dongles yet :( ). So I plug it back in and start turning it into a router. Disable NetworkManager, configure static NCs' settings, install dhcpd, hostapd, bind and others. Looks like all is done! Now it's time to start it all. systemctl start hostapd --> FAILED. wtf? journalctl says it could not initialize a driver. umm okay? Why? Forums say I should airodump-ng check and kill whatever's using that device. Fine. airodumo reveals avahi and wpa_suppl are still using it. kill, kill, GOTTA KILL 'EM ALL!! Starting hostapd again -- same shit... wtf?
iw list
My gawd... That shitty network card does not even support AP mode :( I mean.. My USB wifi dongle for 2€ supports 2x more modes, is faster, has better range and is easier to work with than this old tart!
Yeah. That was an interesting day. When enfironment engineers break my testing environments at work I'm glad I have where to spend my time now.
BTW any ideas how to bypass this mPCIe nonsense? Come on, there are USB GPUs out there.. Why can't they make a USB (or dual-USB if they really need to) mPCIe adapter?8 -
Listen dude I get it, you've been in more of a Systems Admin role for a long time, you haven't really worked on a devlike team.
I can be patient I can be understanding. But when you break the build you need to fix it.
Yes I know you didn't change any of the files that are now failing, but you the pipeline is no longer deploying and so we can't fix anything.
Okay dude we are being prevented from deploying because you broke the build, you need to fix it. It's stopping everyone else.
DUDE FIX THE FLIPPING BUILD EVERYONE IS WAITING FOR YOU TO FIX THAT!
Seriously I know we should be patient with people learning new things, but some days it is difficult.5 -
If you just want to answer my question, skip to the bottom. For those who cares, some backstory:
So...I seemed to have finally caught a break; a friend of my dad owns an IT company and also makes websites...used to. It was becoming too much for him alone so he decided to discontinue, but that's where i come in. We talked a few days ago and it sounds like I'm finally going to have a decent dev related job--even if it's only mainly websites, at least I can work from anywhere once the ball starts rolling since I'll just get direct deposits. Meaning I'd be able to visit my gf in Florida and sustain myself over there while I look to build my own client base or even get a job offer, who knows?
For you guys and gals reading this, what's your favorite/preferred static site generators and css frameworks? I know that I'll be doing mostly static sites first, and i want to deliver quality work as quick as possible. I'm cool with learning a new language once it's not too obscure; i mainly do JS and I know a bit of Python, PHP, and just the basics of Go and Ruby4 -
I'm considering to build a powerful, small/semi-portable mini-ITX PC. Just small box you can easily travel with, kinda like a laptop but a lot cheaper and without a screen, keyboard and battery - I can't really work on laptops anyway (ergonomics!). Stuffed with something like a 4400G when Renoir (mainstream Zen2) comes out, so lots of processing power. Add 32GB+ RAM and one or two SSDs.
I'd say the reason is that I might work from abroad (remotely) next year, but honestly, it just gives me an excuse to break my piggy bank!
What do you think?11 -
Our "agile" process uses one-month long sprints, ending on the last day of the month with a demo. (I'll rant some other time about non-consistent iteration lengths.)
Our sprint ends today (Monday). What was the most logical time to introduce changes that affect the architecture and break every single build? How about 4PM last Friday?
We're still waiting on the build breaker to show up while trying to figure out what the heck we can cobble together and run to show that we actually did something in the last month.2 -
Well, look at the brighter side Android developers, that long time gradle takes to build gives you the much needed break, doesn't it?undefined gradle sync my ass android studio time wasted android dev android gradle gradle kills on i34
-
Everytime I consult with senior devs on how to transition from my sysadmin job and get my first dev job they always tell me to get a CS degree.
Look. I will get that fucking degree eventually. But I want to build up dev skills and learn from a company before killing myself over math crap for 3 years. But it's like a vicious cycle. Every junior position I apply to rejects me because I have no degree.
I'm fucking frustrated and depressed.
What should I do? I want to break from the IT meme and get a dev job.
In the meantime I'm doing small projects and freelancing in my very little free time. But I feel I'll never truly be a developer until I work as one professionally.4 -
Yesterday I told an intern that was supposed to be shadowing me that he'll need to download visual studios with apache Cordova plugin for multi platform app design. I gave this assignment to him first thing in the morning (around 9:30 am) and told him to head home for the day thinking I was giving the kid a break to download and make sure the build was proper and to play around with it maybe. I check my inbox this morning to find that, alongside numerous expletives, this intern has quit as of 3:40 AM last night. I... I didn't see that one coming.4
-
Just happened today!
So since this morning we've been trying to get our website ready for UAT deployment Monday next week, even though we only were told of it yesterday. Since we had some critical merge conflicts to unscrew on our dev branch for promoting to UAT, we sent a warning to everyone on our hipchat group
Dev team: @all please don't commit anything to the repo for an hour or so while we get the branch good for dev and uat build
Tech lead: ok
That should be enough warning, right? Surely our tech lead, who has been piling up our scope creep trying to please our stakeholders, understands well enough not to do a single goddamn thing on our repo until we sort it out, right?
Nope.
10 minutes later our tech lead pushes several changes that not only break our builds but also remove all our configuration transformations. I just stormed out of the office to avoid sending her on a one-way ticket to slapsville and fuckyoutown. Geez goddamn louise. -
Today, I have installed/uninstalled a combination of [windows 7, arch linux, dual-boot] a total of 9 times...
I wouldn't be surprised if my 120G SSD fails next week
It all started when I had to whip up a GUI-wrapped youtube-dl based program for a windows machine.
Thinking a handy GUI python library will get it done in no time, I started right away with the Kivy quick-start page in front of me.
Everything seemed to be going fine, until I decided it would be "wise" to first check if I can run Kivy on said windows machine.
Here I spent what felt like a day (5 hours) trying to install core pip modules for kivy.. only before realizing my innocent cygwin64 setup was the reason everything was failing, and that sys.platform was NOT set to "win32" (a requirement later discovered when unpacking .whl files)
"Okay.. you know what? Fuck........ This."
In a haze of frustration, I decided it was my fault for ever deciding to do Python on windows, and that "none of this would've happened if I were installing pip modules on a Linux terminal"...
I then had the "brilliant" idea of "Why don't I just use Linux, and make windows a virtual machine within, for testing."
And so I spent the next hour getting everything set up correctly for me get back to programming.... And so I did.
But uh... you're doing GUI stuff, right? -> Yeah...
And you uh.. Kivy uses OpenGL on windows, doesn't it? -> Yeah..?
OpenGL... 2.
-> Fuck.
That's when I realized my "brilliant" idea, was actually a really bad prank. Turns out.. I needed a native windows environment with up-to-date non-virtual graphics drivers that supported at least OpenGL2 for Kivy GUI programs!
Something I already had from square 1.
And at this point, it hurts to even sigh knowing I wasted hours just... making... poor decisions, my very first one being cygwin64 as a substitution for windows cmd.
But persistent as any programmer should be in order to succeed, I dragged my sorry ass back to the computer to reinstall windows on the actual hardware... again.
While the windows installer was busy jacking off all over my precious gigabytes (why does it need that much spaaace for a base install??? fuck.). I had "yet another brilliant idea" YABI™
Why not just do a dual-boot? That way, you have the best of both worlds, you do python stuff in Linux, and when it's time to build and test on the target OS, you have a native windows environment!
This synthetic harmony sounded amazing to the desperate, exhausted, shell of a man that I had become after such a back-breaking experience with cygwin
Now that my windows platter with a side of linux was all set-up and ready-to-go, I once again booted up windows to test if Kivy even worked.
And... It did!
And just as I began raising my victory flags, I suddenly realized there was one more thing I had to do, something trivial, should take me "no time" to do, being in a native windows environment and all.................... -.- (sigh)
I had to make sure it compiles to a traditional exe...
Not a biggy, right? Just find one of those py2exe—sounding modules or something, and surprisingly enough, there was indeed a py2exe—sounding module, conveniently named... py2exe.
Not a second thought given, I thought surely this was a good enough way of doing it, just gonna look up the py2exe guide and...
-> 3 hours later + 1 extra coffee
What do you meeeeean "module not found"? Do I need to install more dependencies? Why doesn't it say so in the DAMN guide? Wait I don't? Why are you showing me that error message then????
-------------------------------
No. I'm not doing this.
I shut off my computer and took a long... long.. break.
Only to return sometime the next day and end up making no progress, beating my SSD with more OS installs (sometimes with no obvious reason to do so).
Wondering whether I should give up Kivy itself as it didn't seem compatible with py2exe.. I discovered pyInstaller, which seemed to be the way Kivy wants exe's to be made on windows..
Awesome! I should've looked up how Kivy developers make exe's instead of jumping straight into py2exe land, (I guess "py2exe" just sounded more effective to me then)
More hours pass, and you'd think I'd have eliminated all of my build environment problems by now... but oh, how wrong you'd be...
pyInstaller was failing, and half the solutions I found online were to download some windows update KB32946..whatever...
The other half telling me to downgrade from Python 3.8.1 to Python 3.8.0000.009 (exaggeration! But you get the point)
At the end of all that mess, I decided it wasn't worth some of my lifespan, and that maybe.. just maybe.. it would've been better to create WINDOWS GUI with the mother fuc*ing WINDOWS API.
Alright, step 1: Get Visual Studio..
Step 2: kys
Step 3: kys again.6 -
I don't care about market cap. Stick your hype-driven business practices up your ass. Infinite growth doesn't exist. I won't read your fucking books and attend your fucking bootcamps and MBAs. You don't have a business model. Selling data is not a business model. Fuck your quick-flip venture capital schemes, and especially fuck your “ethics”.
I will be the first alt-tech CEO. I only care about revenue. The real money, not capitalization bubble vaporware. You don't need a huge fleet of engineers if you're smart about your technology, know how to do architecture, and you're not a feature creep. You don't need venture capital if you don't need a huge fleet of engineers. You don't need to sell data if you don't need venture capital. See? See the pattern here?
My experience allows me to build products on entirely my own. I am fully aware of the limitations of being alone, and they only inspire lean thinking and great architectural decisions. If you know throwing capacity at a problem is not an option, you start thinking differently. And if you don't need to hire anyone, it is very easy to turn a profit and make it sustainable.
If you don't follow the path of tech vaporware, you won't have the problems of tech vaporware, namely distrust of your user base, shitty updates that break everything, and of course “oops, they raised capital, time to leave before things go south”.
A friend of mine went the path I'm talking about, developed a product over the course of four years all alone, reached $10k MRR and sold for $0.8M. But I won't sell. I only care about revenue. If I get to $10k MRR, I will most likely stop doing new features and focus on fixing all the bugs there are and improving performance. This and security patches. Maybe an occasional facelift. That's it. Some products are valued because they don't change, like Sublime Text. The utility tool you can rely on. This is my scheme, this is what I want to do in life. A best-kept secret.
Imagine 100 million users that hate my product but use it because there are no alternatives, 100 people in data enrichment department alone, a billion dollars of evaluation (without being profitable), 10 million twitter followers, and ten VC firms telling me what to do and what data to sell.
Fuck that. I'd rather have one thousand loyal customers and $10k MRR. I'm different, some call it a mental illness, but the bottom line is, my goals are beyond their understanding. They call me crazy. I won't say it was never about the money, of course it was, but inflating your evaluation is not “money”. But the only thing they have is their terrible hustle culture lives and some VC street wisdom, meanwhile I HAVE products, it is on record on my PH. I have POTDs, I have a fucking Golden Kitty nomination on health and fitness for a product I made in one day. Fuck you.7 -
When the CTO/CEO of your "startup" is always AFK and it takes weeks to get anything approved by them (or even secure a meeting with them) and they have almost-exclusive access to production and the admin account for all third party services.
Want to create a new messaging channel? Too bad! What about a new repository for that cool idea you had, or that new microservice you're expected to build. Expect to be blocked for at least a week.
When they also hold themselves solely responsible for security and operations, they've built their own proprietary framework that handles all the authentication, database models and microservice communications.
Speaking of which, there's more than six microservices per developer!
Oh there's a bug or limitation in the framework? Too bad. It's a black box that nobody else in the company can touch. Good luck with the two week lead time on getting anything changed there. Oh and there's no dedicated issue tracker. Have you heard of email?
When the systems and processes in place were designed for "consistency" and "scalability" in mind you can be certain that everything is consistently broken at scale. Each microservice offers:
1. Anemic & non-idempotent CRUD APIs (Can't believe it's not a Database Table™) because the consumer should do all the work.
2. Race Conditions, because transactions are "not portable" (but not to worry, all the code is written as if it were running single threaded on a single machine).
3. Fault Intolerance, just a single failure in a chain of layered microservice calls will leave the requested operation in a partially applied and corrupted state. Ger ready for manual intervention.
4. Completely Redundant Documentation, our web documentation is automatically generated and is always of the form //[FieldName] of the [ObjectName].
5. Happy Path Support, only the intended use cases and fields work, we added a bunch of others because YouAreGoingToNeedIt™ but it won't work when you do need it. The only record of this happy path is the code itself.
Consider this, you're been building a new microservice, you've carefully followed all the unwritten highly specific technical implementation standards enforced by the CTO/CEO (that your aware of). You've decided to write some unit tests, well um.. didn't you know? There's nothing scalable and consistent about running the system locally! That's not built-in to the framework. So just use curl to test your service whilst it is deployed or connected to the development environment. Then you can open a PR and once it has been approved it will be included in the next full deployment (at least a week later).
Most new 'services' feel like the are about one to five days of writing straightforward code followed by weeks to months of integration hell, testing and blocked dependencies.
When confronted/advised about these issues the response from the CTO/CEO
varies:
(A) "yes but it's an edge case, the cloud is highly available and reliable, our software doesn't crash frequently".
(B) "yes, that's why I'm thinking about adding [idempotency] to the framework to address that when I'm not so busy" two weeks go by...
(C) "yes, but we are still doing better than all of our competitors".
(D) "oh, but you can just [highly specific sequence of undocumented steps, that probably won't work when you try it].
(E) "yes, let's setup a meeting to go through this in more detail" *doesn't show up to the meeting*.
(F) "oh, but our customers are really happy with our level of [Documentation]".
Sometimes it can feel like a bit of a cult, as all of the project managers (and some of the developers) see the CTO/CEO as a sort of 'programming god' because they are never blocked on anything they work on, they're able to bypass all the limitations and obstacles they've placed in front of the 'ordinary' developers.
There's been several instances where the CTO/CEO will suddenly make widespread changes to the codebase (to enforce some 'standard') without having to go through the same review process as everybody else, these changes will usually break something like the automatic build process or something in the dev environment and its up to the developers to pick up the pieces. I think developers find it intimidating to identify issues in the CTO/CEO's code because it's implicitly defined due to their status as the "gold standard".
It's certainly frustrating but I hope this story serves as a bit of a foil to those who wish they had a more technical CTO/CEO in their organisation. Does anybody else have a similar experience or is this situation an absolute one of a kind?2 -
Build my own phone and support the Zerophone project by writing code.
Seriously what the fuck is going on with the development of major companies smartphones. Every year all there is are larger displays, better and more cameras, faster processors and some more 'AI' thrown into the mix.
What the heck am I supposed to do with a phone costing multiple hundreds of euros but locked down with an OS spying on you. The processing power available is hardly ever used because most people just use apps like Instagram, WhatsApp or other messaging services.
I get why larger screens are useful but at some point it gets ridiculous.
Better cameras are useful to some degree as well but there's a limit to it.
If you really want to get into photographing then please buy an actual camera.
Another aspect I'd of course like to talk about is privacy. It's hardly existent on IOS or Android smartphones with Google services. Of course one can install different ROMs like Lineage OS but if I already pay multiple hundreds for a device then I'd prefer it working for and not against me.
And dare you break a single part of your phone. You can't really repair it yourself anymore and one can't even change its battery. Most people either have it repaired or just buy a new one and throw it away. There is so much electronic waste, very difficult and expensive to dispose of, just buried in the ground somewhere.
Summing up: I don't really know where the development of smartphones is heading. A phone is a device you carry around with you almost everyday so I'd like it to be tailored to me and not spy on me.
I hope the Librem phone will be a success and other open source phone projects will gain more attention. I want a phone I can repair myself and tailor the software running on it to my needs. I'd like to write messages, listen to music, make calls, run a WiFi hot-spot on the phone and maybe play some tiny games on it once in a while.6 -
To the reactjs-centered fucks who develop the popular web component viewing software called storybook: have you ever heard about semver?
89 alpha/beta/rc releases for a minor update 6.3 -> 6.4 with "100's of fixes and enhancements" "in preparation of the HUGE 7.0 release". Gee I wonder will it have 1000's of bugfixes? How bug-ridden is this software?
Every minor upgrade since 5.x is backwards-incompatible and requires a day of frustration finding out in how many more fucking NPM packages you split your codebase just because it's cool. I know move fast and break things, but some of us have other things to do than resolving node_modules incompatibilities you know. "No just hit 'npx sb upgrade' you say". I did, I really did! And the browser showed a blank screen of death with tons of cryptic React errors, it really did! Thank God you abstracted away all your dependencies in that sb command, now you can't even read the docs about what could have gone wrong with a specific sub-package. You have @storybook/html but the docs redirect to React pages, so good luck if you use something else
This is so sad... like.. the IDEA of storybook is great. But why did faith put the capacity to develop such a tool into the hands of people who think the world centers around React and JSX.. HTML should have been the default, and then you build on top of that for your fav framework, not the other way around -
My department was tasked with building browser extentions for Shopify to add functionality to their admin panel.
We warned the bosses about how unstable these extentions could become as there is no warning of changes to Shopify's code. If they make a small change it could break everything.
Instead of listening to us, what did they do? They doubled down and had us build this massive plug-in that adds dozens of complicated UIs and features to run the core of their business. I actually left the company over this and several other questionable decisions.
Last week I was catching up with their last remaining dev. Appearently a few weeks ago most of it fell apart and some of its not fixable unless Shopify makes some changes.1 -
I've got a decent developer job with decent people. It pays well enough. I work from home. There's a lot to be grateful for, and I am grateful. That being said...
I work for a consulting company with Agile in the name. It's the sort where they hire you and tell you that you'll work with an Agile team on exciting stuff and that they want to make sure you're learning and doing what interests you.
The reality is starting yet another engagement which is really just staff augmentation, joining another organization that's made a mess of what they're building. It works, but the code is all over the place. They've got tons of defects and work is slowing.
The idea is always that if we show them what great work we can do they'll let us do more. That sounds like an okay plan for the company but not so much for me.
My motivation is drained. I'm not going to fix your machine. I'm just going to become part of it. Show me what you want me to work on and I'll write the code. Then I'll spend several days trying to get a local environment to work so I can test what I did through the UI because you don't have enough tests. I'll spend more time debugging the environment than anything else. I won't really know if it works and it doesn't matter because without tests the next change someone commits will break it anyway. The next person can't manually test every scenario any more than I can.
While I'm doing this, someone somewhere is building the next application that I'll work on after they're done screwing it up.
If you're about to start building some new application, pretend it's done but it doesn't work very well, it's slow, it's buggy, and every new feature you want takes months. Pretend that you need to hire someone to fix it for you. And then hire them to build it for you in the first place.
I thought I found a place where I could work for 5-10 years. Maybe I have. Maybe when I explain (in the most positive way possible - this isn't how I normally talk) how utterly depressing this is they'll put me on something else.
Once I'm out of this depression I'll go back to trying to make this better for myself and everyone else. We can do better. It doesn't have to suck like this.4 -
It’s like with lego you build things using tutorials and then break them and upgrade as you want them to be.2
-
JoyRant build 18
I fixed a bug which would "break" links when editing a rant or a comment.
The links broke because devRant shortens them.
So now I’m "resolving" them by replacing the short links with the full links when editing.
Here I used the good old trick to start from the end and replace in reverse so that the ranges don’t get messed up with multiple links. 🙂
TestFlight:
https://testflight.apple.com/join/... -
You might need to take a break when you get a "max recursion depth exceeded" error when you weren't even trying to build a recursive function.5
-
So, a while ago i thought i was the inventor of the while-if. If a while statement fails, it would execute the else behind it. I had that idea for the C language:
It looks like this:
while(false){
// will not be executed since while condition is false
}else{
// will be executed since while condition is false
}
I've contacted the C work group if it is something to build in C since it prolly won't break any existing code bases.
I was enthousiast. Imagine if you could invent a new feature to such a classing language.
I got response back: is it like the python while-else?
Me, been while have been python developer for a while, finds out NOW that python has it already! Damn, such a great language.
while False:
# won't be executed
else:
# will be executed
DAMMIT! Still, they said that it doesn't mean it won't become a standard and got requested more examples. Did that ofc. Let's hope20 -
Let me run something by all of you. Let's say you once started freelancing as a "Plan B" in case your full-time gig dropped you. Over 12 years you've managed to build a long-standing personal brand around that occasional freelancing. You have several clients who adore you and the work you do and they tell you they would be lost without your talent and have nowhere else to go and nobody else they trust. You know, because in the past you tried to send them elsewhere (for various reasons) and they just kept coming back.
You get laid off from the full-time gig and ACME Company calls and interviews you as a top candidate they're really interested in for that same type of work for a full-time job they're offering.
Here's the catch...if hired, you have two months to basically erase your personal brand and agree never to do any freelancing work as before, even on your own time on evenings and weekends. ACME wants your full focus and attention. Additionally, you find out that the person you'd be replacing is being let go because they weren't sufficiently tech-skilled for the job. And, with a little digging, you find out that person _also_ had several freelancing gigs going on the side. Probably for the same "Plan B" reason. Which is probably why ACME is demanding exclusivity.
Your client base is small. ACME says "we don't care". The work you do is 90% automated and easily achievable in just minutes a day on a weekend or evening. ACME says "doesn't matter". You already had full-time work to begin with so you weren't doing a ton on the side. ACME couldn't be less interested in this "excuse". And you're not keen on the idea of burning down your brand, especially with no guarantees of any kind in the present IT industry hiring/firing/layoffs climate. ACME says this issue is make or break for them.
If you get to the offer stage do you:
a) Flip the bird to your brand and clients you've built up for over a decade and memory-hole it?
b) Negotiate a non-compete clause with ACME, agreeing not to take on any new clients while working full time for them?
c) Flip the bird to ACME and look for something else?
Asking for a friend. ;)16 -
working at an MNC is like dating the hottest girl in campus. everyone stares at you, but only you know of the tantrums and the expenses that you have to take.
Every random aunty and uncle I come across gets a wide smile on their face when i tell them my company's parent company name. i goto this temple , and there, one uncle was introducing me to his wife "meet X ji's son , he is at Y company" .
previously when i worked at a startup, most of the time , people were like "huh? what does this company do?" and when i would explain them how our DBs are sending billions of notifications and interaction each second, they would be like "oh , so you work at IT" , YES DUDE, YOU WANNA GIVE YOUR DAUGHTER'S HAND NOW?
And this mentality is sick. i loathe the place where i currently work. i loved my previous org and now am just here coz my mom is too scared to let her son live in a different state.
The only reason a person works in a company is money and WLB. Indian service based MNCs don't give a penny more than basic industry standards. and when they want their employees to be available 2 days a week + x number of days when any CEO , ED or other sugar daddy is coming to office, you get an idea of the shitty Work life balance.
my previous company was a b2b startup, it always paid me more than industry standards and we had wfh until a notification came to enforce hybrid working bh end of 2024. till now not a single person from my team has relocated. All i had to do was to *plan* for living in a state and my mom got cold feet :/
i think so much about my future. i earn decent, so i wanna spend it to live and grow.
i wanna go party at friday nights and go on night outs. i wanna meet this cute school crush at anytime after office and don't worry about the 9 pm curfew. i wanna go look for a new home in a different area and get out of this parking hellhole. i wanna prepare for exams and do a hugher studies from aborad.
everything needs money and growth mindset. money makes money and i am trying to earn every minute. but a chained mind cannot fly . a non growth mindset will not let you evolve. and someone needs to tell it to people who control my every . fucking. action
i have seen people switching from one big name to another. i personally feel that you are just too comfortable in the environment of big names and deliberately ignoring the smaller names which are doing the actual build fast and break reality stuff. reward is proportional to risk and if you are okay with just attributing to a big name, then that's on you20 -
On day one was told "don't check in anything that will break the build." Been debugging and had to revert back a few days only to find my clean area is broken by some else's commit.2
-
When you commit half your modified files because you didn't make changesets when working on multiple tasks at the same time and you hope you don't break the build5
-
I’ve been dealing with low motivation for a few weeks now. Usually, I would take a break or build something fun, but I’m not even motivated for those things lately. Looking forward to everyone’s coping mechanisms for ideas.
-
So, I work as a sysadmin junior (6 months and going), and in the past few months, I learned what my boss warned me about - Devs don't understand us admins, and we don't understand the devs.
We have this huge client who is about to migrate to our company (We do mostly server managment/Housing/Renting), and I am so gald I don't have to work on the migration myself!
Just hearing what the company devs say makes me facepalm: No, it won't work. It cannot work on just 3 machines (They use like... 20 in total), no, we won't get rid of our docker swarm, that's essential (Doing the absolute minimum in their infrastructure, just a fancy buzzword to lure people on. Though they've spent like 2 years developing the app that uses it, so they my not want to give it up).
I kid you not, once, they replied to an email that contained the phrase "To be afraid of/worried about" something during the migration, that something could break, not work, be unstable. 7 times.
Might not sound as bad, but it was a rather short mail, and when they're so afraid of everything, its kinda hard to cooperate with them.
My colleague literally spent this entire week mapping out /their/ infrastructure, because they were unable to provide us with the description themselves.
And as a cherry on top, they sent us a "graph" of relationships of all the parts of their infrastructure that was this jumbled mess of rectangles and arrows. Oh, and half of all the machines were not even in the graph at all! Stating that "We also have all this, but I really don't know how to ilustracte the interactions anymore"
Why do companies like that exist? If you build an infrastructure yourself, shouldn't at least someone know exactly how it works?1 -
Dear Web developers, why are there websites that complain "Please disable AD blocker to use this website" when i don't have a AD blocker? Can't website be build simple, without tons of JS and CSS that will break?8
-
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
As if that weren't enough, there's a beanshell interface to allow users to script the test system, but none of the users know Java well enough to feel confident writing interpreted Java scripts (and that's too close to JavaScript for my comfort). I once tried swapping this out for the Rhino JavaScript interpreter and got all the verbal support in the world but no developer time to design an API that'd work for all the departments.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2 -
My worst fight with a dev was definitely that time I tried to break the mould and build this incredibly tedious VB app to automate data handling through Excel, PowerPoint and Outlook. The other dev always said "you can do this" and "come on, it's not rocket science" and I was always like "yeah, dude, sure, but can you help me with this bit here, please, I'm so stuck on it?" He'd be all like "ofc bro, I got your back", but when it came to the actual work that needed to be done, he was all silent. Needless to say, now I have a rubber ducky to help me with my dev needs, as talking to myself felt like a nightmare. Guess that's what other people feel like when I strike up a conversation with them, too.
-
Been trying to install myself a gentoo but it's been more like the mode of broken packages than the godmode of Linux... I mean I see that some packages break if I am trying to compile via musl (not fully supported yet) or via uclibc. But please. CAN'T YOU JUST FUCKING TEST THE PACKAGES BEFORE PUSHING TO LIVE? Seriously. I just wanna install a system with i3 and lightdm for the first. But do you think I could build even the first 20 packages WITHOUT A FUCKING ERROR MESSAGE?! FUCK NO. I mean it's a clean install - nothing should be blocking - let's wait a day.
*one day later*
Fuck. Shit doesn't work now either.
*gets himself a new tarball*
Wow now it works.... Or not. 4 packages later it failed again. And like that it continues.
Gentoo isn't even running on that new software. BUT IT STILL WON'T BUILD ANYTHING TO EVEN LET ME CONTINUE BUILDING A FUCKING KERNEL AND SETTING THAT SHIT UP.
Now I am totally frustrated - deleted my efivars once because I forgot to unmount /sys from the Chroot - after a few days of trying. I tell myself: Why not just arch? It always worked.
Okay then reboot to windows and get an arch-livesystem.... If only my Windows didn't boot entry disappear again. -
Took the dive and started learning kubernetes for the last 90 minutes or so. All I can say at this time... is... fuckin' hell m8!
It's some pretty damn cool tech and deconstructing the pieces to understand how to properly build on top of it has been interesting; to say the least.
but shit, man...
the amount of abstractions happening on top of docker/containerd are just asking for tons of problems hahaha. The last place I worked, we had a fair share of devs that either could not or would not bother with trying to understand docker and would constantly push code to the environments, shit would break, and then they'd come to my team and ask us to basically be human log parsers for them... how in the hell my last company is going to fare with trying to roll out kube is beyond me.
tl;dr - kubernetes has a buttload of moving targets and abstracts a metric-fuck-ton of stuff. Last company I worked for is gonna strugglepuff trying to use it. -
I honestly do not understand the hate for Macs. I know I'm not the first to rant about it, but it's sad that I have to. Yes, you can build a crazy PC with 172828 cores over-clocked to 79Thz for like $7 and have a taco along with it, but that's not the point. Each of them are good for their own things. Maybe, I don't want to spend the first 13 hours figuring out which version of Linux I need to run after I get a computer. I mean give me a break. Each of them are personal preferences. What people often don't see in Macs are value you get with service and surprisingly useful default apps (I'm looking at you Open office) and a solid feature set. Why am I even writing this, it's fucking 2AM.12
-
So let's break this down: it's now 2017, the world of development is overflowing with flexible systems written in dynamic coding languages running on powerful hardware. A great deal of which is available to use for free.
This morning I FINALLY got one member of our "R&D" team at work to implement a proper logging system in one of our numerous Java apps... So she adds "log4j-1.2-api.jar" to her project.
*facepalm*
I'm still (3 years down the line) trying to convince them to let me rewrite their build scripts to integrate some sort of dependency management system, since they still use the default generated build for Ant as provided by Netbeans.
There is one bright side though: we're so-fucking-close to being able to ditch MS VSS!
*queue slow clap*
At this rate, how long do you think it will be before we can finally get away from using JDK 1.6 for everything?3 -
!rant
My ecig mod (or box how some call it) started to missbehave, it started at random not liking more and more batteries and generally it was good time for replacment. Fast forward, im at shop, and I have few options, i dont want to cheap out becouse I know how it ends, and I want reaible box for longer and I can pay a little more for that.
So there was few quite competetive options, but most of them had build quality i wasnt fan of, some even plastic outter shell, magnets which tend to break off, but their feature list was quite competetive, and there most expensive of all (400 pln +-90ish $) that seller presented me had (seemingly) no features. No menu even. But build quality is solid buttons feel are just better, and it looks like it could survive longer than half a year. Fine, i shell out what it looked missing features for solid build quality.
I go home, rtfm, and wtf? "Before use update firmware with XYZ software". Okay, done. But hmmm what is that?
It has plethoria, absolute TON of customization but from PC program. Hell yeah, that was fucking good choice and seller missed whole selling point of this box. Like literally, he didnt know its best feature. I can go as far as customize entire GUI on that small screen. Its been awhile since I did my last pixelart thingy but monochromatic so not too bad :)4 -
This is an actual transcript...
Since it's way too long for the normal 5000 characters, hence splitting it up...
Infra Guy: mr Dev, could you please give some rational for update of jjb?
Dev: sparse checkout support is missing
Infra Guy: is this support mandatory to achive whatever you trying to do?
Dev: yes
Infra Guy: u trying to get set of specific folder for set of specific components?
Dev: yes
Infra Guy: bash script with cp or mv will not work for you?
Dev: no
Infra Guy: ?
Dev: when you have already present functionality why reinvent the wheel
Dev: jenkins has support for it
Dev: the jjb is the bottle neck
Infra Guy: getting this functionality onto our infra would have some implications
Dev: why should I write bash script if jenkins allows me to do that
Dev: what implications ??
Infra Guy: will you commit to solve all the issues caused by new jjb?
Dev: you show me the implications first
Infra Guy: like a year ago i have tried to get new jjb <commit_url>
Infra Guy: no, the implications is a grey area
Infra Guy: i cant show all of them and they may hit like in week or eve month
Dev: then why was it not tackled
Dev: and why was it kept like that
Infra Guy: few jobs got broken on something
Dev: it will crop up some time later
Dev: if jobs get broken because of syntax
Dev: then jobs can be fixed
Dev: is it not ???
Infra Guy: ofc
Infra Guy: its just a question who will fix them
Dev: follow the syntax and follow the guidelines
Dev: put up a test server and try and lets see
Dev: you have a dev server
Dev: why not try on that one and see what all jobs fails
Dev: and why they fail
Dev: rather than saying it will fail and who will fix
Dev: let them fail and then lets find why
Dev: I manually define a job
Dev: I get it done
Infra Guy: i dont think we have test server which have the same workload and same attention as our prod
Dev: unless you test how would you know ??
Dev: and just saying that it broke one with a version hence I wont do it
Infra Guy: and im not sure if thats fair for us to deal with implication of upgrading of the major components just cause bash script is not good enough for u
Dev: its pretty bad
Infra Guy: i do agree
Infra TL Guy: Dev, what Infra Guy is saying is that its not possible to upgrade without downtime
Infra Guy: no
Dev: how long a downtime are we looking at ??
Infra Guy: im saying that after this upgrade we will have deal with consequences for long time
Infra Guy-2: No this is not testing the upgrade is the huge effort as we dont have dev resources to handle each job to run
Dev: if your jjb compiles all the yaml without error
Dev: I am not sure what consequences are we talking of
Infra Guy: so you think there will be no consequences, right?
Dev: unless you take the plunge will you know ??
Dev: you have a dev server running at port 9000
Infra Guy: this servers runs nothing
Dev: that is good
Dev: there you can take the risk
Infra Guy: and the fack we have managed to put something onto api doesnt mean it works
Dev: what API ?
Infra Guy: jenkins api
Infra Guy: hmmm
Dev: what have you put on Jenkins API ??
Infra Guy: (
Dev: jjb is a CLI
Infra Guy: ((
Dev: is what I understand
Dev: not a Jenkins API
Infra Guy: (((
Dev: (((((
Infra Guy: jjb build xmls and push them onto api
Infra Guy: and its doent matter
Dev: so you mean to say upgrading a CLI is goig to upgrade your core jenkisn API
Dev: give me a break
Infra Guy: the matter is that even if have managed to build something and put it onto api
Infra Guy: doesnt mean it will work
Dev: the API consumes the xml file and creates a job
Infra Guy: right
Dev: if it confirms to the options which it understands
Dev: then everything will work
Dev: I am actually not getting your point Infra Guy
Infra Guy: i do agree mr Dev
Dev: we are beating around the bush
Infra Guy: just want to be sure that if this upgrade will break something
Infra Guy: we will have a person who will fix it
Dev: that is what CICD is supposed to let me know with valid reasons
Dev: why can't that upgrade be done
Infra Guy: it can be done
Infra Guy: i even have commit in place3 -
Ugh. So for one of my classes (Projects In Computer Science) we have to break up into groups; Around 4-6 people per group and build some software for different local companies in the city that I live in.
Well.... the company that my group chose is so damn frustrating. Essentially we are making a glorified Applicant Form system for their website (there's more to it than just that). So you would think that the company knew what sort of fields would be needed for these forms.... Well no, we are over a month into this project and still have barely began coding shit because they are so fucking slow to respond to our emails, don't pick up our calls, or put off doing absolutely anything related to our project! Our professor asked that we would have a written copy of the project requirements made and signed off by the client within the first 2 weeks of classes starting. Took them over a month to get around to that, and still even after signing off on the requirements said that they were missing key forms that we needed to account for... Its your damn fault for not telling us that. We completely wasted our time planning out the database and structuring the front-end/back-end to work for the forms they had given us, and now there's yet another one with inconsistent fields, meaning we need to rethink out most of our system to account for this data. We only have 3 months total, 1 which is already gone and practically wasted, and even still we don't have any sort of confirmation on what form fields we have to account for.
Fucking hell just spend a little bit of time for both our sake, and your own to get us the finalized forms fields and requirements for this project. Honestly at the rate things are going we probably wont be able to finish, which sucks ass since this project is perfect resume material.
Seriously this company desperately needs us to make them this program since their current system is absolute shit. They are literally getting a system that would cost upwards of $20,000 for free, yet they don't seem to care much that we probably wont be able to finish due to their faults. If we didn't have a time cap on this project I wouldn't really care, but the fact that we only have 3 months, plus school work in other classes, exams and a personal life, its making this project a lot more stressful than it needs to be.
Its not like we have a project manager either, so all the emailing and communication is being done by myself. Honest to god, all they have/had to do was sit down for 1 hour of time to decide what they all needed and we would probably have been able to finish this project.5 -
Disclaimer: This is all theoretical. Neither me nor my friend (with whom I discussed this) are stupid enough to even try to pursue this, but as an idea, i believe it might generate cool/new ideas/ways for handling secure communications across social groups.
Let's do some role play. Let's design a delivery app for drug dealers, think Seamless or Uber Eats, but for drugs. Not for big deliveries, like kilograms of coke, but smaller stuff. Maybe a few grams of it or something. The clients could rate dealers, and vide-versa. This would build a level of trust within the system. There would be no names, just anonymous reviews, ratings, and prices. Only the info you'd need to know.
The biggest (only?) problem we found (besides legality) was that, how would you prove that you're a client and not a snitch (or cop). This would have to somehow be handled both on signup, as well as when ordering (let's imagine that all who are clients are pure and won't ever snitch).
One of the ways we found to combat this was to have the app invite-only. This would, in theory, do away with the problem of having snitches signing up. However, what if the phone got stolen/breached by a snitch, and they also got full access to the account. One way we thought we could combat this would be with a "dispose number" or something similar. Basically, you call a number, or send a text, or message a Signal bot etc, which would lead to the account's instant termination, no traces of that user left. Hence, a dispose number.
The flow of the app would be as follows:
A client wants some amount of heroin. He opens the app, searches for a dealer, sends the him the desired amount, and in return gets back a price from the dealer. If both parties agree on the amount and price, the deal would start.
The app would then select a random time (taken from the client's selected timeframe and the dealer's "open" time) and a location (within a certain radius of both them, somewhere in between them both for convenience). If both of them accept the time and place, they'll have to meet up at said time and place.
The actual delivery could also be done using two dead drops - the client drops the money at one of them, the dealer drops the goods at the other one. Yes, this might be subject to abuse, but it wouldn't be that bad. I doubt that clients would make huge orders to unknown/badly rated dealers, as well as dealers accepting offers from badly rated clients. My idea is that they would start small, just so if they do lose their money/goods, the actual loss wouldn't be as big for them, but for the other party, having bad ratings would mean less clients willing to buy or dealers willing to sell.
A third way would be to use crypto, but the reason I left this as the last one is because it's not that wide-spread yet, at least not in local drug dealing. With this method, the client would initiate the order, the crypto would be sent to either the dealer or an escrow account, the dealer would then drop the goods at a random place and let the client know where to go to get them. After the client has gotten the goods, they could both review/rate the quality as well as the overall experience with that dealer, which would either make or break the dealer's upcoming deals. This would be pretty much like other DNM's, but on a local scale, making deliveries faster.
So far, this would seem like something that would work. Are there any ideas that might improve this? Anything that might make things more secure/anonymous?
My reason for this post is to spark a conversation about security and anonymity, not to endorse drugs or other illegal stuff.
Cheers!
PS. Really loving the new PC design of devRant14 -
So there is this one teacher/dev where I just had a lecture. And I easily can say he is one of the best programming teachers I had so far. Not that what he says is a hundred percent correct (heavily influenced by his opinion, ex. Singleton being a good pattern), but he motivates you to think about what you do and the lecture. He saw that no one was following and said that no one could probably remember the start of the lecture and he was damn right.
He's just so open about it and said that it doesn't matter and you have to go home and practice. At the start he said that we all are programmers and not software developers. Explaining the difference and showing funny pictures. A fucking spoon build out of a fork and a plastic cup. But not reusable at all and might break when overheated by the soup. Genius explanation of the difference. On the other side was a spoon which could be hung up on the edge of the bowl without overhearing the end so you don't burn your hand. That is software developing.
Now the point is that I got a bit mad when he said no one here could develop software and when he asked if someone can explain what a pattern is it was my time to shine. Boom, on point explanation and a complement from him following in the question where I got the knowledge from and why I could explain specific patterns. The answer was a simple 'I learn about software developing and engineering in my free time' and then he just said that I'm a nerd. I was so proud and ashamed at the same time.
Long story short: be proud of us. Geeks and nerds are nice persons and I might just have earned some respect among my friends.
I just realized this is a rather long and unstructured rant but I really felt like sharing that little achievement of being recognized. -
How do you think about unit testing/TDD when writing apps? (I'm working this at 3am so might be a bit messy... Just a thought I woke up to).
Whenever I write an app, I don't write unit tests but as I'm developing I may create test functions for specific parts that I run to validate a specific component is working before moving onto the next.
So first, when I get a problem, break it up into components based on the requirements. It's usually sort of input, processor, output sequence.
Where the processor is essentially the core app. And so I start coding it, referring to the input thru an interface, model objects, adding fields as I go along (assume no matter what the input, I will get these before the logic is called). I may add some more interfaces as well for other data I may need but I know won't be going in the first input.
So I write all the logic, functions needed to get a basic app to run that does what I am writing the app for.
Only then do I write a test functions passing in different parameters to make sure the logic and response is what I want and making fixes as necessary. At that point I basically have the simplest version of the app.
(I guess this is sort of like mocking?)
Then build outwards implementing and testing components as I go along and may do some simple refactoring/redesign. (I guess all these tests are functional then, have to start the whole app).
And finally when I have the basic requirements fully complete I will add the "nice to haves" on top via refactoring of specific logic in specific components. Again testing by running the app maybe with simple inputs.
I guess now I'm thinking how do you write unit tests/TDD if the app keeps changing (via adhoc refactorings) as you are creating it? -
My consuming cycle:
1. An urge to buy a new shiny thing. No peace of mind if I refuse to buy it. My brain starts to generate sentences like "Treat yourself", "Why are you even living if you can't buy what you want", etc.
2. Acquisition. Immense guilt about the money spent. My brain somehow classifies any non-electronic thing that costs more than $30 as "ridiculously expensive", no matter how much money I make, no matter my reserves.
3. A short period of... no, not peace of mind. It's just an absence of that urge. I can't quite call it "peace".
4. goto 1
Hyperconsumerism is hell. I don't want my life to be ridden by guilt. I want to break that cycle, but when I try, it's just me asking that blaming questions to myself.
Somehow I probably got an answer. I should make my everyday thought process and patterns independent of buying stuff. Money shouldn't define what I do and what I think about.
Everything I need with an exception of medicines is both factually cheap and perceived as cheap, and I don't feel guilty about buying medicines.
What should I aim my thought process to? I'm tired of programming, because it provokes an entirely different kind of guilt, the guilt of "you shouldn't be resting, go write that article, go study that new web shit, go build that another open source thing (that nobody cares about)".
Art makes me a bit happier though. I studied 20th century progressive art a bit, and appreciating the ideas behind certain pieces of design, architecture and fine arts make me feel superior than other people, and also superior than my past self. I don't know if it's healthy or not, I'm just being honest now.
I think I need more art in my life. For now, I'm fine with knowing that I'll probably never create a real piece of art (aside from programming), so at least I can consume art instead of buying worthless shit that doesn't make me happy anyway.5 -
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 -
Being the only dev to maintain a website with 20k unique visitors weekly, an admin panel for all the things you can imagine, including a custom e-shop, invoicing, etc, etc, and dozens of smaller websites is soo time consuming, and frustrating. I need a break and build something awesome...2
-
So, I’ve been thinking, and I’d appreciate your opinions:
When I work through long tutorials/books where you work towards a large scale app, I.e. through a book you build I fully functioning twitter clone with private messages, secure login etc etc I always create a GitHub repo, but then I break the chapters/modules of the book into milestones, and then create issues for each task within the chapter and assign them to myself.
I also write full on “proper” commit messages.
A part of me feels like I’m a bit weird for treating these sorts of thing like a “real” project, but at the same time, it feels like a good idea to always do things properly so good practices, like quality commit messages, become second nature -
Symfony is a mess. The source code is a mess with classes that are never in the right place. The book is a mess. It skips over things that pretty much break the project it's supposed to build.
Not only they haven't fixed it (current book is pretty much a rehash of last book), they think they can actually sell that crap.2 -
Unity is such a load of shit. Why would you have every single tutorial tell you to instantiate a prefab with the Instantitate() method then have it break your game on build because you haven't loaded each individual asset inline. Isn't the magic of this whole process that the editor take care of that shit? Now the project I was sure would be finished by this morning is going to take me AT LEAST another day.1
-
Murphy's Law of Continuous Integration: If your code finally unbreaks the build, then the build will break because the PGP Key server didn't respond in time.
-
People, help me out.
(first some abstract thoughts)
I am a final year undergrad yet to take steps in the world and i am trying to figure out what to do with my time, what my end goal and next steps should be.
As of now I think my end goal is "relaxation , peace and happiness of me and my loved ones", and to reach there , i need money.
My younger self chose engineering for a particular reason(that i vaguely remember) and weather it was a right or wrong/illogical decision, i guess i am stuck with it and have to use this only to reach my end goal.
Maybe i am regretting this and want to change. Maybe i am just a lazy ass who is bad in his assigned role of an engineer and is running towards glitter in other fields, whatever it is , i am not going against the decision of my past and accepting my identity as an engineer.
I believe once i am able to achieve my goal( that am still not sure about but overall is a good one from general perspective), i guess i will be satisfied
------------------------------------------------
(enough with the deep stuff)
I want to learn how to "learn" . like i am always conflicted about what to do next once the tutor leaves my hand.
for eg, let's say i goto a site abc.
1. They got 1 course each for android , web dev and ai. I choose the web dev course and give my hardworking attention to it
( At this point my choice is usually based on the fact that <A> i should not be stupid to buy all 3 course even if i have money/desire to buy all of em because riding 2 horses is only going to break my ass and <B> some pseudo stats like whichever got more opportunity, which i "like", etc(Point B is usually useless in the long run i guess) )
2. From what i have experienced, these courses usually have a particular list of topic that they cover and apply them to 1 or 2 projects. For eg, say that my web dev course taught me 20 something concepts of basic html/css/js/server and the instructor applied it to blog website
BUT WHAT IS NEXT ?
2.1.
>> Should I make more projects using only those particular list of concepts?
I usually have a ton of ideas that i want to implement now that i know how to build a blog site.
say i got a similar idea to make say url shortner. I start with full enthusiasm but in the middle way there is some new thing that i don't know and when i search the internet, i realize that there are 5 ways to implement such concept, making me wander off towards a whole list of concepts that were not covered in my original 20 concept course. This makes the choice 2. 2
2.2
>> Should I just leave everything , go to docs and start learning concepts from the scratch ??
Usually when i start a project, i soon realize that the original 20 concepts were just the tip of iceberg and there are a ton of things one should know, like how os works, how a particular component interacts with another, how the language is working, how the compiler is executing, etc .
At that point i feel like tearing all my notes away, and learning every associated thing from the scratch. No matter how much my project suffers, i want to know how the things are working from the bottom , like how the requests are being mad, how the routes are working, etc which might not even be relevent for the project.
Why i want to follow approach 2? because of the Goal from abstract thoughts. in theory, having deep knowledge is going to clear my interview thereby getting me a good job.
I will get good money, make projects faster and that will be a happily ever after story.
But in practical this approach is bringing me losses and confusion. every layer of a particular thing i uncover, turns out there is another layer below that. The learning never stops. Plus my original project remained incomplete.
What is your opinon, how do you figure out what to do next?8 -
Always liked to tinker with software.
And build stuff.
The latter started out the opposite, used to be a bonafide skid.
Until I learned that the most efficient way to break in, is to know how it's built.
My specialty? Mmh probably Laravel, MySQL, Vue & NuXT JS.
& React native.
Built quite a few things with those tools.
.net, asp, sqlsrv, Xamarin & uwp is in my toolbelt too tho.
Whichever tool is the better fit 😁 -
Visualize the entire complexity of the content within the project so that you know what data users will need to access, and compartmentalize those in to separate modules that you can build on over time. Think about any limitations with accessing that data (does the user have that role, what if the data is accessed simulateously, how to handle the same user accessing from different devices etc).
Think about the devices being used - is it going to be a website, an app, both? How best then to access the data? Direct access to a database, or an API system?
Then think about the front-end design and how to simplify the view right down as much as you can. Again, break it down in to modules.
Then decide on the technology you want to use, and what libraries would help simplify things.
These days I like to use JSON API's to access DB content because app and web technologies change quite often but the API will be accessible to whatever I use to build it.
For websites I love using Laravel, which simplifies the back-end tasks, and mdbootstrap which simplifies the front-end tasks and looks "appy". -
Need advice about switching to contracting.
TL;DR;
So I had 2 years of exp as an android dev, then I had a 1.5 year gap from doing android and now for the past 6 months Ive been doing android again fulltime. Im thinking of switching to contracting due to my debts and boring project and life crushing slow corporate processes in my current fulltime job, so I need tips and advices as to where should I start looking for new contracting gigs and in general what should I pay attention to. If it helps, I am based in EU, but am open to any EU/US gigs.
Now the full story:
Initially when I joined my current fulltime job after a break I had zero confidence, lowered my and employers expectations, joined as a junior but quickly picked up the latest standards and crushed it. Im doing better than half devs in my scrum team right now and would consider myself to be a mid level right now.
Asked for a 50% bump, manager kinda okayed it but the HQ overseas is taking a very long time to give me the actual bump. I have been waiting for 10 weeks already (lots of people in the decision chain were on and off vacations due to summer, also I guess manager sent this request to HQ too late, go figure). Anyways its becoming unnaceptable and I feel like its time for a change.
Now since I have mortgage and bills to pay, even with the bump that I requested that would leave me with like maximum 700-800 bucks a month after all expenses. I have debts of around 20k and paying them back at this rate would take 3 years at least and sounds like a not viable plan at all.
Also it does not help that the project Im working on is full of legacy and Im not learning anything new here. Corporate life seems to be very slow, lots of red tape kills creativity and so on. I remember in startups I was cooking features left and right each sprint, in here deploying a simple popup feature sometimes takes weeks due to incompetence in the chain. I miss the times where I worked in startups, did my job learned nre skills and after 6 months could jump on another exciting gig. Im not growing here anymore.
So because my ADD brain seems to be suited much better for working in startups, and also I need to make more money quick and I dont see a future in current company, I am thinking of going back to contracting. All I need right now is to build a few side apps, get them reviewed by seniors and fill my knowledge gaps. Then I plan of starting interviewing as a mid level or even a senior for that matter, since I worked with actual seniors and to be honest I dont think getting up to their level would be rocket science.
Only difference between mid and senior devs that I see atleast in my current company is that seniors are taking on responsibility more often, and they also take care of our tools, such as CD/CI, pipeline scripts, linters and etc. Usually seniors are the ones who do the research/investigations and then come up with actual tasks/stories for mids/juniors. Also seniors introduce new dependencies and update our stack, solve some performance issues and address bottlenecks and technical debt. I dont think its rocket science, also Ive been the sole dev responsible for apps in the past and always did decent work. Turns out all I needed was to test myself in an environment full of other devs, thats it. My only bottleneck was the imposter syndrome because I was a self taught dev who worked most of my career alone.
Anyways I posted here asking for some tips and advices on how to begin my search for new contract opportunities. I am living in EU, can you give me some decent sites where I could just start applying? Also I would appreciate any other tips opinions and feedback. Thanks!3 -
So I am gonna build a bashrc from scratch again.
There is just one thing messes me right now:
I don't know how to avoid the bug(?) described at the bottom.
Last time when I made one, used a line break, but whenever I went back in the command history and there is a long command (chain) it just messes up whole PS1 by getting inside, pressing backspace furiously to get the start of the command (mostly eating half of the PS1) and an up and a down to get back to command and see it properly.
Any good ideas to destroy that bug while it isn't born yet?1 -
I'm in need of an opinion.
I'm in my final year at my university and have finished all my major subjects. Lately I have been having the feeling that I am under utilizing my ability and That I can do a lot more than what I'm doing in my life.
Just to put into perspective, I have one heck of a resume with senior job positions.
I've been considering leaving or taking a break from my university so that I can at least see where I am in life and to fully utilize my skills to see if I can build a better life than the one I'm currently. Honestly, I have no "Raggrets". I just feel like I can do better now and come back to uni to finish my degree in the coming years.
What would your take be? Would it be okay for me to quit? Since I have epic network and people know me by my skills, I don't believe finding a good job would be hard. And I already have a pretty decent job. I just don't know if I should take a break from university or not.4 -
Any one remember me talking about Covey (have a look at my rants from about 5 months ago)?
Well, it's finally (somewhat) usable!
https://github.com/chabad360/covey
For those who are wondering why it took so long, work (I got a job!) and some bugs in a core dependency of plugin system got in the way. I actually have to take a break right around now, for about 3 weeks to work on a project that has a deadline. But after that it should be smooth sailing to a proper alpha release!
You'll need to install upx for the build, and postgres for the actual function, and you want a few VMs to act as nodes, but have fun! -
Working with nightly builds and concept tech is such a fucking hassle...
I'm currently working on a WebAssembly proof of concept where I need to generate a unique id, but since threading is currently not supported (rust and webassembly) I cant use half of the libraries currently out.
And the ones that does work... guess what... are not compatible with the nightly build of the compiler I'm using for Rust. Just fucking end me.
The legit only workaround I can find is to make a server request and get the unique id from there... piece of cunt software...I need a break 😑 -
https://trunkbaseddevelopment.com/
A source-control branching model, where developers collaborate on code in a single branch called ‘trunk’ *, resist any pressure to create other long-lived development branches by employing documented techniques. They therefore avoid merge hell, do not break the build, and live happily ever after.
// Thanks guys, after such a nice introduction I now feel obligated to read the whole damn thing -
Why is it acceptable for dev think it's ok to skip testing? WHY?
Today i was told that a co-worker had good enough judgment when it comes to CSS if it will break in other browsers other than chrome. I'd accept that if they knew the browsers inside out and read all the release docs but no, not them. Even more so when it's not their field of expertise.
After working for 2+ years at the some company, with a QA team, it's become evident no one does any proper testing, even the friking QA team!
I'm close to define the supported browsers as "What ever the developer used at the time of build".
Am I really the only Dev to test in at least 2 other browsers? -
What is the meson build system and why did you need to break your cmake files in order to support it -_-
-
The build broke right before code review with the Lead. It didn't just break in one place, oh no, that would be too simple. It broke everywhere, right down to the core mechanic. I spent the next 3 hours trying to find out why it broke, checking everything involved in this part of the system. It was a freaking Initialization call placed inside a conditional statement instead of outside.
-
I just thought of a potential webapp ideas while talking a shower. Still need to give it some thought but wondering how best to built it out? Sorta like a message board/kiva/change.org
I'm thinking #1 is backend + REST api. Then just create a webapp using React Native so it can be used mobile and browser?
Probably will build the first prototype though using either C# just to test the APIs...
But I guess how do you break a project up. Do you build backend first or do it feature by feature (both backend and frontend)?
And well what about hosting? Do need to decide now like AWS/Heroku... Or can I just build on local? Need a db though...1