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 - "its magic"
-
I accidentally created a bug that became an amazing feature at my last job.
It was for a program to read barcode tickets (we created software and web solutions for events), and to register the barcode sacnners to the computer I had to do some magic with USB-detection since it was not specified which brand the scanners would be (so no SDK would be available).
When the scanner was plugged in it would create its own thread so it wouldn't interfere with the UI of the program when it was reading/sending data.
Somehow I messed up with the thread termination for new scanners so it would accept to connect more than one scanner and it would work flawless since it was its own thread in the program.
When I tried to think out a solution for multiple scanners when planning it I got a headache and thought that's something for later. Turned out alright in the end apparently.8 -
This codebase reminds me of a large, rotting, barely-alive dromedary. Parts of it function quite well, but large swaths of it are necrotic, foul-smelling, and even rotted away. Were it healthy, it would still exude a terrible stench, and its temperament would easily match: If you managed to get near enough, it would spit and try to bite you.
Swaths of code are commented out -- entire classes simply don't exist anymore, and the ghosts of several-year-old methods still linger. Despite this, large and deprecated (yet uncommented) sections of the application depend on those undefined classes/methods. Navigating the codebase is akin to walking through a minefield: if you reference the wrong method on the wrong object... fatal exception. And being very new to this project, I have no idea what's live and what isn't.
The naming scheme doesn't help, either: it's impossible to know what's still functional without asking because nothing's marked. Instead, I've been working backwards from multiple points to try to find code paths between objects/events. I'm rarely successful.
Not only can I not tell what's live code and what's interactive death, the code itself is messy and awful. Don't get me wrong: it's solid. There's virtually no way to break it. But trying to understand it ... I feel like I'm looking at a huge, sprawling MC Escher landscape through a microscope. (No exaggeration: a magnifying glass would show a larger view that included paradoxes / dubious structures, and these are not readily apparent to me.)
It's also rife with bad practices. Terrible naming choices consisting of arbitrarily-placed acronyms, bad word choices, and simply inconsistent naming (hash vs hsh vs hs vs h). The indentation is a mix of spaces and tabs. There's magic numbers galore, and variable re-use -- not just local scope, but public methods on objects as well. I've also seen countless assignments within conditionals, and these are apparently intentional! The reasoning: to ensure the code only runs with non-falsey values. While that would indeed work, an early return/next is much clearer, and reduces indentation. It's just. reading through this makes me cringe or literally throw my hands up in frustration and exasperation.
Honestly though, I know why the code is so terrible, and I understand:
The architect/sole dev was new to coding -- I have 5-7 times his current experience -- and the project scope expanded significantly and extremely quickly, and also broke all of its foundation rules. Non-developers also dictated architecture, creating further mess. It's the stuff of nightmares. Looking at what he was able to accomplish, though, I'm impressed. Horrified at the details, but impressed with the whole.
This project is the epitome of "I wrote it quickly and just made it work."
Fortunately, he and I both agree that a rewrite is in order. but at 76k lines (without styling or configuration), it's quite the undertaking.
------
Amusing: after running the codebase through `wc`, it apparently sums to half the word count of "War and Peace"15 -
Fuck today.
Today I was supposed to go into work and set up a dozen or so units for beta testing (its been a year and a half coming)..
Got up nice and early to get a head start on things. Stubbed (and broke) my motherfucking toe, then spilled my cereal milk on my laptop.. subsequently spend the following 2 hours tearing down and cleaning my poor little lappy. Get her all put back together, starting to feel a little better about the day. Push the power button, and fucking nothing but a tiny little fan noise for half a damn second.
With this luck I don't even want to move, lest a magic falling anvil decides to adorn my head..7 -
Let the student use their own laptops. Even buy them one instead of having computers on site that no one uses for coding but only for some multiple choice tests and to browse Facebook.
Teach them 10 finger typing. (Don't be too strict and allow for personal preferences.)
Teach them text navigation and editing shortcuts. They should be able to scroll per page, jump to the beginning or end of the line or jump word by word. (I am not talking vi bindings or emacs magic.) And no, key repeat is an antifeature.
Teach them VCS before their first group assignment. Let's be honest, VCS means git nowadays. Yet teach them git != GitHub.
Teach git through the command line. They are allowed to use a gui once they aren't afraid to resolve a merge conflict or to rebase their feature branch against master. Just committing and pushing is not enough.
Teach them test-driven development ASAP. You can even give them assignments with a codebase of failing tests and their job is to make them pass in the beginning. Later require them to write tests themselves.
Don't teach the language, teach concepts. (No, if else and for loops aren't concepts you god-damn amateur! That's just syntax!)
When teaching object oriented programming, I'd smack you if do inane examples with vehicles, cars, bikes and a Mercedes Benz. Or animal, cat and dog for that matter. (I came from a self-taught imperative background. Those examples obfuscate more than they help.) Also, inheritance is overrated in oop teachings.
Functional programming concepts should be taught earlier as its concepts of avoiding side effects and pure functions can benefit even oop code bases. (Also great way to introduce testing, as pure functions take certain inputs and produce one output.)
Focus on one language in the beginning, it need not be Java, but don't confuse students with Java, Python and Ruby in their first year. (Bonus point if the language supports both oop and functional programming.)
And for the love of gawd: let them have a strictly typed language. Why would you teach with JavaScript!?
Use industry standards. Notepad, atom and eclipse might be open source and free; yet JetBrains community editions still best them.
For grades, don't your dare demand for them to write code on paper. (Pseudocode is fine.)
Don't let your students play compiler in their heads. It's not their job to know exactly what exception will be thrown by your contrived example. That's the compilers job to complain about. Rather teach them how to find solutions to these errors.
Teach them advanced google searches.
Teach them how to write a issue for a library on GitHub and similar sites.
Teach them how to ask a good stackoverflow question :>6 -
Christmas lights were blinking randomly IN SECTIONS without any sort of "control brick", just with a plain wall plug and TWO wires coming out of it.
In this house we obey the laws of physics, I immediately called magic on this and started digging. I found out that was like five chains of lights wired in parallel, and every chain contained one special lamp that had a thin plate of some thermal-sensitive material inside. It heats up which makes it go straight, thus breaking its chain until it cools down enough to curl again and make the contacts touch.
Brilliant and really cheap way of making randomly blinking Christmas lights without any kind of controller, with just two wires and some physics. That's what I call "nocode".11 -
ARGH. I wrote a long rant containing a bunch of gems from the codebase at @work, and lost it.
I'll summarize the few I remember.
First, the cliche:
if (x == true) { return true; } else { return false; };
Seriously written (more than once) by the "legendary" devs themselves.
Then, lots of typos in constants (and methods, and comments, and ...) like:
SMD_AGENT_SHCEDULE_XYZ = '5-year-old-typo'
and gems like:
def hot_garbage
magic = [nil, '']
magic = [0, nil] if something_something
success = other_method_that_returns_nothing(magic)
if success == true
return true # signal success
end
end
^ That one is from our glorious self-proclaimed leader / "engineering director" / the junior dev thundercunt on a power trip. Good stuff.
Next up are a few of my personal favorites:
Report.run_every 4.hours # Every 6 hours
Daemon.run_at_hour 6 # Daily at 8am
LANG_ENGLISH = :en
LANG_SPANISH = :sp # because fuck standards, right?
And for design decisions...
The code was supposed to support multiple currencies, but just disregards them and sets a hardcoded 'usd' instead -- and the system stores that string on literally hundreds of millions of records, often multiple times too (e.g. for payment, display fees, etc). and! AND! IT'S ALWAYS A FUCKING VARCHAR(255)! So a single payment record uses 768 bytes to store 'usd' 'usd' 'usd'
I'd mention the design decisions that led to the 35 second minimum pay API response time (often 55 sec), but i don't remember the details well enough.
Also:
The senior devs can get pretty much anything through code review. So can the dev accountants. and ... well, pretty much everyone else. Seriously, i have absolutely no idea how all of this shit managed to get published.
But speaking of code reviews: Some security holes are allowed through because (and i quote) "they already exist elsewhere in the codebase." You can't make this up.
Oh, and another!
In a feature that merges two user objects and all their data, there's a method to generate a unique ID. It concatenates 12 random numbers (one at a time, ofc) then checks the database to see if that id already exists. It tries this 20 times, and uses the first unique one... or falls through and uses its last attempt. This ofc leads to collisions, and those collisions are messy and require a db rollback to fix. gg. This was written by the "legendary" dev himself, replete with his signature single-letter variable names. I brought it up and he laughed it off, saying the collisions have been rare enough it doesn't really matter so he won't fix it.
Yep, it's garbage all the way down.16 -
> TeamLeader1: I just discovered SQL is actually super fast! The low responsiveness I've experienced comes from our ORM!
> IHateForALiving: well of course SQL is blazingly fast. SQL has been refined by the best engineers in the world for the past 50 years, its performances are unparalleled for everything you could possibly need, unless you want to scale REALLY big. Sequelize, instead, is an Active Record ORM, so it's bound to struggle with huge amount of data, because every single row will get attached a significant amount of black magic to make sure everything syncs correctly. Why is that?
> TeamLeader1: I have a problem with this frontend component, it doesn't allow pagination. I tried downloading the whole DB to bypass that, but the ORM is slow... so I will bypass the ORM and download the whole table with a raw query. Look at that! It works like a charm, it's super duper fast!'
This mf is downloading some 35 thousand rows every time some user loads a page because he doesn't know how to paginate the fucking table with Angular, there's no way these people are real.12 -
In the begining of time, when The Company was small and The Data could fit in some fucking excel sheets, Those Who Came Before implemented some java tool to issue invoices, notify customers and clear received payments.
Then came the Time Of The Great Expanse, when The Company grew to unthinkable levels. Headcount increased with each passing day, and The Data shows that everything was going great!
But when the future seemed bright, came The Stall-Out. The days when The Company could not expand as fast as it did before. And Those Who Came Before left, abandoning their Undocumented Java Tool to its own luck.
Those who came after knew nothing of the inner workings of the Undocumented Java Tool. They knew only that the magical Jar would take a couple fucking excel spreadsheets and spit out reports and send emails like magic.
And those were The Dark Days.
In the darkness, The Data grew to be a monster. Soon a fucking excel spreadsheet could not hold The Data contained any longer. Those Who Came After, fearing the wrath of The Undocumented Java Tool, dared not mess with its code. Instead, they fucking cut away the lowest volume transactions from the fucking input spreadsheet, and left the company to report the unbilled invoices as "surprise losses". Fucking script kiddies, were Those Who Came After.
Then, at The Darkest of Days (literally, Dec 21st), marched into the project The Six Witchers, who fear not the Demon of Refactoring.
This story is still unfolding. Will The Six Witchers manage to unravel the mysteries of The Undocumented Java Tool? Will they be able to reverse engineer the fucking black box, and scale it's magic into a modern application?
Will they decrease revenue forecasting error by at least 2% in a single strike?
Only the future will tell.16 -
Story, !rant.
This memory came up as I was commenting on another rant, and thought it was worthy of a better retelling.
So about a year or two ago, I had just gotten a Software Defined Radio, and was tinkering with it and looking around for cool stuff I could do with it. After stalking planes for a while (caught a 747 over my area 😎) I saw this program that decoded satellite images of earth, coming from the NOAA satellites. I thought this was amazing.
So I waited until one was over my area and let the software do its magic. The image was not great, since I had this set up on the first floor and there was a lot of material between me and the satellite.
So I came to the brilliant conclusion that I'd leave the program on automatic more (it will start sampling when the satellite is near) on my terrace, which should yield better results, right?
Perhaps. Who knows. Anyways, couple hours pass and we are running late to a family dinner. So we book it. Family dinner was great, good food and all, and was having fun, so never thought about my poor laptop, sitting alone in the night.
But then, when I was walking home in the rain... It hit me. I started running. I couldn't believe what I had done. Fast forward five minutes, and I'm out of breath, but home. I run upstairs, and see the laptop just sitting there, lid open, no lights on, and of course soaked right through.
I couldn't believe it. My only piece of tech at the time, and my only avenue for programming, gone. And I was 15, so I wasn't getting another one any time soon. Took it inside and drained the water out of it, and just left it there lying on its side.
Next day it worked just fine 🤣 the battery on my laptop only lasted max one hour, so by sheer luck it had lost power before the rain came. That is the one time I have to thank that battery for being such utter trash.7 -
My mother is the one that introduced me to computers from a young age. She would tell me that they were the future and that people could do amazing things with them. Fast forward at me graduating from uni with a B.S in Computer science and she was the happiest :) she tells everyone that I am a computer scientist, she seldom says "programmer" or "developer". She is super well versed in general computing and can use Linux and Mac, so yeah :) mom is awesome. My dad has lil idea of what I do, to him its just magic, my step dad is the same way but he will be the first to tell everyone that I am a wizard.
My brother and sister could care less...my sister tells everyone that I am the smartest person she knows, but that I spend most of my time glued to the screen "playing with a bunch of weird code!"
The rest of my family is pretty meh about it, 2 of my uncles are super proud of it and normally ask for my input regarding tech or about life as a dev.
Finally, the wife. The wife knows how to code from before I even knew what code was :) so she knows exactly what I do :)8 -
So, I'm using a new MacBook Air (running Sierra), and while I'm still getting used to it (especially the different Sublime hotkeys), overall it really is quite wonderful. I particularly love the magic touchpad and ease of scrolling/swiping between desktops.
However, I ran into an issue this morning that gave me pause: apparent file caching.
My webpack setup auto-compiles my project when files change, and I noticed something was causing errors -- not really surprising since I was in the middle of fixing the project last night. However, the error it displayed wasn't something I was expecting, and referenced a line I was positive I had removed several hours before calling it a night. Whatever, I was probably mistaken, so I went to remove it.
... It wasn't there.
I double checked that I was looking at the right file. Yep, src/styles/header.scss -- that's the correct file. Figuring webpack was acting up, I killed and restarted it.
Same error.
So whatever, maybe Sublime cached it. Rather unexpected, but possible, and I am on a mac now... so maybe. So, I closed the file and reopened it. The line wasn't there. I did this twice more. It STILL wasn't there. Maybe I'm going crazy...? I checked the file with cat. The line was there. I checked with vim. The line was still there.
OKAY. I've seen a lot of people with beef with Sublime, and I often defended it. but maybe they're actually right. maybe Sublime really isn't the way to go. :( So, I killed and reopened Sublime, and I checked the file again.
The line STILL ISN'T THERE.
Maybe I'm going crazy? I double, triple, quadruple checked the path. all correct.
Alright; let's try again and make sure I do it properly. I closed everything I had open in sublime (two projects), and quit. I reopened Sublime, navigated to the correct path, and reopened the file...
The offending line STILL wasn't there.
I'm angry at this point and just mash the keyboard. I save the resulting garbage, and cat the file again. No visible changes.
KAJSFLK STUPID PIECE OF <redacted>
okay, whatever. Reboots fix everything, right? So I reboot, and keep the option to re-open everything again ticked.
The terminal comes back up, along with half(?) my browsers, but Sublime doesn't. grrrrrrr.
so I cat the damn thing.
GUESS WHAT.
THE GARBAGE IS THERE.
Sublime was doing its job. BUT EVERYTHING ELSE FAILED.
(Oh Sublime, why did I ever question you? 💚)
... but seriously, what the fuck could have caused that? Was the OS caching the file for some programs, but not others? Now I'm questioning the macbook...23 -
The state of the web in 2020:
discussion sites as a medium are dying. chalk that up to censorship.
reddit is an echochamber. twitter is mostly a marketing platform disguised as (anti)social media. instagram is a self promotion/wannabe eceleb site, and youtube is the new hollywood..quickly becoming irrelevant.
facebook is where I (dont) go to (totally not) ignore all the people important to me.
and email is where I go to send letters bordering on hatespeech to my various local and federal "representatives", in between borderline cyberbullying people stupid enough not to automate their spam marketing in 2020. or talking to left/right self-help grifters about the state of society.
in the grim dark future of 2020, the last bastion of intelligent conversation, free speech, and civility, the one shining icon of hope in a dark world..
is the comment section of pornhub videos where a women got stuck under a bed for the 50,000th time. And all I can think is "wow I never knew how easy it was to get trapped under a bed. They should look into fixing this safety hazard."
newsmedia has jumped so many sharks, the fonz now spins in his grave so fast we could hook him up to a generator. meanwhile people hide in their homes for a disease so deadly you have to be tested to know if you even have it.
while ever more car commercials
are released, set to somber but hopeful piano music to the tune of "in this time of social distancing its important to stay close even when we're apart."
Im beginning to think media has become a poison on society, both television and the internet, and like an ersatz cargo cultist worshipping the great-charles- manson-in-the-sky we should all take a page from the unabomber and smash our televisions with hammers before going outside and sawing down the telephone polls.
I jest of course. But there is no denying the inherent appeal of moving from the unsettling uncertainty of complex societies, driven by expertly manipulated fear cycles, to the beatitude-esque simplicty of pastoral protestant style living, sans witch burning and shoe buckles.
And against the reckoning of utopians who are still fresh from the womb as it were, wet behind the ears and smelling of their mother's pussy, I reject the notion that "up" is a synonym for "forward."
Were it the case, every drinking binge, followed by throwing up, would bring us, with each vomitting, one step closer to heaven. Rather the state of affairs is what it is, and what it is, like most of nature, is a cruel master and a harsh teacher. And while we may binge on digital delusions of grandeur and a greater society, rest easy in the nihilistic and sobering thought that we are little more than 200,000 year old cave men wielding magic bricks, and atomic bombs.
..where water flows more readily from metal tubes in our houses than it does from the nile. where food comes to our door at little more than our beck and call.
where we may bath, and sleep, and *shit*, cleanly, comfortably, and safely, wrapped in the (failing) bubble of delusion we all tenaciously grasp collectively, the thing we call "civilization".
an empire of needful things, wanton and fragile.
if we have not gone mad from boredom, I have no doubt we one day will.
it becomes more and more obvious to me every day, had war never existed, it would have been necessary for man to invent it just to have something to do, that didnt include farming, fucking, or building.
And so enters "political idealogy."
How would we ever have enemies if we were allowed to speak our piece instead of being given the means (and reflex dogwhistle training) to silence and destroy one another?
give a man a gun, he'll rob a bank. give a man a bank, he'll rob the world.
give him a media empire or a tech platform, and he'll lie about the theft and convince one half of millions of lemmings to hate all the other lemmings.11 -
!dev at all
Was chilling with my t mobile rep trying to get some issues resolved regarding what Verizon's bitchass was trying to do after i left their shitty company.
While i was there and my dude was working his magic i noticed this smoking chick walking around the store waiting for someone to help her out. So being that everyone was busy and sorta scared of talking to her( i can sense that shit) i told my boy to go and pick her as his customer, to be flirty and cool and shit.
My poor dude was all like "nah man I dunno how to talk to girls...."
I was telling him "bro, you ain't bad looking, just go, introduce yo ass and tell her that you'll take care of her in a min!"
"But i get all anxious and shit"
"Nah man, just talk to her like you did to me when we first met, she is just a customer, i aint telling you to ask her out on a date, just i dunno practice talking to girls! No harm with that! Specially this one b look at them leeeeeeegs!"
Now, why did I care? The reason is that he mentioned to me after seeing my wife (total babe) that he pictures me as a player. Which I was but that is beyond the point. And he said that he had always had trouble talking to girls.
So i told him what to do, said to be calm and confident. Ninja is an alpha salesman, and great with t mobile services, so he has that confidence, told him to exude that shit as if he was talking to a guy.
Homeboy got ballsy, drank 5 gallons of man the fuck up and went and did what I did. Then she went ahead and stand next to us, and i put on the good words for my dude "ah you got the best rep right here! G boy is bomb with everything!!" She was laughing saying that she hopes that he can help her with her phone.
"Don't worry, i got you, its just a small thing and if you want i'll show you what to do for future occasions"
"Oh so you don't want me to come back if it happens?"
"Haha you can come back any time as long as I am the one helping you out"
DAAAAAAAAAAAMN son!!
"Ok, but only if its you"
Daaaaaaaaaamn
Went better than expected. The dude needs more confidence, he aint bad looking at all and don't want him missing out on some of the babes we got walking around town.
Lord knows I had my fun with them.10 -
I used to love my job.
Then I disliked my job.
The people I worked with kept me at my job.
When those people left all I had was my dislike.
Now I hate my job.
And I'm really starting to hate the people I work with.
I'm not even sure I even want to keep developing anymore, but at this point I couldn't support my family any other way.
So I'll stay smouldering for the next 40 years, in a career dumpster fire that's long lost its magic just so I can give my family a better life.12 -
TL; DR: please save me from IT hell
Note 1: this is a rant that comes after a couple other rants I'm going to call "family business saga" from now on because I feel like this is gonna go on for a while
Note 2: the following may look exaggerated but it's because of how pissed off I am at said person
So I have to help this one family member with his computer but he's worned me out so much last summer that I can't stand him (it's all tech based). At all. Both in person and via text calls. I dread and become pissy each time he's nearby, just his presence makes me want to jump in a hole and stay there for eternity.
And he's not the smartest cookie in the jar when it comes to tech, so he comes to me for help (instead of going to my brother. Aaagh why doesn't he go for my brother as well, it's mentally tiring having to "help" him - as he doesn't learn what I'm trying to teach him even after several attempts). I don't really mind being sought for help when it comes to tech, but this guy takes it one step further.
He entered my room with his computer in his hands saying this friend of his has installed W7 on his PC (why didn't he handle all the things he wants to do, it would save me a lot of anger containment) and that I *had* (it's always "YOU HAVE" because I'm a tech-ish person and I'm in uni for CS) to help him do a bunch of things.
So he boots up the thing and there are 32 updates to do, so I'm guessing that he didn't boot it up after the OS update until now. He leaves my room and I sigh out of relief. He comes back with the AC remote complaining it's too hot in my room and that he's gonna put it down a degree or 2. Jesus christ do not tamper with my AC settings, it's fine to me. The updates are still going on. He leaves again.
The computer takes its time to update and so does he. I'm happily playing minecraft when he comes back, the computer off after updating. He looks at it and says "why is it off?". I reply back "it finished updating.", trying to keep my cool. Even the most simple questions are irritation inducing.
He reboots it and lets it run. After it boots and it's ready to go he just stays there for like 2' without doing anything because the hard drive light was going off. I think he thinks the computer is going to explode if he touches it while the light is blinking 😬
He goes to connect the computer to the internet and gets all surprised that the computer doesn't recognize our home's internet (he has been here before with his computer, I guess, so he had connected, so I think he was expecting it to auto connect like that). I tell him that the computer doesn't recognize our home's connection because it has had a fresh OS installation and so it didn't have any connection registered. He types in the password and the connection is established.
He them starts going on about that he wants to get these pics on the business' website and how does he put them in his computer and all that. I do that for him and he's all like "how did you do that?? 😮" like it's a magic trick
And he's always going on at everything as if it's all a big undoable thing. "How do I do this? You know what, do it yourself and show me because I don't wanna fail". Dude. Bro. Everything - EVERYTHING - you are afraid of doing is undoable. EVERYTHING. Good christ.
I swear I've never felt so glad I'm going back for uni next week9 -
I could bitch about XSLT again, as that was certainly painful, but that’s less about learning a skill and more about understanding someone else’s mental diarrhea, so let me pick something else.
My most painful learning experience was probably pointers, but not pointers in the usual sense of `char *ptr` in C and how they’re totally confusing at first. I mean, it was that too, but in addition it was how I had absolutely none of the background needed to understand them, not having any learning material (nor guidance), nor even a typical compiler to tell me what i was doing wrong — and on top of all of that, only being able to run code on a device that would crash/halt/freak out whenever i made a mistake. It was an absolute nightmare.
Here’s the story:
Someone gave me the game RACE for my TI-83 calculator, but it turned out to be an unlocked version, which means I could edit it and see the code. I discovered this later on by accident while trying to play it during class, and when I looked at it, all I saw was incomprehensible garbage. I closed it, and the game no longer worked. Looking back I must have changed something, but then I thought it was just magic. It took me a long time to get curious enough to look at it again.
But in the meantime, I ended up played with these “programs” a little, and made some really simple ones, and later some somewhat complex ones. So the next time I opened RACE again I kind of understood what it was doing.
Moving on, I spent a year learning TI-Basic, and eventually reached the limit of what it could do. Along the way, I learned that all of the really amazing games/utilities that were incredibly fast, had greyscale graphics, lowercase text, no runtime indicator, etc. were written in “Assembly,” so naturally I wanted to use that, too.
I had no idea what it was, but it was the obvious next step for me, so I started teaching myself. It was z80 Assembly, and there was practically no documents, resources, nothing helpful online.
I found the specs, and a few terrible docs and other sources, but with only one year of programming experience, I didn’t really understand what they were telling me. This was before stackoverflow, etc., too, so what little help I found was mostly from forum posts, IRC (mostly got ignored or made fun of), and reading other people’s source when I could find it. And usually that was less than clear.
And here’s where we dive into the specifics. Starting with so little experience, and in TI-Basic of all things, meant I had zero understanding of pointers, memory and addresses, the stack, heap, data structures, interrupts, clocks, etc. I had mastered everything TI-Basic offered, which astoundingly included arrays and matrices (six of each), but it hid everything else except basic logic and flow control. (No, there weren’t even functions; it has labels and goto.) It has 27 numeric variables (A-Z and theta, can store either float or complex numbers), 8 Lists (numeric arrays), 6 matricies (2d numeric arrays), 10 strings, and a few other things like “equations” and literal bitmap pictures.
Soo… I went from knowing only that to learning pointers. And pointer math. And data structures. And pointers to pointers, and the stack, and function calls, and all that goodness. And remember, I was learning and writing all of this in plain Assembly, in notepad (or on paper at school), not in C or C++ with a teacher, a textbook, SO, and an intelligent compiler with its incredibly helpful type checking and warnings. Just raw trial and error. I learned what I could from whatever cryptic sources I could find (and understand) online, and applied it.
But actually using what I learned? If a pointer was wrong, it resulted in unexpected behavior, memory corruption, freezes, etc. I didn’t have a debugger, an emulator, etc. I had notepad, the barebones compiler, and my calculator.
Also, iterating meant changing my code, recompiling, factory resetting my calculator (removing the battery for 30+ sec) because bugs usually froze it or corrupted something, then transferring the new program over, and finally running it. It was soo slowwwww. But I made steady progress.
Painful learning experience? Check.
Pointer hell? Absolutely.4 -
Yesterday I bought myself a PSP to relive some of my childhood memories, run custom firmware on it and so on. Unfortunately however, the battery on this one is seriously puffed up, and I need one in order to update the firmware from 5.50 CFW (the seller actually modded it too!) to 6.61 OFW (to then install CFW from there again).
I figured that I might as well have a kick at disassembling the battery for good measure, to take out its controller and power it from my lab bench power supply. I set it to 3.70V, double-checked the connections.. nothing. I raised the voltage to 4V, still nothing.
There is absolutely nothing wrong with the controller from looking at it. The magic smoke is still in there, all I did was removing the housing and snipping off the battery. I measured the cell voltage and it was only some residues at 0.01V. Might be internally shorted or something, normally even dead cells settle back at 3.7V unless you keep them shorted externally.
After seeing this so many times now with controllers, I'm starting to get a feeling that manufacturers actually program these things to look at the battery voltage, and when it reaches 0V, to just make the controller kill itself. Doesn't matter if the controller's electronics are still good, just fucking kill it.
If true, that is very, VERY nasty. It would also explain why batteries in laptops especially all have different form factors, despite having used regular 18650's internally for a very long time. It would explain why they're built like tanks. It would explain why manufacturers really don't want people in there. Yes there are safety issues and you're literally diffusing a bomb. Since recently we've also got space optimization.. anything for half a mm of thickness, amirite? But doing it this way is fucking disgusting. There is absolutely no reason for the controller to kill itself when the cell dies. Yet it seems like it does.
PS: I've posted the original picture on https://ghnou.su/pics/... now if you're interested. I noticed in my previous rant that devRant really squishes these down.12 -
So... remember my first rants about my network at my last ship?
https://devrant.com/rants/2076759/...
https://devrant.com/rants/2076890/...
https://devrant.com/rants/2077084/...
Well... I had to visit them for an unrelated matter and found out that they are to pass general inspection the next week. Among the inspectors is a member of the cyber defence team. I took a quick look at the network, finding the things I'd expect:
- No updates passed to the server or installed since I left
- No antivirus updates since I left
- All certificates were expired
- Most services were shut down or unused
- All security policies were shut down
- Passwords (without expiration now) were written on post-it and stuck on screens
- ... and more!
I told the XO (the same idiot that complained about them CONSTANTLY) and he just shrugged me off and told me to """fix""" it. In one fucking afternoon.
I. SHIT. YOU. NOT.
The new admin there is a low ranking person who hasn't the faintest idea of how this works, and isn't willing to learn, either. They just dumped the duty on him, and he seems not to care. The cyber security inspector is going to have a field day. Or get grey hairs.
I told the XO that I needed at least a week to get them into working order (I have to re-set up my virtual Windows 2012 R2 server, download 2 years' worth of updates, repair 2 years of neglect etc.). The answer was what I expected:
"You know computers, you can do your magic and get it done in an afternoon."
Thank god I got transferred and don't have to answer to that idiot any more. Now, popcorn time, as I watch the fireworks.
Yes, I am a vengeful guy. I have told them, twice now, of what would happen. They didn't listen. At least now, with an official report on their heads, they just might.3 -
Hmm best part of being a Dev? I guess it is the fact that you can know how things actually work in inside something instead of looking at it and saying "Its Magic!". It kinda ruins playing some games, since you figure them out pretty quickly.
Other than that, I like the feeling that I know enough about computers and performance and how things work that I can choose the best Desktop/Laptop and stay away from marketing bull. :)1 -
LONG RANT ALERT, no TL;DR
* Writes an email to colleague about why I can't create a page on our CMS without at least a H1 title. She wants to me to put up an image with text on it (like a flyer), for multiple reasons, I say I need a textless image. *
30 minutes later:
* Casually plans a frontend optimization project, by looking at files on the CMS, in order to make further development easier and less time-taking*
*** EMAIL NOTIFICATION ***
* clicks *
"Hello, this is [Graphic designer] from the company who created the image with text on it. I do not understand why you can't put display:none on your <h1> tag. Also, being a web company, we are used to making themes and my solution of display:none will work. It's pityful to work on a design only to have it stripped out from most of its concept. If you can't do that, do tell me what resolution you need."
My first reaction:
"Dear [Graphic designer], I am managing our corporate identity, our backend and frontend codebase, I am a graphic designer myself, and am also SEO-aware. For at least 8 reasons (redacted, 'cuse too long), I will need an image without text. As told to my colleagues, I need a 72/96 DPI 16:9 ratio image, 1920x1080 is a good start but may be bigger. Also, looking at the image, it'll have to be in JPG, at 100% quality, exported for the web. Our database software will optimize the image by itself."
Reasons are about SEO issues, responsiveness issues, CMS tools issues, backend and frontend issues.
Instead, I sent following email "We can't. Image please."
I mean seriously. A bit of clarity for you:
In my company, nobody has the slightest idea what I do. They don't understand how a computer works (we all know it works by magic, right?). So of course, when one thinks what we don't know, we know it better than the one who knows, my colleague thought our CMS was like a word document, and began telling me how I should display her bible-length text-infected image, by using some inline css styling display:none.
I tell her "nope, because of my 8 reasons". She transmits that to the agency who's done the visual, now I have this [Graphic designer] not understanding that there are other CMSs than Wordpress on the web, and she tells me, me being one of the most aware on this CMS we have, how I should optimize my site?
Fucking shit, she connects on our CMS for 1 second and she'll get cancer since it's so bad. I'm in the process of planning a whole new rewrite so the website is well designed (currently I am modifying a base theme made by an incompetent designer). I know the system by heart and I know what you can, or can't do.
Now I just received an answer: "so it's only a pure technical problem". NO, OUR WEBSITE WAS CODED BY A CHIMPANZEE WHO THOUGHT WEB DEV WAS AS EASY AS WRITING "HELLO WORLD" ON A SHITTY CMS THAT FORCES DEV USERS TO USE A FUCKING CUM-WHITE-THEMED EDITOR TO EDIT THE WHOLE SITE!!!
I can't just sneeze and "oh look, it's working!"1 -
Long rant ahead.. 5k characters pretty much completely used. So feel free to have another cup of coffee and have a seat 🙂
So.. a while back this flash drive was stolen from me, right. Well it turns out that other than me, the other guy in that incident also got to the police 😃
Now, let me explain the smiley face. At the time of the incident I was completely at fault. I had no real reason to throw a punch at this guy and my only "excuse" would be that I was drunk as fuck - I've never drank so much as I did that day. Needless to say, not a very good excuse and I don't treat it as such.
But that guy and whoever else it was that he was with, that was the guy (or at least part of the group that did) that stole that flash drive from me.
Context: https://devrant.com/rants/2049733 and https://devrant.com/rants/2088970
So that's great! I thought that I'd lost this flash drive and most importantly the data on it forever. But just this Friday evening as I was meeting with my friend to buy some illicit electronics (high voltage, low frequency arc generators if you catch my drift), a policeman came along and told me about that other guy filing a report as well, with apparently much of the blame now lying on his side due to him having punched me right into the hospital.
So I told the cop, well most of the blame is on me really, I shouldn't have started that fight to begin with, and for that matter not have drunk that much, yada yada yada.. anyway he walked away (good grief, as I was having that friend on visit to purchase those electronics at that exact time!) and he said that this case could just be classified then. Maybe just come along next week to the police office to file a proper explanation but maybe even that won't be needed.
So yeah, great. But for me there's more in it of course - that other guy knows more about that flash drive and the data on it that I care about. So I figured, let's go to the police office and arrange an appointment with this guy. And I got thinking about the technicalities for if I see that drive back and want to recover its data.
So I've got 2 phones, 1 rooted but reliant on the other one that's unrooted for a data connection to my home (because Android Q, and no bootable TWRP available for it yet). And theoretically a laptop that I can put Arch on it no problem but its display backlight is cooked. So if I want to bring that one I'd have to rely on a display from them. Good luck getting that done. No option. And then there's a flash drive that I can bake up with a portable Arch install that I can sideload from one of their machines but on that.. even more so - good luck getting that done. So my phones are my only option.
Just to be clear, the technical challenge is to read that flash drive and get as much data off of it as possible. The drive is 32GB large and has about 16GB used. So I'll need at least that much on whatever I decide to store a copy on, assuming unchanged contents (unlikely). My Nexus 6P with a VPN profile to connect to my home network has 32GB of storage. So theoretically I could use dd and pipe it to gzip to compress the zeroes. That'd give me a resulting file that's close to the actual usage on the flash drive in size. But just in case.. my OnePlus 6T has 256GB of storage but it's got no root access.. so I don't have block access to an attached flash drive from it. Worst case I'd have to open a WiFi hotspot to it and get an sshd going for the Nexus to connect to.
And there we have it! A large storage device, no root access, that nonetheless can make use of something else that doesn't have the storage but satisfies the other requirements.
And then we have things like parted to read out the partition table (and if unchanged, cryptsetup to read out LUKS). Now, I don't know if Termux has these and frankly I don't care. What I need for that is a chroot. But I can't just install Arch x86_64 on a flash drive and plug it into my phone. Linux Deploy to the rescue! 😁
It can make chrooted installations of common distributions on arm64, and it comes extremely close to actual Linux. With some Linux magic I could make that able to read the block device from Android and do all the required sorcery with it. Just a USB-C to 3x USB-A hub required (which I have), with the target flash drive and one to store my chroot on, connected to my Nexus. And fixed!
Let's see if I can get that flash drive back!
P.S.: if you're into electronics and worried about getting stuff like this stolen, customize it. I happen to know one particular property of that flash drive that I can use for verification, although it wasn't explicitly customized. But for instance in that flash drive there was a decorative LED. Those are current limited by a resistor. Factory default can be say 200 ohm - replace it with one with a higher value. That way you can without any doubt verify it to be yours. Along with other extra security additions, this is one of the things I'll be adding to my "keychain v2".11 -
Argh,
Today - you son of a bitch.
It all started with a 2 hour flight out of town for business, and I mean started as in I needed to be at the airport at 4:30am!
Despite 2 coffee's to get me out of bed I proceeded to indulge myself in the magic juice, 3 cups later and it felt like my heart belonged in a Grand Prix.
Now here is the sticky part, we where briefed that we would only be doing 2 site meetings and that was it.
Low and be hold it got worse, turns out that we would be pitching our product to 3 highly regarded CEO's, now bare in mind that my position on this trip is as the lead developer, and don't get me wrong I am well up to date on every aspect of the business, hence why they sent me.
So more coffee down the gullet, and eventually the conversation leads back to a project that I had developed to allow authorization of debit orders online, now usually I'm quite a well presented person in these types of situations, but you don't realize how quick this can change.
A quick jump to the geography of the location I was doing business. Johannesburg, South Africa - its as dry as hell, smoggy and at a very higher altitude "as in above sea level".
Now unfortunately none of the above factors where helping me much at all.
Now back to where I am being asked about my project, and never in my life have I tripped over my own words, I went completely blank, I'm surprised I didn't pass out to be honest.
Now despite the death stare and my colleague kicking me under the table, I am feeling pretty terrible, fortunately I had a kick ass team that was able to cover my ass!
Luckily I was able to recover ( 2 muffins and about 3 bottles of water later). We where able to salvage the meeting and it turned out pretty well, I regained my energy and we made it happen!
Must say the flight back was amazing! Almost empty and we all had a row of seats to ourselves, which resulted in some major comfort stretching!
Thanks for tolerating my essay, I'd love to hear if anyone has had anything of the sorts happen to them.2 -
tl;dr:
The Debian 10 live disc and installer say: Heavens me, just look at the time! I’m late for my <segmentation fault
—————
tl:
The Debian 10 live cd and its new “calamares” installer are both complete crap. I’ve never had any issues with installing Debian prior to this, save with getting WiFi to work (as expected). But this version? Ugh. Here are the things I’ve run into:
Unknown root password; easy enough to get around as there is no user password; still annoying after the 10th time.
Also, the login screen doesn’t work off-disc because it won’t accept a blank password, so don’t idle or you’ll get locked out.
The lock screen is overzealous and hard-locks the computer after awhile; not even the magic kernel keys work!
The live disc doesn’t have many standard utilities, or a graphical partition editor. Thankfully I’m comfortable with fdisk.
The graphical installer (calamares) randomly segfaults, even from innocuous things like clicking [change partition] when you don’t have a partition selected. Derp.
It also randomly segfaults while writing partitions to disk — usually on the second partition.
It strangely seems less likely to segfault if the partitions are already there, even if it needs to “reformat” (recreate) them.
It also defaults to using MBR instead of GPT for the partition table, despite the tooltip telling you that MBR is deprecated and limited, and that GPT is recommended for new systems. You cannot change this without doing the partitions manually.
If you do the partitions manually and it can’t figure out where to install things, it just crashes. This is great because you can’t tell it where to install things, and specifying mount points like /boot, /, and /home don’t seem to be enough.
It also tries installing 32bit grub instead of 64bit, causing the grub installer to fail.
If you tell it to install grub on /boot, it complains when that partition isn’t encrypted — fair — but if you tell it to encrypt /boot like it wants you to, it then tries installing grub on the encrypted partition it just created, apparently without decrypting it, so that obviously fails — specific error: cannot read file system.
On the rare chance that everything else goes correctly, the install process can still segfault.
The log does include entries for errors, but doesn’t include an error message. Literally: “ERROR: Installation failed:” and the log ends. Helpful!
If the installer doesn’t segfault and the install process manages to complete, the resulting install might not even boot, even when installed without any drive encryption. Why? My guess is it never bothered to install Grub, or put it in the wrong place, or didn’t mark it as bootable, or who knows what.
Even when using the live disc that includes non-free firmware (including Ath9k) it still cannot detect my wlan card (that uses Ath9k).
I’ve attempted to install thirty plus times now, and only managed to get a working install once — where I neglected to include the Ath9k firmware.
I’m now trying the cli-only installer option instead of the live session; it seems to behave at least. I’m just terrified that the resulting install will be just as unstable as the live session.
All of this to copy the contents of my encrypted disks over so I can use them on a different system. =/
I haven’t decided which I’m going with next, but likely Arch, Void, or Gentoo. I’d go with Qubes if I had more time to experiment.
But in all seriousness, the Debian devs need some serious help. I would be embarrassed if I released this quality of hot garbage.
(This same system ran both Debian 8 and 9 flawlessly for years)15 -
Bloody Windows kept waking up after a few seconds of being suspended. Someone here mentioned it could be the mouse, so I disabled its function to wake the pc . And you know what? That piece of trash windows still kept waking up for no reason. Makes me angry.
So I found this magic command 'powercfg/lastwake', which shows the reason for the last wake. And look at that! The fucking realtek network shitcard is allowed to wake windows.
Why would windows enable that on its own? Why? Because I for sure did not make this change and suspend was working for me until a few months ago (yes, these kind of problems take me very long to fix, even though it would tske only two minutes).3 -
"… people in the newspaper industry saw the web as a newspaper. People in TV saw the web as TV, and people in book publishing saw it as a weird kind of potential book. But the web is not just some kind of magic all-absorbing meta-medium. It’s its own thing." - Paul Ford
-
Rant!
Been working on 'MVP' features of a new product for the past 14 months. Customer has no f**king clue on how to design for performance. An uncomfortable amount of faith was placed on the ORM (ORMs are not bad as long as you know what you are doing) and the magic that the current framework provides. (Again, magic is good so long as you understand what happens behind the smoke and mirrors - but f**k all that... coz hey, productivity, right?). Customer was so focussed on features that no one ever thought of giving any attention to subtler things like 'hey, my transaction is doing a gazillion joins across trizillion tables while making a million calls to the db - maybe I should put more f**king thought into my design.' We foresaw performance and concurrency issues and raised them way ahead of the release. How did the customer respond? By hiring a performance tester. Fair enough - but what did that translate into? Nothing. Nada. Zilch. Hiring a perf tester doesn't automagically fix issues. The perf tester did not have a stable environment, a stable build or anything that is required to do a test with meaningful results. As the release date approached, the customer launched a pilot and things started failing spectacularly with the system not able to support more than 15 concurrent users. WTF! (My 'I told you so' moment) Emails started flying in all directions and the hunt for the scapegoat was on (I'm a sucker for CYA so I was covered). People started pointing in all directions but no one bothered to take a step back and understand what was causing the issues. Numero uno reason for transaction failure was deadlocks. We were using a proprietary DB with kickass tooling. No one bothered to use the tooling to understand what was the resource in contention let alone how to fix the contention. Absolute panic - its like they just froze. Debugging shit and doing the same thing again and again just so that management knew they were upto something. Most of the indexes had a fragmentation of 99.8% - I shit you not. Anywho, we now have a 'war room' where the perf tester needs to script the entire project by tonight and come up with some numbers that will amount to nothing while we stay up and keep profiling the shit out of the application under load.
Lessons learnt - When you foresee a problem make a LOT of noise to get people to act upon it and not wait till it comes back and bites you in the ass. Better yet, try not to get into a team where people can't understand the implications of shitty design choices. War room my ass!3 -
This fcktard client that insist on using an iframe and demands support for browsers like IE7. You are costing me years of my life.
Fucking fuck of a Microsoft trying to protect people against tracking from 3d parties in an iframe in random ways in some versions of IE7. Or IE11 in IE7 compatibility mode.
If you are going to refuse sessions just do it! I got a fucking check and fix for that. Because these fuck faces friendly people at Apple like to refuse sessions on iPads and iPhone too. But we worked that out, because they are at least consistent. So a few dirty little hacks made it all Okay.
But no, Boo Hoo I'm Microsoft and I will throw a tantrum. I like my browsers to be like an magican, instead of an usefull piece of software. If you look in this page, or look here we got them. I got your sessions, safe and secure.
But when you need me, to verify that the user is allowed to access data we do a little hocus pocus and now they are gone. Nowhere to be seen or found again. Fun times free fucking magic shows all day long.
It's morning but maybe its time for a bottle of scotch. Maybe if I'm in the state as this browser. Where I don't know what I'm doing because I'm shitfaced drunk it will start working.
When in Rome do as the romans do.6 -
Windows not powering off when I press the shutdown button.
Mandatory long rant warning
Oh my fucking god, how many times have I lost my shit because of this fucking bullshit.
When I press the shutdown button, I want you to shut the fuck down you sorry excuse for an operating system.
Me and my friends want to hang out together, so I shut down my PC and walk over to their house, expecting an intense session of doing programming stuff and debating linux distros. Whatever the fuck we do when we get together.
I get to their house and pull out my laptop,, only its hot as fuck. And then I see it: the battery indicator is red. "What the balls?" I think to myself. I open the lid, and guess what?
WINDOWS DIDN'T FUCKING SHUT DOWN, AND IT STAYED ON THE POWERING OFF SCREEN ALL THIS FUCKING TIME. WHAT THE FUCK?
Now, my laptop has a bomb ass battery, so I didn't even bring a charger with me, and now I'm fucking stuck at a programming session with friends without a computer. FUCKING BULLSHIT.
If this was a one time thing, I wouldn't have cared so much, but this happened countless fucking times. Too many.
I would have deleted this cum socket of an operating system months ago if it weren't for the Windows exclusive software I need for school, and now that Steam supports games for linux, Windows has even less of an excuse to stay on my fucking laptop.
Windows is supposed be fucking simple, but linux takes it by a goddamn long shot. When I type "shutdown now" or "poweroff", linux shuts the fuck down, no questions asked. And if I ever need root permissions, I just type "sudo" instead of restarting the fucking program and requesting admin privileges.
Most of the software I use is compatible with both MacOS and Windows, and I already have Ubuntu installed on my laptop, so what do you guys think, should I butcher Windows off of my SSD and give MacOS a try?
Also, what is this magic? Ranting actually calmed me the fuck down... I need to start ranting more.
FUCK MICROSOFT AND FUCK WINDOWS, I WISH I COULD BURN TO FUCKING OBLIVION6 -
People caught using emojis in code should be driven into the sea.
Otherwise one day its gonna just be straight magic, without reason or understanding.
You're gonna type a bunch of moon runes into a glowing floaty interface, pour the blood of a chicken into a collector tray (totally not a pentagram) and "shit just happens" (tm).
And "scholars" (neckbeards) will spend all their time shape-in-wrong-hole idiocracy-style button mashing their mystical ouija board IDEs in the grim dark future, looking for combinations that do something useful.
Every time it glows red? Compile error.
Every time it glows green? Christmas is near, congrats it compiled.
Every time it sets off a mystical air siren (henceforth known as "fusrohdah"), runtime error. And probably explosions.
In the grim dark future of Apple 40k. A.D, there is only war, warp demons, and pending VSCode updates.11 -
Got my wife a new Roku stick, which we needed and she was very excited about. She asked me to set it up. I said it might take a little while. She said she didn't mind.
Setup was easy and straightforward, but of course involved pairing the actual device with its remote. Then I had to create an account on the computer, since the previous device was her sister's.
It was at this point when she got mad, like really mad, that setting up a new device had to be "so complicated." Okay, first off, this is the happy path. Absolutely nothing went wrong, couldn't ask for better. Second, I told you it might take a little while, and it hasn't even been 5 minutes. This, I even asked you to make sure you wanted to do this now. And you're not even doing it, I am. Which I don't mind, but don't get mad at me that it's not literally magic.8 -
That's it. I'm fucking retarded. I'm just so fucking retarded. I'm so fucking supid, it makes me wonder why do I even keep trying. I'm not sure I even have the energy in my fingers to keep typing this stupid rant.
I've been banging my head against this stupid fucking issue for A WEEK. Digging into the documentation, trying different library versions, trying to move stuff around even if it didn't make sense, trying to use different approaches because maybe I was missing something, or maybe I didn't understand some concept.
Surely spawning a child function from a parent can't be that hard, right?
Nothing.
Even tried it on a different OS - who knows, maybe it's Windows doing some if its magic fuckery?
Still nothing.
"Wait, why am I calling this function directly instead of calling its parent?"10 -
I just can't stress enough how fascinated I am by biology and biochemistry.
I mean, we, who call ourselves engineers, are no more but a gang of toddlers having a blast with jumbo legos on Aunt Lucy's dining room carpet on a sunny Sunday afternoon. Our solutions using "modern tools" and "modern engineering" are mere attempts to *very* remotely mimic what beautiful and elegant solutions are around us and inside of each of us.
IC/EC engines, solar batteries, computers and quantum computers, spaceships and ISSes, AI/ML, ... What are they? just the means to leverage what's been created all around us to create something that either entertains us, encourages our laziness or helps us to look at the other absolutely fascinating engineering solutions surrounding us so we could try and "replicate" their working principles to further embrace our laziness and entertain us.
Just look at the humble muscle - a myofibril made out of actin and myosin. The design is soooo simple and spot on, so elegant and efficient, the "battery" and signalling system are so universal and efficient.
Look at all those engineering miracles, small and big. Look how they work, how they leverage both big and small to create holistic, simplistic and absolutely efficient mechanisms. And then come back to me, and tell me again that all these brilliant solutions came out of nothing just by an accident we call "evolution".
How blinded by our narcissism are we to claim that there can't be a grand designer of any kind, that there's nothing smarter than us and that the next best thing than us is an incomprehensible series of accidental mutations over an unimaginable amount of time?
I mean.. could it be that someone/something greater than us created us and everything around us? naaaah.. we are the crown jewel of this universe. Everything else must be either magic or an accident. /s
Don't read this as yet another crazy-about-God person's ramblings. I'm not into religion fwiw. But science has taught me enough critical thinking to question its merit. Look at it all as engineers. Which is more probable: that everything around us happened by an accident or that someone/something preceding us had a say in the design?random biology humanity think about it biochemistry creation big and small shower thoughts narcissism had to be said naive evolution20 -
Well what an adventure with this SSD...😑
my sis' laptop is from 2013-ish(?) and has/had a slow HDD in it. I wanted to speed it up, before her study, so I bought a new internal SSD (no new laptop wanted).
Created a bootable USB, exchanged the hard drives and install the OS on it. Seems easy enough...
The laptop restarts to finish its process ... laptop shuts down immediately, no warning whatsoever. 😳🤨
Start it up, loading screen, fan gets louder and louder ... instant shut down.😳🤨🤨.
Redo process, this time landing on blue-screen, error code critical process died? ... instant shut down again.🤔
Restart from old HDD, normal.😐
Retry with boot USB and reinstall SSD. Setup process copying files, meanwhile instant shut down.😳 Please don't tell me!😩 Since every part of the laptop was working, except the new inserted SSD, I thought "FUCK not a broken SSD!😣"
I had my own PC with internal SSD slot, so tried to find out, whether it would be broken...
All starting up fine??🤨🤨
Ok then? Finish the setup for the third time now ... everything up and running.😐🤷
Normal shut down, unplug, plug back onto laptop, it works. HOW?? WHY?? 😕
Why the fuck are you suddenly working? 😐🤷🤷🤷
That's some magic...5 -
Ascended Anime Nerd
Got started with Dragonball Z when it first came stateside. Brother was borrowing fansubs of the Cell and Buu sagas back when people were wondering if Goku would ever finish Snake Road.
Around that time I started noticing some serious discrepancies between the broadcast translations and the fansubs, and so I decided to cut out the middleman—after all, how hard can it be to learn Japanese?—and did a search on AltaVista for a “kanji course”, turning up a course hosted by Rice University that taught basic Japanese using Magic Knight Rayearth and YuuYuu Hakusho.
Turns out the answer to the difficulty question is that anything van be simple to learn, if you don’t know it’s supposed to be hard. Especially if you embrace the parts everyone else dreads (falling in love with kanji, in my case).
Over the next nine months I ditched my Spanish class—and all my other classes, for that matter—to study Japanese in the computer lab. I was reviewing the lessons, playing JRPGs on SNES9X (stored on a ZIP disk, since every computer in the lab had a ZIP drive), and transcribing the scripts so I could transliterate and translate them thereafter. In a lab that went so far as to uninstall Minesweeper and Solitaire to discourage playing games on school computers, I had free reign to do so openly because the one time I got confronted for playing a game I had 150+ leaves of handwritten transcriptions to show them.
Long story short, by the time I took Japanese 101 9 months later it was like Hermione in Snape’s potions class, since I had already taught myself about 2 years’ worth of material. I then transferred out to a college that did a one-class-per-month “modular” system that basically allowed me to take 8 more Japanese classes full-time for the following year. By the time my exchange trip came up I was sofar ahead of the curriculum I was taking classes alongside the native Japanese students.
Running out of linguistic topics, I did an independent study on classical Japanese literature in its original, unmodernized grammar and orthography. A topic I’m still fairly active with 15 years later.3 -
Samsung Smart TV becomes Samsung Dumb TV.
Welcome back dear readers, to the next installment of my Raspberry Pi / Pi Hole / MitM box adventure!
For those of you who are new to this story, I'm a long experience programmer who knows very little about his home network or networking in general and has constantly been going over his 250GB data plan because 'rona, and thus, wants answers to "where is the data going".
So, I got the Pi, codenamed Mini-Beowolf, positioned between the modem and router... worked some fuckin systemd.networkd magic (which was sort of easy... but was hard cause I'm new to it) and viola, this son of a bitch passes through the ethernet and doesn't even show up on the router. Fu-King Beastly, I love it.
Now to static IP all my devices so I fire up my trusty TP-Link admin portal. I should add here... I've visited this admin about a total of 10 minutes prior to this when I set this wifi router up and just let it do DHCP.
So I'm getting to know my admin portal... I've got most of my devices connected to reserved IPs... and I find this one fuckin device reporting as "localhost".
Now, I've got a MAMP install... but it hasn't been running. But still I thought for sure it was just MAMP run a bit amok.
But no... it was my fucking Samsung "Smart" TV. That piece of shit is, and apparently has been reporting its device name as, sure as shit, fucking "localhost"... PROBABLY FOR YEARS.
Now, IDK how that didn't cause me any major problems over the years, and I read quite a few forums about people who it did mess up their network. So I resolved to rename the Samsung TV device.
I found the spot in the network settings of the TV... I changed the name from the pick list of rooms in a house like "Living Room" and "Bed Room", then I tried entering my own device name. But no matter what I picked, or no matter how many times I restarted/reset that TV the network name is ALWAYS "localhost".
Even though somehow my network survived this long... I'm not standing for that shit.
My Samsung TV is now blocked COMPLETELY at the router level. (After I ran one last factory reset and update)
The kicker? That Pi I built has a Samsung SSD... so I'm blocking Samsung WITH FUCKING SAMSUNG.
Needless to say, these are likely among my last Samsung purchases.
Join me next time when I FINALLY try to turn Pi Hole on and then get a tcpdump (or some other lesser output from the tcp stream) going.16 -
Let's talk about the cargo cult of N-factor authentication. It's not some magic security dust you can just sprinkle onto your app "for security purposes".
I once had a client who had a client who I did server maintenance for. Every month I was scheduled to go to the site, stick my fingerprint in their scanner, which would then display my recorded face prominently on their screens, have my name and purpose verified by the contact person, and only then would the guards let me in.
HAHA no of course not. On top of all of that, they ask for a company ID and will not let me in without one.
Because after all, I can easily forge my face, fingerprints, on-site client contact, appointment, and approval. But printing out and laminating a company ID is impossible.
---
With apologies to my "first best friend" in High School, I've forgotten which of the dozens of canonicalisations of which of your nicknames I've put in as my answer to your security question. I've also forgotten if I actually listed you as my first best friend, or my dog - which would actually be more accurate - and actually which dog, as there are times in my High School life that there were more tails than humans in the house.
I have not forgotten these out of spite, but simply because I have also forgotten which of the dozen services of this prominent bullshit computer company I actually signed up for way back in college, which itself has been more than a decade ago. That I actually apparently already signed up for the service before actually eludes me, because in fact, I have no love for their myriad products.
What I have NOT forgotten is my "end of the universe"-grade password, or email, or full legal name and the ability to demonstrate a clear line of continuity of my identity from wherever that was to now.
Because of previous security screwups in the past, this prominent bullshit company has forced its users to activate its second, third, and Nth factors. A possibly decade-old security question; a phone number long lost; whatever - before you can use your account.
Note: not "view sensitive data" about the account, like full name, billing address, and contact info. Not "change settings" of the account, such as changing account info, email, etc. Apparently all those are the lowest tier of security meant to be protected by mere "end of the universe"-grade passwords and a second factor such as email, which itself is likely to be sold by a company that also cargo cults N-factor auth. For REAL hard info, let's ask the guy who we just showed the address to "What street he lived in" and a couple others.
Explaining this to the company's support hotline is an exercise in...
"It's for your security."
"It's not. You're just locking me out of my account. I can show you a government ID corroborating all the other account info."
"But we can't, for security."
"It's not security. Get me your boss."
...
"It's for security."8 -
Aren't you, software engineer, ashamed of being employed by Apple? How can you work for a company that lives and shit on the heads of millions of fellow developers like a giant tech leech?
Assuming you can find a sounding excuse for yourself, pretending its market's fault and not your shitty greed that lets you work for a company with incredibly malicious product, sales, marketing and support policies, how can you not feel your coders-pride being melted under BILLIONS of complains for whatever shitty product you have delivered for them?
Be it a web service that runs on 1980 servers with still the same stack (cough cough itunesconnect, membercenter, bug tracker, etc etc etc etc) incompatible with vast majority of modern browsers around (google at least sticks a "beta" close to it for a few years, it could work for a few decades for you);
be it your historical incapacity to build web UI;
be it the complete lack of any resemblance of valid documentation and lets not even mention manuals (oh you say that the "status" variable is "the status of the object"? no shit sherlock, thank you and no, a wwdc video is not a manual, i don't wanna hear 3 hours of bullshit to know that stupid workaround to a stupid uikit api you designed) for any API you have developed;
be it the predatory tactics on smaller companies (yeah its capitalism baby, whatever) and bending 90 degrees with giants like Amazon;
be it the closeness (christ, even your bugtracker is closed and we had to come up with openradar to share problems that you would anyway ignore for decades);
be it a desktop ui api that is so old and unmaintained and so shitty, but so shitty, that you made that cancer of electron a de facto standard for mainstream software on macos;
be it a IDE that i am disgusted to even name, xcrap, that has literally millions of complains for the same millions of issues you dont even care to answer to or even less try to justify;
be it that you dont disclose your long term plans and then pretend us to production-test and workaround-fix your shitty non-production ready useless new OS features;
be it that a nervous breakdown on a stupid little guy on the other side of the planet that happens to have paid to you dozens of thousands of euros (in mandatory licences and hardware) to actually let you take an indecent cut out of his revenues cos there is no other choice in a monopoly regime, matter zero to you;
Assuming all of these and much more:
How can you sleep at night with all the screams of the devs you are exploiting whispering in you mind? Are all the money your earn worth?
** As someone already told you elsewhere, HAVE SOME FUCKING PRIDE, shitty people AND WRITE THE FUCKING DOCS AND FIX THE FUCKING BUGS you lazy motherfuckers, your are paid more than 99.99% of people on earth, move your fucking greasy little fingers on that fucking keyboard. **
PT2: why the fuck did you remove the ESC key from your shitty keyboards you fuckshits? is it cos autocomplete is slower than me searching the correct name of a function on stackoverflow and hence ESC key is useless? at least your hardware colleagues had the decency of admitting their error and rolling back some of the uncountable "questionable "hardware design choices (cough cough ...magic mouse... cough golden charging cables not compatible with your own devices.. cough )?12 -
Working on an Android app for a client who has a dev team that is developing a web app in with ember js / rails. These folks are "in charge" of the endpoints our app needs to function. Now as a native developer, I'm not a hater of a web apps way of doing things but with this particular app their dev teams seems to think that all programming languages can parse json as dynamically as javascript...
Exhibit A:
- Sample Endpoint Documentation
* GetImportantInfo
* Params: $id // id of info to get details of
* Endpoint: get-info/$id
* Method: GET
* Entity Return {SampleInfoModel}
- Example API calls in desktop REST client
* get-info/1
- response
{
"a" : 0,
"b" : false,
"c" : null
}
* get-info/2
- response
{
"a" : [null, "random date stamp"],
"b" : 3.14,
"c" : {
"z" : false,
"y" : 0.5
}
}
* get-info/3
- response
{
"a" : "false" // yes as a string
"b" : "yellow"
"c" : 1.75
}
Look, I get that js and ruby have dynamic types and a string can become a float can become a Boolean can become a cat can become an anvil. But that mess is very difficult to parse and make sense of in a stack that relies on static types.
After writing a million switch statements with cases like "is Float" or "is String" from kotlin's Any type // alias for java.Object, I throw my hands in the air and tell my boss we need to get on the phone with these folks. He agrees and we schedules a day that their main developer can come to our shop to "show us the ropes".
So the day comes and this guy shows up with his mac book pro and skinny jeans. We begin showing him the different data types coming back and explain how its bad for performance and can lead to bugs in the future if the model structure changes between different call params. He matter of factually has an epiphany and exclaims "OHHHHHH! I got you covered dawg!" and begins click clacking on his laptop to make sense of it all. We decide not to disturb him any more so he can keep working.
3 hours goes by...
He burst out of our conference room shouting "I am the greatest coder in the world! There's no problem I can't solve! Test it now!"
Weary, we begin testing the endpoints in our REST clients....
His magic fix, every single response is a quoted string of json:
example:
- old response
{
"foo" : "bar"
}
- new "improved" response
"{ \"foo\" : \"bar\" }"
smh....8 -
Pretty much Python automation on steroids.
https://github.com/konradhalas/...
Dacite is an integral part in it, cause it makes most auto generated API wrappers like Cloudflare API "maintenable".
Getting dicts, converting via Dacite to defined data classes...
Then using TOML to define e.g. output parameters (e.g. list of classes / properties one needs)...
... To export them via Pandas to anything what one needs.
It's just so comfortable.
Definining data classes, sprinkle the API calls and dacite in it, some definition via TOML, done.
Yes, lots of dark vodoo / behind the scenes magic... But ... It removes all this annoying fucked up boilerplate writing that takes ages and makes it frustrating.
As long as the data wrapper (e.g. clousflare API) generates Dicts, its really minutes to get an export working.
If you know the pain of having to deal with multiple accounts, different formats (e.g. different companies)… hours of manual copy pasting to aggregate the data etc.
Then you can maybe understand why I love this so much.
Data classes and dacite makes painful confusing workflows so much nicer and self documenting, I get wet in my pants while writing this. :) -
Global variables destroyed my day
Of course you can call me a bad programmer and all. When you have the idea, sometimes globals make it seem easy, accessible and "saving resources". They are devils.
The app was connected to a suite of applications. So I ended up silently destroying it neighbors. I committed and pushed the shit. Just when the testers made their weed high smoke tests, a server stopped working.
I got an email that boss wanted the latest version, I reverted the wrong branch, which had code unrelated to its name, pushed shit again and voila.
I went to the bathroom and laughed. I had to take a smoke. I'm still laughing while typing this. The damage is too much and I can't help it. I'll go home, leave this pc on and work remotely through the night. It might be the hysterics speaking now, but I messed up, and I need magic by friday morning.6 -
Oh, ho, ho
It's Friday you know
Never believe, it's not so
It's Friday, you know
Never believe, it's not so
Have to stay awake
Can't wait to see tomorrow's day break
Leaning on my pillow in the morning
Lazy day in bed
Music in my head
Crazy music playing in the morning light
https://genius.com/Pilot-band-oh-ho...
On the other hand gotta prep for some interviews next week.... Oh and have dentist this weekend 😚😱😨😰😵 -
Apart of the fact that WordPress itself is one big hack, my most creative hacky solution was making it (dev) environment friendly.
First, I created a DB pull and push tool in NodeJS (on TypeScript). Then, because WP is so clever and stores internal URLs in full length in the DB, I had to create a DB migrator (find & replace) and attached it to the DB pull task.
After this, of course WP still has its config in one file, so I used composer to install phpdotenv and filled the config with environment variables.
Bundled with some good ol' Gitlab CI/CD magic, the website is now 10% sanely developable.
It feels like having to shovel piles of shit, but with a golden shovel. Everything stinks as hell but at least there is a tiny bling to it, temporarily.
But in all seriousness: WordPress is a god damn fucking pile of tumors!3 -
wasn't a fight, really, just me having gotten frustrated after half an hour of trying to explain to a 2D animator what smear frames are, since we were making a flying hummingbird, found out that multiframe animations for the wingflaps looked like crap for its flapping speed, so i was like "oh, i know, let's just make the whole wing flap a 3frame anim, one frame wings down, one smear frame, one frame wings up, done"
cue the UNIVERSITY EDUCATED ANIMATOR looking at me with confusion, asking what are smear frames.
cue half an hour of repeated attempts at explanation, each attempt imagining him to be a younger and younger child, last 3 attempts i was actually sketching it out for him in photoshop and playing it to him (via photoshop's timeline for making animated gifs) so that he could see how it looks, which still didn't help him get it.
it turned very unpleasant towards the end, due to me getting very dumbfounded and irritated and interlacing the last couple of explanation attempts with remarks on my fascinated disbelief that a university educated and graduated animator not only had no idea what smear frames are, but isn't even getting it after having it explained multiple times as if he was an elementary school child.
at that point my boss stepped in, told me to go have a smoke, and when i came back, he managed to explain it to the animator by some of the interpersonal magic he (the boss) had.
that dude (the boss) was amazing.
p. s. the hummingbird turned out looking amazing, thanks to the smear frames.9 -
Its only 5 months left till my graduation,and my mind is getting fucked up.
The current startup i am interning with is a lot stressful and demanding. I am giving my 1000%, only because this is the only place to.. how can i explain..
if world is a race of horses, then i am the tortoise and these guys are the only slow horses that i think i can catch up with. These people are your next door app dev startup, releasing multiple apps fastly and trying to hit the magic recipe. I am not sure if i am learning anything besides how to search stuff on my own and produce faster results. But still, better than nothing.
However i am a far sighted person and am not sure if this is the future that i want.
I am currently giving 14+ hours to this startup as an intern (including all the traveling from home). The only relaxation i could make in future is to shift near the office which will save me 3-4 hours but then what?
I am currently running out of goals. My childhood was shit, but i want to make my youth meaningful.
Leaving my home means leaving the only 2 people (mom/dad) currently present actively in my life.
My college would be over by then, all my colleagues are all on their own ,going into different companies. We don't meet now leave alone meeting then. I am also not much into( or have the time to be into) online games and anime where those guys meet/chat
Not that i was able to gather courage to get into some relationship or talk to people till now. I don't have much talks with my officemate or gals coz 1 :i am so full of work and (2) i simply can't
Currently i spent my whole Saturday sleeping and watching movies and Sunday doing the office work.
Is this going to be my whole working life now? I often think other people's jobs as less demanding but i don't think that would be the case.
I just want to be in touch with people, the people that i know, the people i can trust somewhat.
When i was in 7th std, life was so easy. There was this just 1 irritating thing called school that we had to attend.
After that, we used to run down to nearest park in our shorts and cricketbats or rsckets, play till our heart's content, then sit in some friends house for hours and talk shit , then come back home , do some irritating study, then go back to watching television and playing online games with those same friends , while deciding the birthday party of some guy and game plans for the next day.
Damn5 -
1. Type as fast as i think with no typos. Ever.
2. Take a magic bus ride through the internet.
3. Have the smartest ai in the world that believes that i am its one and only master.1 -
I'm way past the point of being pissed now....
So there's some software (API's, mobile app + website) that I wrote to manage supplier incentive programs in a big hurry last year - which lead to a bunch of stuff being hard-coded in to launch on time. So after last years promotion was done I took down all the services etc was very fucking clear that in order to finish & deploy it to run again I would need at least around 4 months notice.
On the surface its pretty simple but it has quite a large user base and controls the distribution of enough cash & prizes to buy a small country so the setup of the incentives/access/audit trails is not something to be taken lightly.
Then once I'm done with the setup I have to hand it over to be "independently audited" by 3 of the larger corporate behemoths who's cash it distributes (if I get a reply from one in 3-4 weeks it's pretty fast).
I only happened to find out by chance an hour ago that we are apparently launching an even larger program this year - ON FUCKING MONDAY. I literally happened to over hear this on my way for a smoke - they have been planning it since last year November and not one person thought it might be kinda important to let me know because software is "magic" and appears and works based on the fucking lunar cycle. -
Let me start this off by stating I'm a Java dev, and a noob with C++.
Thought it'd be cool to learn some OpenCL, since I want to do some maths stuff and why not learn something new.
So I sat down, installed Nvidia proprietary drivers, broke my x-org server, purged, reinstalled, rebooted and after a while I got stuff sorted out.
Then on to my IDE. I use CLion and it uses Cmake. C++ noob knows shit about Cmake, so struggle for two hours trying to figure out wtf is going on with the OpenCL libs and why they're only partially detected. Fml.
Finally, everything is configured and I'm set. I start working on a Hello World program using OpenCL. Finish it in 20 mins, all good. No output. Do some googling, check my program a million times. Nothing wrong here. Check the kernel, everything as in the tutorial.
I start checking error codes after a while reported by OpenCL (which I had no clue was a thing) and I get some code saying the program was not created properly (to run the kernel). No fucking clue what's up with that. Google around, find another tutorial, rewrite my code in case I'm using outdated code or something. Nothing.
Fast forward an hour, I find out that OpenCL has logs! So I grab some code from the website I found it on, and voila, I finally get some info on what's going on.
Get a load of this bs.
In the kernel file, so that OpenCL knows that it's a function to run, you have to put __kernel. But in all the places I read, it said to put it as _kernel.
Add the underscore, compile, run and everything is perfect.
Then I tried just putting 'kernel'. Also compiles and runs fine.
Two hours hours and my program was fixed by adding an underscore. IF ONLY C++ GAVE AN INDICATION OF WHAT BLEW UP INSTEAD OF SITTING BACK AND BEING LIKE "oh wow man feels bad, work some magic and try again" THEN THIS WOULD NOT HAVE TAKEN SO LONG.
Then again, it was OpenCL that was being shitty with its styling enforcement or whatever the hell the underscore business is. But screw it. C++ eats shit too for this. Sure, maybe Java babies you by giving you the exact error and position that the error took place at. But at least that way you don't waste hours of your life chasing invisible bugs 😠😠
I'm going to eat some food... Too much energy was consumed fighting the system... Then I'll get back to OpenCL because 😇 but that doesn't make it less bs.1 -
Today I had to spend the whole day fixing a stupid bug in a legacy application in a completely different tech stack than I'm used to...
At my company we have an Internet application running where we can upload a word document and using some mailmerge variables magic, can set those vars and receive the personalised word doc back...
Now this is great, when it's working, and is used in various projects we have up and running... Suddenly the application decides to crap out for no apparent reason and guess who drew the short straw....
Anyhow I ask our sys admin for the password to the server, I remote desktop to it, turns out its a fucking Windows 2008 server...
But wait it gets better, the application, a shoddy mess of c# code, is not under any sort of version control, has to be developed on that same server and to top it all of, I have to follow some obscure barely documented deployment precedure to get my changes live....
So after a lot of cursing on the dev (not working at the company any more) who did the original setup, and hours of painstakingly piecing together how it works and what went wrong and how to fix it, I finally managed to get it working....
After this rant, I'm mailing my technical lead about this in the hopes we can get someone to do it right (yes, I'm that naive)1 -
Got a chance to work again on a Spring project after a few years of working with JavaSE.
All these horrible memories started rushing back. SpringJPA and its dark magic that only works unintuitively and under very certain conditions...
Ooooh boi. Now I remember. I remember it all.
Why do developers enjoy being squeezed into frameworks and enjoy spending half of a day figuring out how to make the application code compatible with the said framework rather than just writing code that they have full control over...? Masochists much?9 -
I. Hate. Windows. Apps. UGH.
I may never be able to play FS2020 from the Xbox Game Pass again as... Its unable to install, gives a helpful 0x1 error code, and the help page link goes to a 404.
Now, I caused this myself... Partially... Er, no, fully, but I had a good reason!
I wanted to install something larger again and didn't have enough disk space. Fired up WinDirStat and there was a huge, like... 45 GB file in C:\Program Files\WindowsApps\Somedir\
Googling around, I found some people saying its a temp file so that Windows Store could reserve enough space for the app instalation... Okay, so... It got stuck, and I had no way to remove it?
Of course I didn't want to remove all apps of the windows market... So, I did something any *sane* person would never do - Took ownership of the whole WindowsApps and gave myself full control. Then I removed the file and... FS2020 never launched again.
I couldn't even uninstall it! It would give me no error either. It just lagged and then did nothing.
I tried resetting all the ACLs, tried giving ownership back to TrustedInstaller, nothing worked. Failed on some of the files, wtf?
Launching the game only ever told me there was an update in progress.
Tried booting a windows iso image and fix the ACLs from there, nope, also failed for the same bunch of files of FS2020. (Permission Denied while on a live image? Wow)
Last resort, I booted up Linux and tried removing the offending folders from there, only to find out that... Huh. The NTFS module labelled the offending folders as... broken links leading to an "unsupported reparse point". But hey, it let me remove it at least.
Since then, it no longer appeared as installed, but... Now, anytime I want to install it, it just throws an error 0x00000001 with no further details.
So yeah, I know I caused this myself, but after fiddling with the permissions and ACLs and NTFS dark magic, I feel justified in saying - Fuck you WindowsApps DRM.4 -
I've always been a strong critic of the mac operating system and apple in general for they're overpriced products. few months back my old laptop kicked the bucket and repairing it was not an option as i was sick of charging the laptop after every 3-4 hours and had to purchase a new laptop immediately. loooking at my options around 50k rs or 700$ all windows laptops available in indian markets sucked (except for lenovo 320s) so i made the shift to macbook air 2017.my daily work involves photoshop illustrator and a dash of premiere pro. I also work on nodeJS and python using the pycharm and atom IDEs. After using it for a month i feel in love with mac platform and macos. Its a wonderful experience. gone are the days of crashes and the windows updates (ugh). the boot of the laptop is like magic and softwares like wmware imovie and notes keynote are f**king awesome. Long hours of work have become fun rather than hell dealing with constant windows gimmicks and bad battery optimisation on linux.
An explanation why all developers (except for the ones who require high powered gpus) graphic designers should shift to macos rn.
Advantages of using mac
No forced updates update whenever now or a f'ing month later no probs.
better battery optimisation than linux
no more installing os again and again (ubuntu)
better vm than virtualbox (vmware)
terminal for running bash commands
no crahes
Xcode platform
trackpad is worlds better than the best windows trackpad
Disadvantages
some softwares not available for macos
storage is generally less on macbooks
UI is simple (less elaborated than windows)
Workarounds
get a vm and install linux(vmware fusion 8)
ps. u may not need it though
wine and wine bottler for using windows apps
get a microsd to sd adapter for macbook and expand storage5 -
(Yes, another one of these)
Can someone please explain why android studio (including emulator, but still) plus a couple of firefox tabs and windows 10 occupy the ~8.7GB of RAM that are 74% of the 12 gigs I have? Especially since summing up the ram in use by applications according to task manager makes it look like only 3gb. Is Android Studio using some dark magic to conceal its RAM usage? What the hell!2 -
I'm doing a project for uni in Omnet (C++ framework that should facilitate working with networks of queues, simulating and displaying statistics).
I needed to retrieve a random value from an exponential distribution, and the function to do so requires a random number generator as input. The framework has 2 implementations of the RNG and I picked the first one.
I spent 3 hours trying every possible thing, using both the exponential() function and its class wrapper (both provided by the framework), it was always returning 0 or NaN.
The RNG was spitting out values correctly, so I thought it was okay.
When I was almost ready to give up, I figured I could try and change to the second implementation of RNG, expecting nothing to change. And it fucking worked.
Zero reports on this behavior on Google, no apparent reason why it would work with one and not with the other when the two RNGs literally implement the same abstract class and spit out the same exact numbers... Just black magic...
Oh and cherry on top, it works with the raw function but not with the class wrapper on that same function... IF YOU GOTTA IMPLEMENT SOMETHING IN YOUR DAMN FRAMEWORK THAT DOESN'T WORK, FUCKING DON'T! 1 combination working out of 4 is not good! Or at least document it!
Sorry just had to share my pain -
I go to add a method call in a business logic class that's used exclusively in a particular service, and get blocked in the PR by some other guy-
Other Guy: refactor this into the shared framework referenced by all our microservices
Me: it is only and would only be used in this service
OG: what about the other business logic class in this service?
Me: it's not used there, and if it does end up used there then we can refactor it into a class that they both reference then
OG: I need to know when the abstraction of this function will be done. is it going to be delivered next sprint?
Me: YAGNI - better to avoid doing extra work when we don't know if we'll even need it
OG: tbh you can still abstract it with some generics and lambda magic, but im not gonna enforce that
Me: premature abstraction is the root of all evil (tongueout)
OG: not really, its the root of not having a million miles of tech debt in 2 years
I just can't win for losing with the anti-YAGNI yogi.1 -
Oh, here's an environment variable that needs to be set in order to work, not mentioned at all in the documentation, only found when your CI/CD fails, blah blah blah i'm an ignorant human who doesn't give a shit enough or have enough pride in my job to write proper documentation
meanwhile managers and "product types" - we don't care about documentation, just being faster and that newest AI blockchain chatbot that we need now even though we don't understand the first damn thing about it, slop slop barf barf
Source, not a small at all org: it's the docker orb: https://circleci.com/developer/...
You need to set the docker password as an environment variable, its not just an amazing 3 step magic wand as the 'steps' suggest
yawn
but you know what? waste my time, as well as all the other developers down the road, that's just how it is these days you know2 -
Wow Go is awesome, throwing some of its magic and making data ingestion that took one minute plus and make it run under 3 seconds.
Feels good -
Working on an Angular project for the change of things. God, please kill me already.
Its fucking slow - hot reload? I am gonna make myself a coffee in the meanwhile
Its fucking stupid - Why make it easy when you can make black boxed. Make the magic happen!
And please dont get me started on Ressources, documentation, error messages and all the other stuff thats annoying here. Never going back to Angular, if it wasnt paid that well…3 -
A very long rant.. but I'm looking to share some experiences, maybe a different perspective.. huge changes at the company.
So my company is starting our microservices journey (we have a 359 retail websites at this moment)
First question was: What to build first?
The first thing we had to do was to decide what we wanted to build as our first microservice. We went looking for a microservice that can be used read only, consumers could easily implement without overhauling production software and is isolated from other processes.
We’ve ended up with building a catalog service as our first microservice. That catalog service provides consumers of the microservice information of our catalog and its most essential information about items in the catalog.
By starting with building the catalog service the team could focus on building the microservice without any time pressure. The initial functionalities of the catalog service were being created to replace existing functionality which were working fine.
Because we choose such an isolated functionality we were able to introduce the new catalog service into production step by step. Instead of replacing the search functionality of the webshops using a big-bang approach, we choose A/B split testing to measure our changes and gradually increase the load of the microservice.
Next step: Choosing a datastore
The search engine that was in production when we started this project was making user of Solr. Due to the use of Lucene it was performing very well as a search engine, but from engineering perspective it lacked some functionalities. It came short if you wanted to run it in a cluster environment, configuring it was hard and not user friendly and last but not least, development of Solr seemed to be grinded to a halt.
Elasticsearch started entering the scene as a competitor for Solr and brought interesting features. Still using Lucene, which we were happy with, it was build with clustering in mind and being provided out of the box. Managing Elasticsearch was easy since there are REST APIs for configuration and as a fallback there are YAML configurations available.
We decided to use Elasticsearch since it provides us the strengths and capabilities of Lucene with the added joy of easy configuration, clustering and a lively community driving the project.
Even bigger challenge? Which programming language will we use
The team responsible for developing this first microservice consists out of a group web developers. So when looking for a programming language for the microservice, we went searching for a language close to their hearts and expertise. At that time a typical web developer at least had knowledge of PHP and Javascript.
What we’ve noticed during researching various languages is that almost all actions done by the catalog service will boil down to the following paradigm:
- Execute a HTTP call to fetch some JSON
- Transform JSON to a desired output
- Respond with the transformed JSON
Actions that easily can be done in a parallel and asynchronous manner and mainly consists out of transforming JSON from the source to a desired output. The programming language used for the catalog service should hold strong qualifications for those kind of actions.
Another thing to notice is that some functionalities that will be built using the catalog service will result into a high level of concurrent requests. For example the type-ahead functionality will trigger several requests to the catalog service per usage of a user.
To us, PHP and .NET at that time weren’t sufficient enough to us for building the catalog service based on the requirements we’ve set. Eventually we’ve decided to use Node.js which is better suited for the things we are looking for as described earlier. Node.js provides a non-blocking I/O model and being event driven helps us developing a high performance microservice.
The leap to start programming Node.js is relatively small since it basically is Javascript. A language that is familiar for the developers around that time. While Node.js is displaying some new concepts it is relatively easy for a developer to start using it.
The beauty of microservices and the isolation it provides, is that you can choose the best tool for that particular microservice. Not all microservices will be developed using Node.js and Elasticsearch. All kinds of combinations might arise and this is what makes the microservices architecture so flexible.
Even when Node.js or Elasticsearch turns out to be a bad choice for the catalog service it is relatively easy to switch that choice for magic ‘X’ or component ‘Z’. By focussing on creating a solid API the components that are driving that API don’t matter that much. It should do what you ask of it and when it is lacking you just replace it.
Many more headaches to come later this year ;)3 -
I need advice fellow developers, am I stubborn?
So I lost an argument in my team regarding constant vs variable directly in a method for stored procedure names.
I separated names of procedures into their own StoredProcedureConstants file because it makes it very easy to see all procedures used in a project and refactor their names if necessary. Argument against was that you loose time creating a constant. Am I silly if I am alergic to seeing quotation marks stuff without its designated purpose throughout the code?
Their way is adding var procedureName = "cc.storeProcedureName" directly in a method. I just can't find my peace with it. To me this is a magic string.
Am I being unreasonable?3 -
what the f....
So I'm making some changes to my setup. I'm relieving my current router from its duties and retiring it as a mini PC for my desktop setup. And I got my hands on a Dell Optiplex that will become my new router.
Now, firstly, the Optiplex came w/o a wifi antenna. I booted it up into a LinuxMint install USB for the first time and didn't expect much from it, but to my surprise, I got a popup: "There are wifi networks available". At that spot there was also my Fenvi PCI wifi card's antenna of my current (soon-to-be-previous) PC and it was barely seeing any wifi, and there came Optiplex with NO antenna attached to it and it managed to maintain stronger and more stable signal. wtf....
Alright, it's Fenvi, it's chinese -- there's probably not much I should expect from it.
Then I hooked it up right next to my current router with an external USB wifi adapter having 4x6dBi antennas on it, serving as my current wifi AP. Trying out hostapd configs, searching for the right channels,... should I test it? Naah, it still doesn't have an antenna - it won't reach my laptop. Meeh, for shits and giggles! `hostapd -d /etc/hostapd/hostapd_custom.conf`, on my lappy `nmcli d wifi rescan; sleep 5; nmcli d wifi` and... wtf... To my surprise, the AP was there! A thick wall away, no antenna whatsoever, and I still could connect to that Optiplex AP and post this rant!
What magic is this??? I'm now a bit concerned about ordering an antenna for it - I'm worried it could either worsen the signal or make it so strong that it'll fry my brains overnight.4 -
Storytime.
Our prometheus node, one of your oldest systems (somehow fits the Titan reference..), is about to be relieved of its duties after several years of loyal services to the crew.
We decided to run with another Prometheus node in the ring, that will run simultaneously with the old one, so that the new one can start to collect metrics that we need for alerting (some historic metrics are needed too..). sort of an Prometheus cluster, without the cluster fun and with 2 different Prometheus versions.
The problems with this? Well it's not the new node or the latest shit versions of Prometheus per se.
1: The node exporter.
those dudes decided to make some breaking changes in a minor update, so that you will need to run with some magic bullshittery, that the latest Prometheus can make something out of the old metrics provided by the old node exporters.
The other one is the related puppet code.
The node definitions for Prometheus were built via exported resources on the target nodes.
The code worked like a charm with only one Prometheus node, but try that with two instances in the same way.
Still WIP, but some targets are already included in the new Prometheus instance.
alerting works so far.
Can't wait to close this ticket for good.. -
The Node and its magic tricks never cease to surprise me.
I created several new components and tried to compile them for verification. Then this big fat error popped up.
I commented out all the newly created code (didn't remove any files, just did ^A^/). Recompiled. This big fat error again.
Undid modifications I made to the files that existed there before. Recompiled. This big fat error again.
Moved the newly created files outside of the project scope (mv app/<...>/featureX/ ../bkup/). Recompiled. SUCCESS.
Moved all of those files back (mv ../bkup/featureX app/<...>/). Recompiled. SUCCESS.
wtf...2 -
Maybe it's hard to get CSS calc() right,
but to make it really complicated,
let SASS do its erratic magic on it2 -
The 'geniuses' at Business doesn't seem to figure out why all of their systems turn out to be dogshit and outdated within a year or two.
Its because they don't even involve developers/IT into ANY of theirs decisions.
It's kinda like the patient telling the brainsurgeon how to do their job.
Hey, I get it. We are a bunch of antisocial wizards conjuring black magic at our computers all day. I would stay the fuck away from us if I were you aswell, but please for the love of Cthulhu, let us in on your great plans and amazing decisions before assigning blame.
Regards,
Th3 h3ckerz at IT1 -
You can call me a noob developer, but I still think its magic when your code doesn't work. So you step through your code to see what's wrong. But you can't see it. So you just hit continue just to see your code is now working3
-
Once a React aficionado, twice the frustration we endure,
In the realm of libraries, React's problems seem impure.
With Svelte's elegance and grace in our sight,
Let's vent about React, as day turns into night.
Boilerplate Overload, a monotonous affair,
Classes, constructors, lifecycle steps we declare.
In Svelte's simplicity, we find a breath of fresh air,
Just markup and magic – a coder's love affair.
Complex State Management, React's Achilles' heel,
Redux, Mobx, and their massive code appeal.
Svelte's state handling is a cinch, for real,
No more tangled webs of logic to conceal.
Unnecessary Re-Renders, React's performance woe,
Countless updates, like a never-ending show.
Svelte updates what's needed, like a pro,
Efficiency and speed, in its radiant glow.
Verbose Syntax, JSX's verbosity on display,
HTML in JavaScript, causing dismay.
Svelte's concise template syntax lights our way,
No more endless tags, just code that's here to stay.
Lack of Truly Reactive Behavior, React's hurdle high,
Hooks to wrangle, state to satisfy.
Svelte's reactivity, no need to question why,
It just works, oh my, oh my.
Ecosystem Complexity, React's sprawling sprawl,
Choices galore, making us bawl.
In Svelte's world, simplicity is the call,
A coherent ecosystem, it has it all.
Learning Curve, React's mountain to climb,
Classes, hooks, context, a hill of time.
Svelte's gentle curve feels sublime,
A smoother path to code, so fine.
Tooling Overkill, React's complex array,
Build tools, linters, configs in disarray.
Svelte's streamlined setup leads the way,
No more intergalactic code buffet.
Debugging Headaches, React's mysterious realm,
Complex state, intricate components overwhelm.
Svelte's predictable model, a soothing helm,
Debugging becomes a peaceful realm.
In the end, React, a complex labyrinth we explore,
Svelte's elegance and simplicity we adore.
If only React could learn, its problems to deplore,
A brighter future, for React we'd implore.3 -
Was watching OITNB at home when boss called sounded urgent about SSL not working on one of our subdomains. We use a paid cloud app for some of our reports which. So the subdomain is a CNAME to the providers app subdomain. Recently there was an upgrade at our hosting but it shouldn't be related.
Boss: Hey, there is an error prompt when I visit our reporting site with https
Me: That's cos we never installed any SSL cert for that subdomain.
Boss: Well it worked before and you will need to get it fixed.
Me: Wait.. It worked before? How is that possible? We've never set it up and the subdomain is a CNAME pointing to another site which we don't own. The cert will have to load from their server and we have not done any setup with them.
Boss: I'm very sure it worked before the hosting upgrades. All along our customers has been accessing with https.
Me: Okay.... That's something new because and I am pretty SURE the last I checked, the app provider doesn't allow that yet.
* meanwhile I when to search the app provider docs and it says not able to support multiple SSL yet for CNAME
Me: Look, it says so here in the docs.
Boss: Ok, can you try to fix it as its important for the users to not see that error. It has been working all along.
Me: Hmmmm... I'll get back to you.
How do I fix something that didn't exist / broken?? How did it work before??
I know it can be possible to install the cert on the cloud provider end but we haven't done this before. And their support docs says feature not available yet.
Was it magic?? Am I missing something?? Anyway, I've sent an email to the provider's support team and telling them "it worked before" -
I'm planning to make a dashboard web app with data analytics. It'll also include subscription option. So I'm trying to decide which language to use on the back end which I planing to make as RESTful api.
Current options for the backend are python, Ruby and php.
I'm not really sure about python. Ruby seems interesting, but I've read its a bit slow and some of the codes does look like magic. I'm very familiar with php, so I'm very biased toward it right now to use php with Lumen framework.
I'm also hoping to scale up the system in the future.
So, can you guys gimme a little help here in choosing a language and framework.1 -
About a month in and I've found that Github copilot code suggestions are like magic half the time. The other half is useless garbage.
However, writing comments has been a dream. 99% of the time it gives the correct description. If anything its worth using for just that.1 -
Waking up with a Red wine hangover only to find out the banks changed its cc processing system. That easy to set up extension I'd planned on using today won't work... I've got to write one from scratch.
Can someone please magic me to tomorrow? -
My shitting streak has begun again. Fuck. Its cold where i live and in my house. Shitting liquid shit doesnt help because my asshole burns. Its not fun and not enjoyable. Im trying to hold shit inside me but it forces me to shit. And if i shit it burns. Imagine being in a cold -75° weather while your asshole is burning heat at +45°. Why is life such a constant stream of pain and suffering. I write this as i sit on the toilet and fight demons not to shit more in order to prevent pain
Why did our designer invent shitting and thought it was a good idea?
I can think of a better idea: whatever i eat gets dissolved into particles by acid that my body produces like an implosion inside a submarine and transforms into pure energy that my body absorbs and thus makes the body more powerful -- no need to shit it out because its now a bunch of fucking particles!
WHY wouldnt that be a better solution. Shitting is disgusting and makes no sense if this solution is also possible. And for an omniscient all-powerful all-knowing celestial being -- NOTHING is impossible to do.
what we perceive as "magic" is normal to an all-powerful celestial entity. Therefore any thought you can imagine, should be possible to do. Even the idea i just proposed because i proved i could imagine it so it must be possible to create such existence
And as i finish writing off this rant, my asshole burns less and everything is coming back to normal Thank God. The pain was bearly bareable. As a finishing touch of this rant imma go wipe my ass for 100th time today and continue working with nextjs on my project3 -
Holy fucking shit. Trying to earn magic internet money or start my own business is much harder than i expected. Its so fucking exhausting. Now that i tried (and of course failed) and when i come back to this traditional 9-5 job hunting slave shit... I can't believe how easy having a job is! Are you kidding me. Having a job is like the simplest thing someone can do. Sure id earn at least a minimum wage and sure i wouldn't be happy but i can get a job and then what? How is $500/month gonna solve all of my problems + my gfs problems + my parents problems? Fuck outta here. What must a dev do to get paid high salary shit. This shits ridiculous. Please send me links of some remote work websites where i can actually apply and get hired for a decent salary
-
Hypothetically, your parents partly own a company. They ask you to do some technical stuff for this company (They think its easy, but technically speaking its not. IT isnt magic), but you've got a graduate school, an unfinished research proposal, and a day job with deadlines to deal with. You still do it anyway. Do you have a right for some sort of compensation? Do you have the right to reject?12
-
!tech
( sorry to those who have to bear with my non tech posts that i put too often. my tech/work life has been fine so far, its my personal life that is fucked up and venting it anonymously gives me some peace/solutions)
I sometimes feel that being brought up in a loveless home where i have only seen parents fighting and throwing abuses/stuff at each other, i haven't got the knowledge about how to raise a loving family.
The only goal we seem to have is to fight out our misery-filled, middle class life, and keep running for getting wealth.
Le my parents:
- Go outside in evenings/weekends? nah why bother, we don't wanna see each others' faces
- Spend time/ share room together? nah why bother, we don't wanna see each others' faces
- Family trip? nah why bother, we don't wanna see each others' faces . We can take our trips separately with our our religious/work friends
- visit relatives? nah why bother, relatives are bad.
I am not blessed with a lot of relationships, so i like to compare each of the bonds i got. I am playing the role of a son/single child and friends of some dudes. I am currently not playing the role of a lover, so i don't know about it, but my relationship with my friends is more exciting than mine with my family.
Those guys just wanna do everything together if it had been in there hands. 3 out of our 5 guy gang has joined the same group, 2 of them live on the same rented floor , and 2 of them work in same office. They want to keep their 24 hrs as a chill gang hanging together, but we somehow have restricted our group hangouts to weekends.
Even then , whenever we meet, its like we won't go back till 2 am. useless banter, cussing, daring stuff , etc. life is exciting with my boys .
I feel this kind of energy is something i would want in any of my relationship. but i have no idea how people create this magic in groups of 2. i am usually the most boring person to talk to, when i am alone. because i simply don't know how 2 people who vow to spend their lives together can keep each other happy, interested and content
I feel this is such a disastrous thing in my life that i won't be able to sustain any relationship/family even if i somehow get one :/2 -
In the dynamic realm of software development, where the user interface meets the complex machinery behind the scenes, Back-End Expertise https://sombrainc.com/expertise/... emerges as the unsung hero. As businesses increasingly rely on digital platforms to connect, engage, and transact with their audience, the prowess of back-end development becomes paramount.
At its core, Back-End Expertise refers to the specialized knowledge and skills required to architect, build, and maintain the server-side of applications. While the front end dazzles users with intuitive interfaces and captivating designs, the back end silently weaves the intricate tapestry that ensures seamless functionality, robust security, and optimal performance.
The Back-End Symphony: Orchestrating Digital Harmony
Imagine a symphony where each instrument plays its part to perfection, creating a harmonious melody. Similarly, in the world of software, the back end orchestrates a symphony of databases, servers, and frameworks, ensuring that data flows smoothly, operations execute seamlessly, and applications respond promptly to user commands.
Back-End Experts are the virtuosos who write the code that makes applications tick. They delve into the intricacies of databases, crafting queries that retrieve and store data efficiently. They architect server-side logic, meticulously designing algorithms that power functionalities ranging from user authentication to complex business processes.
Security as the Forte: Safeguarding the Digital Fortress
In an era where data breaches loom as potential threats, Back-End Expertise becomes a formidable fortress. These experts implement robust security measures, safeguarding sensitive information and ensuring the integrity of digital ecosystems. Encryption, authentication protocols, and secure API integrations are the tools of their trade as they create digital bastions against cyber threats.
Optimizing Performance: The Need for Speed
User experience hinges on speed, and Back-End Experts understand the importance of optimizing performance. Through efficient coding practices, load balancing, and server-side optimizations, they strive to minimize latency and ensure that applications respond swiftly, even under heavy user loads.
Future Trends: Back-End Evolution
As technology evolves, so does the landscape of back-end development. Cloud computing, serverless architectures, and microservices are shaping the future of back-end expertise. Back-End Experts must adapt to these trends, embracing new tools and methodologies to stay at the forefront of innovation.
In conclusion, Back-End Expertise is the backbone of digital experiences. While users interact with the front end, the magic unfolds behind the scenes, where Back-End Experts craft the architecture that defines the reliability, security, and performance of applications. Their alchemy transforms lines of code into seamless digital experiences, leaving an indelible mark on the ever-evolving landscape of software development.1 -
Context: I run a chatbot company
Why the fuck does google on actions has to have such a shitty API? Its not even an API, it's a CLI that does some magic uploading to somewhere, no webhook normal integration, no message routes. Everything goes through a magic sdk that does who knows what2 -
Obviously the top item on the table is NN, the "end users" from both sides of the connection on the net are for the saving it, and the middlemen that only own the "cables" want it to be repealed.
We have the solution to end this issue forever. It wont be easy, nor will it be fast.. unless certain "entities" team with us in secrecy. (There's a reason why certain "entities" have stayed silent regarding NN, due to agreements to not get involved due to the risk of backlash. AND if NN is repealed Those Entities cannot fix the problem as their hands are tied to continue to provide content to the end users.) Read between the lines you will understand it will all make sense later.
I will make The Official Public Statement within 24 hours of the FCC Vote. That statement will be how to get involved, help, get us jump started in your area, funding, the ENTIRE details of the plan, goals, and timeline. AS WELL as how to contact us. This will take time and we are not a magic solution that will fix the problem overnight.
We are however THE solution to the underlying problem with ISPs of today. We have been researching for quite a while and digging deep into the entities that have caused us to get where we are now. The further you go digging into 'THEM' the more pissed off you become as you truly realize whats going on and has been on among the ISPs its MUCH deeper than you are being told.
OUR solution will remove all of "them" from the equation completely as well as being faster, and cheaper than the Tier 1 as you wont be paying for the connection or speed, you would be paying for the hardware/overhead cost. AND we will be bringing you closer to the content providers than EVER before.
AND we will be the only solution capable for competing in the current Tier1 Monopoly zones, I promise you they cannot match our plan's price, IF they did it would be only as a loss leader and NOT a sustainable long term solution for those competing with us at are for-profit....
In order for our solution to work, and to keep the internet service non-bias, well non-bias from OUR members :) this will need to be a collective effort, focused one clearly defined vision. WE WILL AND WE MUST ALL set "profits" aside on this as profits in selling nothing other "connection" to the internet has gotten us in the mess we are in now. AND YES we realize profits help maintain and upgrade the infrastructure, BUT that isn't true in this case...Overhead from our view includes those anticipated costs.
Smaller ISPs will need to make a decision, give up profits, become one with us, and be apart of the mission OR they will be left to suffer at the mercy of the ISPs above them setting the cost of bandwidth eventually leading to their demise.
This will happen because we wont be bound by the T1s .... WE would be the "Tier 0" that doesn't exist ;)
This sounds crazy, impossible, BUT its not, it will work WILL happen, regardless of the FCC's vote. as if the FCC choices to keep NN, its only a matter of time till the big lawyers of the ISPs find some loophole, or lobby enough to bring us back to this.
Legistlation is NOT the solution its just a band-aid fix as the cancer continues to grow within.
PLEASE understand that
Until the vote is made, and we release what we are doing, stay put, hang in, it will all be explained later, we are the only true solution.
BIG-ISPs WILL REGRET WHAT THEY HAVE DONE!
What needs to be understood by all is with net neutrality inplace the ability to compete aginst the Tier 1s directly over customers and reinvent the internet to lower or remove costs completely, increase speeds AND expand to underserved/unserved communities ITS NOT POSSIBLE WITH NN
NN REPEAL is the only way to the fixing the problem for good... yes the For profit BIG ISPs will benefit but not forever.. as repealing it opens the doors for outside the box big picture innovators to come in and offer something different, the big ISPs have clearly over looked this small detail being the possibility of a “NonProfit CoOp TIER 1 ISP” entering into the game thru end users and businesses working together as one entity to defeat them... THE FOR PROFIT ISPs over looked this because they are blinded by the profit potential of NN Repeal, never did they consider our option as a possible outcome because no one has attempted it....
We will unite as one
Be the first to know! -stay updated
SnapChat: theqsolution