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 - "old components"
-
Hi, I am a Javascript apprentice. Can you help me with my project?
- Sure! What do you need?
Oh, it’s very simple, I just want to make a static webpage that shows a clock with the real time.
- Wait, why static? Why not dynamic?
I don’t know, I guess it’ll be easier.
- Well, maybe, but that’s boring, and if that’s boring you are not going to put in time, and if you’re not going to put in time, it’s going to be harder; so it’s better to start with something harder in order to make it easier.
You know that doesn’t make sense right?
- When you learn Javascript you’ll get it.
Okay, so I want to parse this date first to make the clock be universal for all the regions.
- You’re not going to do that by yourself right? You know what they say, don’t repeat yourself!
But it’s just two lines.
- Don’t reinvent the wheel!
Literally, Javascript has a built in library for t...
- One component per file!
I’m lost.
- It happens, and you’ll get lost managing your files as well. You should use Webpack or Browserify for managing your modules.
Doesn’t Javascript include that already?
- Yes, but some people still have previous versions of ECMAScript, so it wouldn’t be compatible.
What’s ECMAScript?
- Javascript
Why is it called ECMAScript then?
- It’s called both ways. Anyways, after you install Webpack to manage your modules, you still need a module and dependency manager, such as bower, or node package manager or yarn.
What does that have to do with my page?
- So you can install AngularJS.
What’s AngularJS?
- A Javascript framework that allows you to do complex stuff easily, such as two way data binding!
Oh, that’s great, so if I modify one sentence on a part of the page, it will automatically refresh the other part of the page which is related to the first one and viceversa?
- Exactly! Except two way data binding is not recommended, since you don’t want child components to edit the parent components of your app.
Then why make two way data binding in the first place?
- It’s backed up by Google. You just don’t get it do you?
I have installed AngularJS now, but it seems I have to redefine something called a... directive?
- AngularJS is old now, you should start using Angular, aka Angular 2.
But it’s the same name... wtf! Only 3 minutes have passed since we started talking, how are they in Angular 2 already?
- You mean 3.
2.
- 3.
4?
- 5.
6?
- Exactly.
Okay, I now know Angular 6.0, and use a component based architecture using only a one way data binding, I have read and started using the Design Patterns already described to solve my problem without reinventing the wheel using libraries such as lodash and D3 for a world map visualization of my clock as well as moment to parse the dates correctly. I also used ECMAScript 6 with Babel to secure backwards compatibility.
- That’s good.
Really?
- Yes, except you didn’t concatenate your html into templates that can be under a super Javascript file which can, then, be concatenated along all your Javascript files and finally be minimized in order to reduce latency. And automate all that process using Gulp while testing every single unit of your code using Jasmine or protractor or just the Angular built in unit tester.
I did.
- But did you use TypeScript?37 -
Oh my god... Storytime.
A customer comes in with I assume is his father or grandfather.
Customer: I need a computer, but without all the internals
Me: So a case?
Customer: Yes, I need a Dell computer outsides, but without the internal components.
Me: Well, we don't have Dell cases, but we sell custom build cases and they come with a power supply.
Customer: *says nothing, but looks interested*
Me: *walks over to the cases to show him* So this is what the cases look like and we have two types, one for a ATX and one for a micro-ATX.
Customer: *still says nothing, but looks at them*
Me: What motherboard do you have at the moment?
Customer: Well, I don't have anything right now, but I'm replacing another computer that didn't work very well. I'm going to be getting some Dell parts to put in here.
Me: O-okay. So this other computer, I'd like to see it in shop to see what's going on with it.
Customer: Oh, you do NOT want to do that. I hooked it up to another computer and it blew it up.
Me: Huh, that's weird. I'd still like to look at it if possible.
Customer: Oh no, it's all wired wrong and... *some bullshit, but stay with me*
Customer: I am the best at technology. My hand has computer parts in it--government funded. *some more bullshit*
Me: Okay... *I try to bring it back around* Well, I'd still like to see the other computer for myself. So you don't have parts for this new build yet, right? You don't know what type of motherboard you have?
Customer: No.
Me: Well, I would get the internals first, so you know what size of case to get, and then get the case.
Customer: Okay. Thank you for your time.
He shook my hand with his "cyborg" hand and I was tempted to say something about "try not to crush my hand," but elected not to. Also during this entire exchange, the old man continuously farted in the background.22 -
Me, doing ui design: 'hm, i feel like jumping into machine learning right now'
Me, writing a ml chatbot: 'but what if i extend flutter with my old custom android components'
Me, porting java components to dart: 'hold on, p5js has vectors, i could make a physical simulation'
Me to me: 'why are you like this'10 -
Background: I'm not drunk yet, BUT I'M WORKING ON IT.
okay.
I just finished a second sprint on my React app. The first was to build a merchant onboarding flow. The second was to do substantial cleanup as I learned more about react/redux, and to create a "supply order" flow -- basically purchasing marketing materials and services. I finished that in a week, and I'm pretty proud. api-guy wanted it done in a day. i laughed. he probably could have, but it would have been a copy of the code in a new repo with some lines changed.
ANYWAY. it's all done and It's super pretty and works amazingly well. It has both the onboarding flow and the ordering flow, with a nice pop-out sidebar for navigation, namespaced actions, etc. Everything is pretty clean. I even added a cart to the ordering (despite everyone telling me not to) because wtf, what if someone wants to order TWO items? dumbasses. So I made that. it's sexy.
Anyway, it's all done and shiny and fancy and wonderful and I'd *love* to share screenshots if only it didn't give away where I worked. :<
... but the point of the rant!
After the first sprint, I made a copy of the repo so I could rework it and add more functionality without touching the original. (Hey! That's what a branch is for, right? Why didn't I branch it up?
well, read on)
I knew we were going to have multiple separate flows for this app: onboard, ordering, merchant tools, admin tools, support, etc. So, I wrote its server portion (the webpack builder + http server) so it would serve the same app at whatever url the user hit, and set a cookie containing that host+url. This allows the app to serve different content (basically showing/hiding content) based on the URL and future login roles. If someone hits /order, it would hide everything but the order flow. If they're a merchant, it would show all the merchant views plus ordering, etc.
tl;dr This way I can use the same codebase for multiple sites, drastically simplifying development, branding, and what have you. This new app could obv also be a drop-in replacement for the original onboarding project because of the above.
HOWEVER. this apparently isn't good enough for api-guy. He's terrified that adding/updating future components will affect all the existing content somehow.
so.
now we have three repos for basically the same codebase. 1) onboard aka "surfboard", 2) ordering, 3) merchant tools, aka "ferrari" (the "future" app).
Except.
1) "surfboard" is a very old version of the code. 3) "ferrari" is also old, since 2) "ordering" has newer content in it now.
... and somehow this is better?
fuck if i can figure out how.
His reasoning is "well, you won't be touching surfboard or ordering for 6 months, so now you don't have to worry about it." Sure, except, you know, it'll be a pain in the ass in 6 months now when I have a crapton of code and branding to redo. ffs.
Oh. We also have three Heroku pipelines for these three repos. for the same codebase.
and now you know why i'm drinking.undefined idiocy fucking hell fuck this noise api guy i'm just gonna replace everything later this codebase is as dry as the friggin ocean7 -
A person just bought a 3000€ workstation and asked me to install cracked versions of Office, AutoCAD, full Adobe suite and Rhino with plugins. And he's going to use them at work to make money.
So, since I have to, I installed 2-3 years old versions of each, in English (he only knows Italian) and blocked all the connections so he can't receive any update/fix or use web related functionalities. I also disabled all autostarting components and contextual menu / OS integrations (although this can be seen as a plus).
When he's calling me asking to "fix" things, I will simply say "sorry, it's the only way for the crack to work, if you want everything you'd better pay for a license or else go open source".
Why can't people understand the value of the complex software they use? Just because it's not a material thing doesn't mean it's not a steal42 -
Just thought I'd share my current project: Taking an old ISA sound card I got off eBay and wiring it up to an Arduino to control its OPL3 synth from a MIDI keyboard. I have it mostly working now.
No intention to play audio samples, so I've not bothered with any of the DMA stuff - just MIDI (MPU-401 UART) and OPL3.
It has involved learning the pinout of the ISA bus connectors, figuring out which ones are actually used for this card, ignoring the standards a little (hello, amplifier chip that is wired up to the +12V line but which still happily works at +5V...)
Most of the wires going to it are for each bit of the 16-bit address and 8-bit data. Using a couple of shift registers for the address, and a universal shift register for the data. Wrote some fairly primitive ISA bus read/write code, but it was really slow. Eventually found out about SPI and re-wrote the code to use that and it became very fast. Had trouble with some timings, fixed those.
The card is an ISA Plug and Play card, meaning before I could use it I had to tell it what resources to use. Linux driver code and some reverse-engineering of the official Windows/DOS drivers got me past this stage.
Wired up IRQ 5 to an Arduino interrupt to deal with incoming MIDI data, with a routine that buffers it. Ran into trouble with the interrupt happening during I/O and needing to do some I/O inside the handler and had to set a flag to decide whether to disable/re-enable interrupts during I/O.
It looks like total chaos, but the various wires going across the breadboard are mainly to make it easier to deal with the 16-bit address and 8-bit data lines. The LEDs were initially used to check what addresses/data were being sent, but now only one of them is connected and indicates when the interrupt handler is executing.
There's still a lot to do after that though - MIDI and OPL3 are two completely different things so I had to write some code to manage the different "channels" of the OPL3 chip. I have it playing multiple notes at the same time but need to make it able to control the various settings over MIDI. Eventually I might add some physical controls to it and get a PCB made.
The fun part is, I only vaguely know what I'm doing with the electronics side of this. I didn't know what a "shift register" was before this project, nor anything about the workings of the ISA bus. I knew a bit about MIDI (both the protocol and generally how the MPU-401 UART works) along with the operation of a sound card from a driver/software perspective, but everything else is pretty new to me.
As a useful little extra, I made some "fake" components that I can build the software against on a PC, to run some tests before uploading it to the Arduino (mostly just prints out the addresses it is going to try and write to).46 -
My father's PC is almost dead.
The PSU is damaged and it turns on correctly 1 time out of 250 or more.
There are days that he tries to turn it on at 8am, and it can finally use it at 8pm.
Also the other HW components are old, so I tried to convince him to buy a new PC, there was an offer where they also give you for free a new 24 inches monitor (now he has a fucking 19 inches old one).
But he doesn't want to invest in a PC.
Even if he spends almost the entire day by surfing on internet and watching movies!
So, I recommended him to change only the PSU, the same identical model costs only €39.
But he doesn't want to invest in it... he prefers to lose the entire day trying to use his fucking PC.
I really don't understand why some people just don't want to spend a bit to improve their life!
The comfort is worth it... the time of life you're wasting to use that fucking PC is more important than €39.
I tried different times to find other possible issues, but it's clearly a PSU problem, so obviously I can't fix it using magic.
Not in my father's opinion... "You don't know anything about computer science... nothing! Go to your fucking university (I'm studing Computer Engineering), and study how to fix it!".
While he was saying that sentence, he was beating the case, because he's convinced that it's a better way to fix it.
I want to leave this fucking house right now.10 -
New computer! I named it P.E.A.C.H. which is supposed to be an acronym, but I couldn't find a satisfying meaning.
Mind the stickers. I'd love to put a devRant sticker there too.
Components:
- Gigabyte AORUS GA-AX370-Gaming 5
- AMD Ryzen 7 1700
- Scythe Mugen 5 "PCGH Edition"
- 16GB HyperX FURY DDR4-2666 DIMM CL15-17-17
- 500 Watt Cooler Master B500 ver.2 Non-Modular 80+
- 275GB Crucial MX300 2.5" (SSD)
- 1000GB Seagate BarraCuda ST1000DM010 (HDD)
- Sharkoon BW9000-W Midi Tower
- Some video card and DVD drive I removed from an old computer
It still needs a good video card and internet connection.
With the dual boot and my MacBook Pro I cover Windows, Linux and MacOS.20 -
!rant but history
I found this old micro controller: The TMS 1000 (from 1974). The specs: 100-400kHz clock speed, 4-bit architecture, 1kB ROM and 32 bytes (!) RAM. According to data sheet, you sent the program to TI and they gave you a programmed controller back - updates to the once upload program were impossible, but an external memory chip was possible.
I'm glad we have computers with more processing power and storage (and other languages than assembler) - on the other hand it enforced good debugging before deployment and and efficient code.
Data sheet: http://bitsavers.org/components/ti/...6 -
Almost 3 weeks back I joined a company as a React developer. For a week I had nothing to work on as they were already working on few projects.
So my senior asked me to take up a project(not yet live) which was developed by 2 interns, as the frontend guy's internship was about to end in 4 days I have to take over the front-end role.
So I talked to that guy for next 2 days regarding all the project scope, codebase and whatnot. But still not entirely convinced. As i got the repo access, I began to check the codes. God !! It was all spaghetti code. I was damn frustrated. And still I am.
This whole week I am trying to do the refactoring as much as I can, I completely lost interest.
I cannot blame the intern guy, he is smart and tried to do the best he could, as he didn't know about the company standards. Maybe I was too the same kind back then. Now he is gone and I am stuck building components over that code.
Bonus: He used some old react boilerplate.
-_-3 -
Definitely Godot Engine. One of the greatest and easiest Game Engines I have ever used! Lots of great features and there are getting more and more!
The inbuilt programming language GDScript is really awesome too! It's a custom language built extra for the Engine, which makes it super easy to use and integrate! The syntax is a bit like python but better.
Because it's not as old as unity or unreal engine, it's not as feature rich. But I think that's okay. It allows you to get used to the current existing features, and then heading on to the new ones.
What I really enjoy is that, just as in this community, you can just talk with the creators of the engine. Asking questions, suggesting features and discussing things! They'll answer nearly everything!
Not to mention the graphics! They are really good and are nearly able to compete against Unity!
There's also a visual language you can use. Just like Unreal Engine Blueprints! Never tried it tho...
The scenes system is very easy to understand. You basically have a lot of "components" which you can use in each of your scenes. This also allows for making simple extensions!
All in all, a great engine! If you are a game developer I can definitely recommend trying it out!2 -
I do not like the direction laptop vendors are taking.
New laptops tend to feature fewer ports, making the user more dependent on adapters. Similarly to smartphones, this is a detrimental trend initiated by Apple and replicated by the rest of the pack.
As of 2022, many mid-range laptops feature just one USB-A port and one USB-C port, resembling Apple's toxic minimalism. In 2010, mid-class laptops commonly had three or four USB ports. I have even seen an MSi gaming laptop with six USB ports. Now, much of the edges is wasted "clean" space.
Sure, there are USB hubs, but those only work well with low-power devices. When attaching two external hard drives to transfer data between them, they might not be able to spin up due to insufficient power from the USB port or undervoltage caused by the impedance (resistance) of the USB cable between the laptop's USB port and hub. There are USB hubs which can be externally powered, but that means yet another wall adapter one has to carry.
Non-replaceable [shortest-lived component] mean difficult repairs and no more reserve batteries, as well as no extra-sized battery packs. When the battery expires, one might have to waste four hours on a repair shop for a replacement that would have taken a minute on a 2010 laptop.
The SD card slot is being replaced with inferior MicroSD or removed entirely. This is especially bad for photographers and videographers who would frequently plug memory cards into their laptop. SD cards are far more comfortable than MicroSD cards, and no, bulky external adapters that reserve the device's only USB port and protrude can not replace an integrated SD card slot.
Most mid-range laptops in the early 2010s also had a LAN port for immediate interference-free connection. That is now reserved for gaming-class / desknote laptops.
Obviously, components like RAM and storage are far more difficult to upgrade in more modern laptops, or not possible at all if soldered in.
Touch pads increasingly have the buttons underneath the touch surface rather than separate, meaning one has to be careful not to move the mouse while clicking. Otherwise, it could cause an unwanted drag-and-drop gesture. Some touch pads are smart enough to detect when a user intends to click, and lock the movement, but not all. A right-click drag-and-drop gesture might not be possible due to the finger on the button being registered as touch. Clicking with short tapping could be unreliable and sluggish. While one should have external peripherals anyway, one might not always have brought them with. The fallback input device is now even less comfortable.
Some laptop vendors include a sponge sheet that they want users to put between the keyboard and the screen before folding it, "to avoid damaging the screen", even though making it two millimetres thicker could do the same without relying on a sponge sheet. So they want me to carry that bulky thing everywhere around? How about no?
That's the irony. They wanted to make laptops lighter and slimmer, but that made them adapter- and sponge sheet-dependent, defeating the portability purpose.
Sure, the CPU performance has improved. Vendors proudly show off in their advertisements which generation of Intel Core they have this time. As if that is something users especially care about. Hoo-ray, generation 14 is now yet another 5% faster than the previous generation! But what is the benefit of that if I have to rely on annoying adapters to get the same work done that I could formerly do without those adapters?
Microsoft has also copied Apple in demanding internet connection before Windows 11 will set up. The setup screen says "You will need an Internet connection…" - no, technically I would not. What does technically stand in the way of Windows 11 setting up offline? After all, previous Windows versions like Windows 95 could do so 25 years earlier. But also far more recent versions. Thankfully, Linux distributions do not do that.
If "new" and "modern" mean more locked-in and less practical and difficult to repair, I would rather have "old" than "new".12 -
Read the following in Morgan Freeman’s voice.
Okay everyone sit on down and get ready for story time. There once was a workspace that was a pain in the ass to setup. It often would take an entire day even for the most experienced devs on the team...for it was a workspace perched atop a swamp of shit that would require a whole year to refactor into something that isn’t shit.
It was inherited, passed down, stepped in and scrapped from the boot soles of every programmer that ever touched it. It was an amalgam of old, new, and third party components with a class path a mile long and no package management because the company although physically in the present, somehow maintained a temporal presence in the past. And there was nothing that the team hated more than setting that workspace. In short it was an unholy mess that made Satan cry and Dennis Ritchie spin in his grave so much that the state of California attached magnets and a coil to his body and casket to generate electricity.
Then one day the untalented clowns known as App Group decided that our IDE should be owned and configured strictly through them. They took poor Eclipse and mounted so much silly shit to it that it resembled a riding lawn mower with a fax machine and a blender duct taped to it. Eventually as everything the company touched did, it simply turned into a broken, shitty mess that not even Jesus Titty Fucking Christ could bring back the dead.
And then, every month or so the IDE would break in such a grand way that every developer had to rebuild their workspace...the very same Lovecraftian monster disguised as a code base. It was just too much to bear for old Deus. He was all out of fucks and there wasn’t enough alcohol in the world to quiet his injured soul. So he stood on a chair, carved his name in a rafter and tied a noose to it, put it around his neck and finally kicked the chair out from under himself. I am told he even pooped his pants and the post mortem shit in the seat of his pants was still better than the codebase at work. I’m Morgan Freeman. -
!rant
Got back into android development recently and while everything was pretty flawless ( I managed to get the basic concepts implemented in a day) something wasn't right.
For some reason I was not happy with the code i wrote, although I took examples from google and tried to adapt their code style. It looked aweful. I hated my code.
But the code itself wasn't the core of the problem. I could easily add new features and replace components with new implementations without breaking the app. All those "good code quality" identifiers were there.
Turn out the problem is Java. Or to be more specific: Java 1.6
Every listener which only calls a single function once a worker has finished needs 6 lines of code. If you implement the inferface in the class it gets messy once there are multiple workers and you have a generic interface. And there are no lambdas!
So I made the switch to Kotlin.
The app was converted to kotlin in 30 Minutes. Android studio can convert the classes automatically and very little manual work is needed afterwards.
After that I spent 2 hours replacing the old java concepts with Kotlin concepts: lamdas, non-nullable types, getters and setters in kotlin style (which in this case is c# style) and some other great thing.
The code is good looking now. I like it. I like kotlin as it has a lot of cool things.
Its super easy to learn. It took me about 2 hours to get into it. It combines concepts from java, javascript, c# and maybe a few other languages to form a modern jvm 1.6 compatible typesafe language.
Android dev is fun again!2 -
TL;DR; windows XP + bat scripts + fascination about being able to make things yourself.
I was born and raised in a village. And the thing about living in a village is that you are free :) Among all the other freedoms you are also free to build your own solutions to various domestic problems, i.e. to build stuff. This is one of the things that fascinates me about living outside the city.
When I finally was old enough (and had the means to, i.e. a computer) to understand that programming is something that allows you to build your own solutions to computer problems, it got to me.
With win 3.1 I was still too fresh and too young. With win 95 I was more interested in playing with neighbours outdoors. With win 98 I was a bit too busy at school. But with win XP the time had come. I started writing automation solutions for windows administration using .bat scripts (.vbs was and still is somewhat repelling to me). I no longer needed to browse Russian forums and torrent sites to find a solution to a problem I had! That was amazing!!! [esp. when my Russian was very weak].
That was the time when I built my first sort-of-malware - a bat script downloading and installing Radmin server, uploading computer's IP and admin credentials to my FTP.
I loved it!
However, I'd stumbled upon may obstacles when writing with batch. I googled a lot and most of the solutions I found were in bash (something related to Linux, which was a spooky mystery to me back then). Eventually, I got my courage together and installed ubuntu. Boy was I sorry... Nothing was working. I was unable to even boot the thing! Not to mention the GUI...
Years later I tried again with ubuntu [7.10 I think.. or 7.04] on my Pavilion. Took me a looooot of attempts but I got there. I could finally boot it. A couple of weeks later I managed to even start the GUI! I could finally learn bash and enjoy the spectacular Compiz effects (that cube was amazing).
I got into bash and Linux for the next several years. And then I thought to myself - wait, I'm writing scripts that automate other programs. Wouldn't it be cool I I could write my own programs that did exactly what I wanted and did not need automation? It definitely would! I could write a program that would make sound work (meaning no more ALSA/PA headaches!), make graphics work on my hardware, make my USB audio card to be set to primary once connected and all the other amazing things! No more automation -- just a single program or all of that!
little did the naive me knew :)
I started with python. I didn't like that syntax from the beginning :/ those indentations...
Then I tried java. Bucky (thenewboston), who likes tuna sandwiches, on my phone all the free time I had. I didn't learn anything :/ Even tried some java 101 e-book. Nothing helped until I decided to write some simple project (nothing fancy - just some calculations for a friend who was studying architecture).
I loved it! It sounds weird, but I found Swing amazing too. With that layout manager where you have to manually position all the components :)
and then things happened and I quit my med studies and switched to programming. Passed my school exams I was missing to enter the IT college and started inhaling every bit of info about IT I could get my hands on (incl outside the college ofc).
A few more stepping stones, a few more irrelevant jobs to pay my bills in the city, and I got to where I am now.5 -
"There's more to it"
This is something that has been bugging me for a long time now, so <rant>.
Yesterday in one of my chats in Telegram I had a question from someone wanting to make their laptop completely bulletproof privacy respecting, yada yada.. down to the MAC address being randomized. Now I am a networking guy.. or at least I like to think I am.
So I told him, routers must block any MAC addresses from leaking out. So the MAC address is only relevant inside of the network you're in. IPv6 changes this and there is network discovery involved with fandroids and cryphones where WiFi remains turned on as you leave the house (price of convenience amirite?) - but I'll get back to that later.
Now for a laptop MAC address randomization isn't exactly relevant yet I'd say.. at least in something other than Windows where your privacy is right out the window anyway. MAC randomization while Nadella does the whole assfuck, sign me up! /s
So let's assume Linux. No MAC randomization, not necessary, privacy respecting nonetheless. MAC addresses do not leak outside of the network in traditional IPv4 networking. So what would you be worried about inside the network? A hacker inside Starbucks? This is the question I asked him, and argued that if you don't trust the network (and with a public hotspot I personally don't) you shouldn't connect to it in the first place. And since I recall MAC randomization being discussed on the ISC's dhcp-users mailing list a few months ago (http://isc-dhcp-users.2343191.n4.nabble.com/...), I linked that in as well. These are the hardcore networking guys, on the forum of one of the granddaddies of the internet. They make BIND which pretty much everyone uses. It's the de facto standard DNS server out there.
The reply to all of this was simply to the "don't connect to it if you don't trust it" - I guess that's all the privacy nut could argue with. And here we get to the topic of this rant. The almighty rebuttal "there's more to it than that!1! HTTPS doesn't require trust anymore!1!"
... An encrypted connection to a website meaning that you could connect to just about any hostile network. Are you fucking retarded? Ever heard of SSL stripping? Yeah HSTS solves that but only a handful of websites use it and it doesn't scale up properly, since it's pretty much a hardcoded list in web browsers. And you know what? Yes "there's more to it"! There's more to networking than just web browsing. There's 65 THOUSAND ports available on both TCP and UDP, and there you go narrow your understanding of networking to just 2 of them - 80 and 443. Yes there's a lot more to it. But not exactly the kind of thing you're arguing about.
Enjoy your cheap-ass Xiaomeme phone where the "phone" part means phoning home to China, and raging about the Google apps on there. Then try to solve problems that aren't actually problems and pretty vital network components, just because it's an identifier.
</rant>
P.S. I do care a lot about privacy. My web and mail servers for example do not know where my visitors are coming from. All they see is some reverse proxies that they think is the whole internet. So yes I care about my own and others' privacy. But you know.. I'm old-fashioned. I like to solve problems with actual solutions.11 -
I just fucking hate BGAs* that unsolder themselves.
So, thanks to my laptop slowly breaking apart I decided to reactivate an old netbook my father gave me back in 2014(?) when it failed, to have a device on standby if necessary.
Wasn't really planning to repair it and kept it for spare parts mostly as the whole device is a fucking design failure concerning heat dissipation.
But yet again, I thought I'd give it a try one-two years ago. I soon found out it was said heat problem that caused the error in the device and it'd probably only take some reworking using a heat gun, which I did. Netbook worked for some hours, then was dead again, same error. Lost motivation and stashed it until this week.
Reworked with a hair-dryer this time and it worked! Well, until this morning - same error. Perhaps I shouldn't have tried to run a VM and then shut down the device right after that.
I will now try only one more time, this time just baking the whole damn main board thoroughly.
Either it works or it's really dead after. Either way, I'll be somewhat happier then.
* Ball Grid Array - package type for electronic components like ICs/uControllers8 -
Sorry I haven't been as active lately, however this is one of the better prompts, so I feel I should have it in my track record. Beware, it's a long one...
Let's trace the roots: My uncle was building desktops and he told my dad he'd build him one if my dad paid him for the components. These days I know builds aren't rocket science, but back then my parents didn't do their research. So my dad paid him.
Give or take some time, and most of the parts are complete. He underestimated the prices of a few things and had to ask for $200 more to complete the build. This...caused my dad to explode.
Later, I heard my dad ranting to my stepmom in January 2017 about how the last convo he had with his brother was a "Fuck-you conversation" - it was the last because my uncle had died in 2003.
Flash forward to March 2017. My mom and I are sitting in a Fazoli's, a nice sunset out of the full-length windows. I had to probe. HAD TO.
"You promise you won't tell your dad I told you this?" she asked.
"You know Kellie and I can't stand to be around him." I replied.
As the story goes, that last "Fuck-you conversation"? Over a fucking measly $200. Yup, the last conversation between my dad and his brother to ever happen was a shouting match over a relatively short amount of money. I wish I could say my dad had remorse, but he doesn't. He still talks shit. He's also technologically illiterate, so I doubt there was a way his brother was going to be able to reason with him.
In late 2003, my uncle, who had been a smoker, passed away due to cardiac arrest. The build was still not finished. This was one of the OTHER things that I have mixed feelings about.
After my uncle passed, my aunt paid someone to finish the build and get it shipped to my dad. We'll get back to why I feel this is fucked up, stay tuned...
---------
It's Spring 2004. I'm in the last half of what I think is Kindergarten or some shit...too lazy to do the math. Anyway, my dad announces we have a family computer - however, I couldn't read yet. That didn't stop the waste of oxygen that is my father from going in the Windows XP screensavers and putting text in that said "GAGE MORGAN WILL NOT TOUCH THIS COMPUTER." He's such a fuckin' dick, now AND back then.
My mom had an issue with this. I don't know why, but she did. Later, I was slowly taught how to use the mouse, under heavy supervision. Then I went to my grandma's house. She taught me one very specific thing on her old Win98 (386, maybe? IDK my old hw shit man), and because I know you guys are gonna love this one:
"The blue "e" opens up your games!"
The blue "e" does not open up your games, it opens something that can lead to your games.
I went home and tried this...without permission. My dad came down and discovered my lollygagging on the homepage - this is fucking weird. It was before Nextel, IIRC, so Sprint's logo was red still. Yes, we had broadband from Sprint. I don't know what saga led to that going the way of the dodo, but...
Back on track, I literally got my pants pulled down and had my bare bottom beat. He was gonna drag my ass upstairs and lock me in my room, but before he could, he accidentally slammed MY FUCKING RIGHT TEMPLE into the corner of a hardwood table at the bottom of the staircase.
The wailing that resulted probably was different than the previous form, which is probably what got my mom involved. My dad had a way of going too far, and in retrospect I'm more terrified now of what could've happened than I was then.
Later, I was given access to games in the form of my own account and bookmarks bar. That wasn't the end of the madness/drama from my use of that machine, but it was the earliest form.
Ever since Kindergarten, that one fateful day, I've been defying any/all imposed limitations on tech set on me by my parents...well, not anymore, but literally grades K-12. I'm living on my own, aka "adulting" now. It sucks more than you think, man.
---------
Let's tie this up before I reach the limit. I said I thought it was fucked up when my aunt paid to have the build finished and shipped to us after my uncle's death.
Yes, my aunt's intervention led to me ultimately majoring in computer science.
That doesn't change the fact that she shouldn't have done it.
My dad was an asshole to her husband, who passed. She is ultimately too caring. I don't think my jackass father should've been able to get by with that, he didn't deserve the freebie. Someone else should've told him his brother did in fact need that $200.
I haven't seen her IRL since the funeral when my grandpa passed in 2005. 2006 spelled the end of my parents' marriage.
Hope you guys enjoyed this - it's only a small segment of how I got to where I am now - tiny, actually.2 -
A (work-)project i spent a year on will finally be released soon. That's the perfect opportunity to vent out all the rage i built up during dealing with what is the javascript version of a zodiac letter.
Everything went wrong with the beginning. 3 people were assigned to rewrite an old flash-application. Me, A and B. B suggested a javascript framework, even though me and A never worked with more than jquery. In the end we chose react/redux with rest on the server, a classic.
After some time i got the hang of time, around that time B left and a new guy, C, was hired soon after that. He didn't know about react/redux either. The perfect start off to a burning pile of smelly code.
Today this burning pile turned into a wasteland of code quality, a house of cards with a storm approaching, a rocket with leaks ready to launch, you get the idea.
We got 2 dozen files with 200-500 loc, each in the same directory and each with the same 2 word prefix which makes finding the right one a nightmare on its on. We have an i18n-library used only for ~10 textfields, copy-pasted code you never know if it's used or not, fetch-calls with no error-handling, and many other code smells that turn this fire into a garbage fire. An eternal fire. 3 months ago i reduced the linter-warnings on this project to 1, now i can't keep count anymore.
We use the reactabular-module which gives us headaches because IT DOESN'T DO WHAT IT'S SUPPOSED TO DO AND WE CANT USE IT WELL EITHER. All because the client cant be bothered to have the table header scroll along with the body. We have methods which do two things because passing another callback somehow crashed in the browser. And the only thing about indentation is that it exists. Copy pasting from websites, other files and indentation wars give the files the unique look that make you wonder if some of the devs hides his whitespace code in the files.
All of this is the result of missing time, results over quality and the worst approach of all, used by A: if A wants an ui-component similar to an existing one, he copies the original and edits he copy until it does what he wants. A knows about classes, modules, components, etc. Still, he can't bring himself to spend his time on creating superclasses... his approach gives results much faster
Things got worse when A tried redux, luckily A prefers the components local state. WHICH IS ANOTHER PROBLEM. He doesn't understand redux and loads all of the data directly from the server and puts it into the local state. The point of redux is that you don't have to do this. But there are only 1 or 2 examples of how this practice hurt us yet, so i'm gonna have to let this slide. IF HE AT LEAST WOULD UPDATE THE DATA PROPERLY. Changes are just sent to the server and then all of the data is re-fetched. I programmed the rest-endpoints to return the updated objects for a very reason. But no, fuck me.
I've heard A decided (A is the teamleader) to use less redux on the next project and use a dedicated rest-endpoints for every little comoutation you COULD DO WITH REDUX INSTEAD. My will is broken and just don't want to work with this anymore.
There are still various subpages that cant f5 because the components cant handle an empty redux state in the beginning, but to be honest i don't care anymore. Lets hope the client will never find out, along with the "on error nothing happens"-bugs. The product should've been shipped last week, but thanks to mandatory bugfixes the release was postponed to next week. Then the next project starts...
Please give me some tips to keep up code quality over time, i cant take this once more.
I'm also aware that i could've done more, talking A and C about code style, prettifying the code, etc. Etc. But i was busy putting out my out fires, i couldn't kill much of the other fires which in the end became a burning building (a perfect metaphor for this software)4 -
Why can't managers understand that functionality changes and UX changes should be two separate epics? There's a huge fucking difference between composing an UI from existing components vs. having to figure out new components while at the same time paying attention to 12234234 new scenarios while at the same time duplicating existing components because existing portion of the app has to keep old UX.
And then they say bullshit like "we need solutions, not problems". Fuck you. Solution is to keep existing UX and focus on functionality, and do complex UX changes when functionality is well-defined and STABLE. But no, you fuckers won't listen even when the fucking lead dev tells you to.2 -
i was hired to join a team of old devs (40+) in an unnamed European country "yay goodbye 3rd world it's time to enjoy the quality of life" assist with enhancing already existing software and creating new solutions.
prior to my arrival most things were slow and super buggy, looking at the code base it shouldn't be a surprise, amateur hour everyone, logic implemented that is not needed, comment driven development, last time code review was done back in 1996. lots of anti patterns.
i swear there is a for loop that does nothing but it loops through a 100+ elements list, trunk based development with tfs since git is "not really needed"
test projects are not there.
>enter me an educated fool, with genuine passion for the craft and somehow a decent amount of knowledge.
>spent the last year fixing stuff educating people on principles and qualities.
> countless hours of training and explaining. team is showing cooperation, a new requirement comes in to develop with react.
> tear my ass creating reusable shit and self explanatory code with proper naming etc using git with feature branching, monday is first deployment day.
> today a colleague was working on an item submit a pull request and self approve it
> look at the code..... WTF the dumb fuck copied and pasted the whole code from different kendo components but somehow managed to refractor the name to test component, commented out all the code that he didn't use did the api call directly from the component, has 2 useeffects that depends on the a fucking text box changes for no reason, no redux implementation, the acceptance criteria is not achieved, and it doesn't work it just look right.
> first world country shit cannot scold, cannot complain, lead by example.
>asked him why you did this, the response was yeah probably i shouldn't have done that, i really didn't understand anything in the training but didn't want to waste time!!!!
> rest of the team created a different styled disaster with different flavors they don't even name their shit the same way.
fellow developers I'm stuck in a spaceship with a bunch of imposters, seriously i never cried in my entire life now I'm teary and on the verge of a break down.
talk with management "improving needs time" and offers me to join a yoga session to release the stress as if reaching nirvana would deliver shit on monday.
i really don't know what do is this a rant, is this a cry for help, I'm not sure, any advice is welcomed.7 -
This is the last time Microsoft! I'm getting my old Arch image out and removing you from my life forever! Never again will my linux distro randomly uninstall itself without telling me in the middle of implementing new components and crash my development server. Never again will I have to deal with an update that refuses to STFU and go away until I, ME NOT YOU MICROSOFT, decides it's a good time to run the update. No more lack of customization and poor support of common dev tools. I'M DONE WITH YOU, WE NEED TO SEE OTHER PEOPLE.2
-
I had the oppertunity to join a non profit organization to help them automate stuff instead of serving the army. One of their core applications got rewritten like a year ago from a terrible and very old Symfony stack to Laravel / React.
The guys who were in charge for the rewrite didn't really adapt the mindset of either MVC for Laravel nor the component idea behind React. There are a few controllers in the backend, but they sometimes have functions defined which would clearly belong in a model or service class. They rarely defined relationships on models, instead they're joining the tables together for the same effect. The frontend rendering mostly happens in for loops over the returned array from the API instead of breaking things down into little components. This ends in components which have sometimes over 1000 lines with super-nested logic in it.
But I did find my favorite piece of code today in of the controllers. Some many questions ...6 -
Google keeps reaffirming what I keep telling everyone... it's not 1995 any more. They just ripped Symantic over using 7-year old (un-updated) open-source components in Norton. These are massive zero-day exploits that are wide the hell open. If you're really concerned, use MSE on Windows. If you're on a Mac, grow a brain cell and actually look at what you grant permissions to, and you won't even need AV.3
-
We rewrote the whole thing, except for iFraming some old pages in. We had to, the system was fucking awful and couldn't cope with any of the new mission critical requirements.
Client didn't understand the scope. Our project leader somehow snuck it in and we worked on it for months. We were sure we'd be kicked off the whole project... Somehow things didn't crash and burn. How it didn't blow up defies rational thought and the laws of physics. The new system worked, the client was happy, and boss made a lot of money.
Lead dev worked weekends for what feels like an eternity, it really was his baby and no one else on our company could have done it. It's where I finally learned how to do things the proper way; DDD, unit testing and TDD, architecture, building strong components in front-end, you name it. Before that I had a great nose for code smells and how not to do stuff, but now I got to see a proper system for the first time. It was glorious.
Then lead dev left and the system degraded quite a bit because new team didn't keep to the architectural patterns or general best practices. But we had a good run.1 -
Meeting about brand new web app system to replace an ancient MFC app.
director: can we just use the old subsystem manager? (horrible mix of management ui and SOAP listeners in the same app...)
developers: No, that's an MFC app... not even just a server.
director: but... can't you just plug it in? you're using web components right?
developers: *weary sigh* -
About bad companies and bad tech decisions.
Old $JOB: "You know, we are going to implement our own UI in Angular"
Me: "Maybe we can use something pre-made and then customize the colors..."
Old $JOB: "Shut up you always want to do the things in your own way"
Two years later: UI is unfinished, i quitted the job.
Two years and one month later: Sparkbox proved that using pre-made components cuts the hassle in half: https://sparkbox.com/foundry/...
Those companies who NEVER listen to people who wants to try the right thing DESERVE TO FAIL.1 -
i had an epiphany today, in a discussion with the software architect of our new project.
i'm having the epic job to design & implement a prototype for a C++ library in a new software project and collected some inspiration in our "old" software, where i'm maintaining the module that fulfills the same functionality (i thought). i've been maintaining this module for around a year now. i analyzed the different features and stuff to consider and created a partial model of the new library.
when i showed it to the architect today, he was like "oh my god, no no no, you don't need all this functionality, this shall not be part of the new library!"
this was the moment when i realized how deeply fucked up the code base of the old module is.
imagine it like this:
you want to automate the process of making yourself a good ol' cup of coffee.
the reasonable thing would be to have
- a smart water boiler where you set parameters water temperature and amount of water to be fetched from the water supply
- a smart coffee bean grinder where you can set type of beans, amount of beans and grinding fineness
- a component where water and ground coffee are joined to brew the coffee, where parameters like duration, pressure etc. are set
- a milk tank where amount of milk, desired temperature and duration / speed of foaming can be set
- a sugar dispenser where amount of applied sugar can be set
- optionally, additional modules with spices, syrup, ice cubes, whatever for your very personal coffee experience
on requesting a coffee, you would then configure and orchestrate all components to your wishes to make you a fine cup of coffee. you can also add routines like "makeCappucchino()", "makeEspresso()", or whatever.
our software is not like this.
it is like this:
- a smart water boiler consisting of submodules that know how to cook water for e.g. "cappucchino with sugar" or for "espresso without sugar, but with milk and ice cubes"
- 5 smart bean grinders that know how to grind beans for e.g. cappucchino, espresso, latte macchiato and for 73ml of water preheated to 82°C
- a very smart sugar dispenser that knows how to add sugar to 95, 98 and 100°C coffee and to coffee made of BOTH coffee arabica AND coffee robusta beans.
etc. etc., i think you're getting the gist.
when i realized this, it was like, right in front of my eyes, this terrible pattern emerged like a foul, corrupted caleidoscope of chaos, through the whole code base of this module.
i've already known how rotten from the core this code base is, but today i've actually identified a really bad pattern that i hadn't realized before. the whole architecture is so bloated that it is hard to have an overview of the whole thing. and it would require a LOT of refactoring to repair this pattern.
but i guess it would also be infinitely satisfying because i could probably reduce the code base for 30% or something...
but unfortunately, this is never going to happen, because screw refactoring.
it's a great feeling to start this new library from scratch, tho...6 -
TLDR; After my dad was lazy, I assembled the parts myself.
As far back as I can remember, if I think of my father he is sitting behind his pc playing games. It was like me, his escape.
When I was between 3-5 years old he upgraded his pc to one that supported windows 95. The most exciting thing I remember about his new pc is that it had a sound card or what passed as one anyway - think polyphonic ring tones in place of onboard beeps. It was fucking awesome.
He gifted his old 386 to my brother and I which we spent a blissful year or so playing DOS games on until it finally died. I wouldn't have access to a home computer again until I was 11 - touching my fathers computer was out of the question, never mind actually using it.
The reason I didn't have access to a pc was simply because he didn't replace his pc - he made minor upgrades to it until he died with a whopping 512mb of RAM. Seriously his pc specs were a bragging factor like geek porn - better than any else's I ever saw including his I.T friends (he was an electrical engineer), everyone knew this apparently aside from his boss...
Auto-cad started becoming a thing and my father for the first time ever had a reason to actually do work on a computer, he immediately used the opportunity to leverage his company into paying for a pc. To get better "value" for the company he ordered the parts in place of a pre-built machine - in reality he blew 90% of the budget on a new motherboard and graphics card to upgrade his own pc and the cheapest entry level components for everything else. The day they arrived he upgraded his own pc, threw the excess parts into a box and told us it was our new computer which he would put together over the weekend. He didn't.
After 3 months of nagging I was fed up and taking liberties with him that landed me more than one hiding, at some point he was over it and told me if I wanted something that badly I should do it myself. He walked into my room after becoming concerned if I had run away/hurt myself since he hadn't heard a whistle from me in 6 hours and I was battling my ass off trying to install windows 98.
He inspected my assembly gave me an approving nod and showed me that the hard drives physical jumper was set to slave and the rest is history. I hadn't used windows before, or built a computer let alone used one in years but somehow I always knew, it just clicked and made sense to me.
I didn't truly recognise just how much I had learn't watching him play DOS games over his shoulder and clean/upgrade his pc. It changed everything and thanks to only being allowed to watch him use a pc, once I finally had access to my own computer again I revered it and all it's possibilities. I knew I should use it to do something special. -
In React, OOP is now the old way of approaching react.js everybody doing functional programming/functional components.. this that the future ???26
-
I was refactoring a 4000 lines JavaScript file, turning whatever I could into components. It was a pretty old project that I ended up being one of the few wizards to actually know how most of it works.
At one point, I noticed that login into a user account redirected us to the dev-test server, even when working on a local Docker container.
I never quite understood the issue, but ended up having the bug mysteriously disappear.
Until it came back two months later, then disappeared again.
At one point, all of the dev team on the project (four developers, me included, and one project manager) was investigating the issue, and we never figured out how or why this was happening.
Just Symfony routes shenanigans I guess.15 -
Looking for recommendations on electronics learning kits. My 16 year-old son has recently been tearing into old electronics and trying to make new stuff with the components. I want to give him a more formal and engaging intro to what it is he’s playing with and how many other cool things he could do. He does struggle a bit with math and gets discouraged easily if he doesn’t understand new concepts or why they’re relevant. So, if you know of a good learning kit that balances lots of cool possibilities with good documentation and tutorials, I’d appreciate a little help.
I’m currently looking at Elegoo. https://amazon.com/EL-KIT-008-Proje...4 -
The fog of war over all that happened with my change of team is starting to dissipate.
3 people were involved and there were 4 different versions of the whole situtations, but from what I've been able to collect it looks like the company is expanding and one of the mail KPI for the current team leaders is how good they are at creating a NEW generation of team leaders, to take care of the new entries.
My previous team leader told me about all these new growth perspectives and the junior entries I could manage, knowing very well of the desire I have previously expressed of being a senior dev with my small group of juniors to teach.
I declined the offer, stating that this whole year has been exhausting. Every single time I've tried anything (using modules for new components on our old web client, tsdoc to document our types, suggesting technologies like ANYTHING BUT ANGULAR AND MONGO, telling how removing down migrations was a retarded move) my suggestions were either shrugged off or flat out refused. Let alone how every time I was proven right, except for angular but give it time and that will bite their tail as well.
Don't get me wrong: they are well withing their right when they take all those decisions, and more. But I DO NOT PLAN on selling a plethora of bad decisions to a new stack of devs as if they were the gold standard.
"I understand your reasons; you, as a company, need a well coordinated team all running towards a goal; loose cannons are harmful.
But now I need you to understand me: I do not agree with your technical direction. I never lied before and I will not start now. Promotions don't matter nearly as much as my integrity, and integrity in my world means speaking up about problems. Your position is perfectly valid, but mine is as well and they can't be reconciled. If I were you I'd make myself a favor and make sure IHateForALiving doesn't become a team leader; given your direction, I'm not the man you want right now".
As mentioned, one of the KPI for team leaders is how succesfull they are in finding new team leaders, and trying to turn me into one didn't end well; I love sharing knowledge, but being honest to myself is far more important to me. So this meant my previous team leader failed in a very big task, and thus was demoted? At the same time, I've been there for 2 years now so they're not really eager to replace me, but I'm under strict examination too as of now.5 -
I wasn't happy with one of our UI views for editing a database query that consisted of about 50 fields ("editing" being the operative term here, not just viewing. It had to be two-way). Everything was hardcoded and defined manually, with each block of ~10 lines being repeated and mostly identical apart from the occasional double inline field and name of the variable. It had "just ended up that way" over time due to the variable names in the UI being different than the names of the variables that came from the API.
I decided to overhaul it all where I defined the different input components and which fields should be included, then made a function which would generate the page based on these definitions. It was about 500 lines of modularized functions and classes where the class for the actual view was about 50 lines- compared to the 1400+ lines of the previous version.
But, it didn't work. It should, but it "just didn't". There was no error. All I got was a blank, solid white page. I could make a drastic change or try something completely different and I would get the same error, same blank page. API fetch succeeded, value assignments succeeded, the object exists, but if you iterated it it was... empty.
I started getting really discouraged that I had made it too abstract. Maybe I actually made it more complex and unreadable than before. Maybe just hardcoding it all was the better solution after all. Maybe I had gone against KISS and overdesigned it.
I was up pretty late and everyone had gone home. When the last guy left there was that mood where "yeah if I can't make this work we'll just use the current version...".
Turns out I had tried iterating over a property of the set of fields to render, rather than the entire collection. In the old method the variables were a member of an object, but now they were its own object, a change I had made to isolate the set of values which were to be viewed/edited and make them easier to pass back and forth. This member existed since I hadn't cleaned it out yet, but it was empty.
I had been banging my head against this for a whole day and I was ready to admit I had made a mistake and wasted my time before discarding it all, but then I backspaced this one property and the interface went from empty to rendering perfectly and with all functionality intact. I swear god rays were coming out of my screen. -
So I bought a gtx1650 gpu for my old phenom II X4 pc. It didn’t work – the screen vent black in like five minutes after powering up the pc.
I was disappointed, but instead of returning the gpu, I bought all the other components to build a new pc on ryzen cpu. Including the gpu, it all was like $400 and I still have all my old parts to sale.
Now I’m here, playing all the latest games like doom and wolfenstein on ultra in 1080p 60fps and I’m more than happy.
I basically found a way to convert my bad experience into good experience. I’m just off my therapy, so all that bad experiences that may seem insignificant are a big deal for me.
I didn’t knew it was possible to make a good emotions out of bad emotions that easy. If only I knew the way to apply this strategy for any arbitrary situation.
(please miss me with that boomer bullshit like “nothing is wrong stop whining and get over it” etc. I’ve been there, I’ve done that and I needed medical treatment afterwards. “Getting over it” just doesn’t work)6 -
I feel like IE is an example of a deep rooted demon beast that spawns fucktarded bloat transpilers like BABEL.
When companies try to invent their own wheels, or do their own thing is when the pits of developer hell start to spawn such fucking convoluted fucktarded bullshit.
Abstract to Design:
I'm trying to think of a world where things are standardized, as boring as it sounds... Imagine if companies weren't so fucktarded with greedy smoke and mirrors, and they all contributed to making a single product standardized and workable, and improve on that product... Like a physics "Standard model" but for each product invented.
But no... here we are... 20 million ways to accomplish one similar task, with 20 million different designs, with majority adhering to their own flaws... or planned obsolecence... 10 million booby traps of consumer remorse.
Why do we do this as a society just to make some bastard company's profit margin go up, so they can keep competing in the "free market" of fuck all fuckery?
I get it.. yea... innovation... sure..
but sometimes innovation is just a means to and end of sanity, especially when they are proprietary, and especially when that proprietary shit turns to, well... shit!
In a perfect world, things will be designed open-sourced, compatible, and improved upon without "breaking" changes... but this is virtually impossible without standardization of the VERY fundamental components. But then those components can be improved, and might be smaller/lighter/more efficient by design, and simply wont work with the old versions without drastic "TRANSPILATION"
I suppose this is the way it is always going to be... Neverending stream of design "improvements". I suppose being a developer in todays world is a bittersweet existence... unless you're just trying to make ends meet... in that case. I think I might be in hell.
Take a look at web-dev today with all the "improvements" ... it's literally turned into a jungle of FUCK MY LIFE. A giant dick waiving contest with all these dicks colliding against each other in cluster fuck bombardment.
God help us all.... and now back to coding.4 -
The one in which I am rn is the reason why so many people dislike php, jquery and Java on the server.
Then previous to this one, classic ASP for the web interface and our desktop components were delphi (OLD ass delphi)
Mind you, these are all tech stacks that I do like (php, java and O Pascal in particular) but really dislike in:
php: we have just your standard procedural spaghetti php on some old ass shit.
Classic ASP: Same as with php, no proper structure, made more apparent by the intense limitations of VBScript, I did enjoy the language tho, had it evolved better It would have been more tolerable, but the hoops i had to take to build a propee API in it....boooooy that shit was an eye opener.
Delphi: Not bad in itself, but the original dev had a shit notion about how architecture should work.....or what architecture is for that matter.
The Java one: this shit was coded when Spring was already an alternative to just fucking around with JSP, or any other framework for that fucking matter. Dude tried....TRIED to implement design patterns in it and it failed on every single fucking component. Worst of all, it was coded in such a shit way that during certain...err...conditions, the bottleneck proved too massive of an ubdertaking and the app chokes and needs to be restarted ... constantly
their use cases for jquery are not bad, but loading all of jquery for the shit they mostly do could have been easily done with just standard vanilla JS.
I got more, but thede are just from the top of my head
I love php, mind you, but shit like this makes me see why some people GREATLY dislikes it.
I alsp have some old web forms in c# and vb net that I loathe, funny enough the code for thise in vb.net is more elegant, almost as if it were from a different developer.3 -
Can somebody explain to me why developers (especially web) have to micromanage every single thing into it's own f*ing component.
Story time: I have an input form with some tabs. I discovered that the UI Library (Devextreme) has a nice little component that handles forms, (including tabs, groups, etc.). So I make a page, configure tabs, inputs and whatnot.
Now, I already knew that my coworkers can't handle html that is bigger than a page. So instead of putting the configs in the frontend, I made nice files where I store those, to keep them nicely clean and seperated.
Me feeling very good, went off to have a nice lunch break.
I come back read the message from my coworker, asking me to make every tab it's own component and form and load them into a separate Tab-Component, instead of using the built in configuration
......
WHAT?
Like seriously. I have a f*ing library that handles that, why the f*ck do I need to reinvent the wheel here!?
Supposedly it's to make it more maintainable, easier to find bugs, flatten the hierarchy.
Here's a little wake up call you morons: Nesting hundreds of components into each other does *not* help you with that.
It just creates a rabbit-hole of confusing containers that you have to navigate and dissect every time you try to find something.
"Can I fix the bug in the detail Page? Sure I'll tell you tomorrow when I find out which fucking component the bug results from".
Components are there to be *reused*. It's using inheritance for reusing code all over again, but worse.
But maybe I'm just old fashioned, and conservative. Maybe I'm just a really bad software engineer, because nowadays everything seems to result in architectures spreading hundreds of folders, thousands of files with nothing but arbitrary cut-offs with no real benefit, that I don't see the value in.6 -
We're moving our services to a new app interface, and it drives me crazy when a BA tells me to make something look like the old, terrible app because "user's won't like a change." You're making a whole new app! You can fix the terrible appearance and functionality issues! Take advantage of this!
It's starting to feel like I'm putting together an awful Frankenstein's Monster of code and components. -
"Leafing through an old magazine, I noticed a small ad about a design course by mail. The headline read, 'Art for pleasure and profit!' I have never found a better definition to describe my profession. Of course, at times it is more the pleasure and less the profit, at times the contrary. But if one of the components were missing, design wouldn’t exist. " - Carlo Angelini
-
[Question]
What type of amplifier circuit would I need to power a 60w 8ohm speaker or can you recommend any prebuilt amplifier boards ?
[TLDR;]
I spotted the below stuff while cleaning out my junk cupboard and thought it might be a fun side project to convert them into a portable bluetooth speaker since the earphones are shit anyway and I've always wanted to learn more about amplifiers.
The only question remaining is how to amplify the headphone output signal enough to power the speaker. I plan on either using cells from old laptop batteries or a motorbike battery as a power supply so input voltage would be roughly 10-12v.
The speaker is from a set I salvaged from an old 80's hifi and has excellent sound quality, would mounting the components inside it have a large negative effect on it's sound?
Also although I would prefer to make my own amplifier board as a learning experience the goal is to have a portable speaker with good sound quality... is this something I'm likely to get from my first attempt at an amplifier or should I rather get a ready made board?9 -
Incoming rant.
I have 4 years professional experience at a small shop working on a web application for property and liability insurance. The application is ASP.NET with C# as the code-behind. I have a BCS and will finish my MSIS fall 2017. I have no idea why I have the degrees. I know that when I enrolled, it seemed like they would be a nice addition to an otherwise empty resume. I was lucky enough to land my first and only development job during my sophomore year of my undergraduate program. Is this enough experience to land a new job?
I feel like I'm learning nothing at my current job. The specs that come in seem very vague to me. When asked for clarification, there is often push back, and I don't know whether that's because I don't have enough experience to parse what the client means in the two sentence spec I got or if it's because the client does not actually know what they want.
I hate my current job. My productivity is low because I spend more time trying to figure out what the client wants and analyzing an 8 year old system that has 0 documentation. I know some of you will just say, "Suck it up" at this point, but I really want another job. The only thing I like about this job is that it's 100% remote. It also pays $60k a year, so a replacement should be at least that salary.
Most postings I see require professional experience of 5 years or more, and knowledge of other frameworks. I can work on getting knowledge of the other frameworks, but will have no professional experience with them. I don't live in an area with a lot of software development jobs, and the ones I see are for non-IT organizations that want 1 person to run a distributed system from 10 or more locations. A hospital system out here wants to pay $30k a year for a guy to be both software developer for new tools as well as the helpdesk and IT support guy that's on-call for four locations in the county. I made more than that before I got into the development industry, for less work, and would rather leave than settle for something like that.
I've thought about moving to somewhere near San Francisco or San Jose, but I have my daughter to think about. I have joint custody of her, and would have to give that up in order to move out of the county.
I like programming and using it to solve problems. I like designing architectures and how all the components will interface. I like designing and normalizing databases. I like taking part in coding competitions for employers that are well-known (Amazon, Facebook, Uber, Twitch, etc.), even though I often just place middle of the pack. When that happens, I feel like I'm an imposter in this industry.
I think I have the most fun just working on small projects for personal use. My latest is an assistant calculator for the game Transport Fever to figure out cargo throughputs per annum based on the in-game timing information. Past projects have also been small. Ones I could use in a portfolio are a sudoku solver desktop application, PC/Web game in Unity that is a 3D FPS remake of Duck Hunt that allows open world exploration but locks the camera's viewpoint for shooting events, and a building assistant for Rome II: Total War that maps out all the bonuses/perks of user-specified building combinations in provinces so users can record their long term building plans without using all their turns to see the final results.
I seem to be an unproductive, average developer who dabbles in projects here and there.
This is what I want from other Ranters. Just say something. I don't care if it is, "Suck it up and get better." It could be your tips for finding and securing a new position. It could even be empathy, if such a thing exists on the Internet. Whatever you want, just say something that will help get me thinking of what the next steps in my career should be.1 -
I just released version 2.0 of my UI package.
Laravel Livewire & Bootstrap 5 UI starter kit. This package is a modernized version of the old laravel/ui package for developers who prefer using Bootstrap 5 and full page Livewire components to build their projects. It also comes with a few features to boost your development speed even more.
GitHub: https://github.com/bastinald/ui
Demo Video: https://youtube.com/watch/...3 -
I'm working with this stupid ass framework that has a bunch of old style React class nonsense as examples (that's not actually that bad, but) ... AND worst of all every code example revolves around this convoluted thing where:
"How you do a thing."
"Make button, then you make a function that calls X, Y, Z and it opens the thing!"
But that's not the way you'd EVER do it because doing the thing inside the framework's components is COMPLETELY DIFFERENT!
I get wanting to dumb down documentation but this is dumbed down to pointlessness! -
I am trying to isolate logic in React with functional components. Is it a bad idea to forwardref to a custom object that I use to expose actions? This way I could model the ref behavior from old class-based components where it was perfectly normal to represent a capability as a class method.
-
Fucking hate to explain basic shit to computer illiterate. Usually I don't mind, but right know I working on the project, want to automate one thing I need to do every morning, put two numbers to web page(I will explain details maybe in next rant). So I am only one who fix, buys computers, printer(for some problems I call for other repair man.). Generally speaking working as IT guy. Firm has like 50 computers, some of them has SCADA software. Some computers have Win 7, some win 8 and others win 10, can't upgrade those computers, not enough money(I can deal with this problem). And yes, computer buying is not the fastest, easiest thing too. Because is public firm, I need to do public buying(I don't know how to translate to english), and most of the time wins the lowest price, I am ok with that. But I can't on item specification write I want that model pc or it components. Example: I can't write I want intel processor, however I can write number of cores, frequency. But it's not that bad, usually i have template for all things I buy. One of the worst thing is this, our firm bought new bookkeeping software version, old version was using visual foxpro framework. Good thing I didn't initiate the purchase, because right know I would be jobless, not because I would be fired, but because our senior accountant would drive me crazy. In fact accountants drive me crazy, but I can handle it for now. As I wrote before our form has about 120 workers, major part of workers are old, like my parents age. (I am 28 btw. Mom is 55.). As you all know what happens if you say you work with computers. So our accountants are like 60 years old, got new program, don't know how to work with it, and they ask me how to do certain things. if I don't know how to I ask program's support, every question is like 90 Eur. So in short accountants expect I should know their work and how program works. If I try say something they don't like, they try to make my day hard. Next thing is our billing program. Man that worked before me done some payments import. And when I came everyone expect me to do that. Ok I did that because that people working with billing program would probably fuck it up. And I semi automated that, so I don't mind that much. Sometimes that program fucks up, like it happened yesterday, it send email invoices attachment without filename. Example: people got this attachment ".pdf"(no filename, only extension), And if you save it you need do OPEN WITH command and then select pdf reader or rename file (I don't know what easier). And surprise surprise our firm, customer support redirects all phone calls, emails to me. But I did explain to customer support what to say to people. Still they redirect it to me.
PS: This is my first job after school. I work as part time.
TL;DR Thinking my life, carrier choices. accountants are not the nicest people.8 -
Luulz
I hate react, ok it is now a knows thing about me...
But i have to maintain a huuuuge app made on react.
And the old developer mixed the nodejs backend with the frontend... And it is already a russian doll mess in components, cuz he seems to develop it during 2 years and only after one year he discovered redux !
Gosh... For a lil simple feature there is so many files involved... Gonna go crazy !
Happy that at least client pay big money for that1 -
How difficult is it to decide for your own future?
It's a month that I'm in total panic 'cause of a difficult choice I have to make about my job.
I really need some external opinions and points of view from other developers, maybe more experienced than me (I'm a medium-junior JS developer).
The situation is as follows:
1) I work as a Frontend Web Developer for a wonderful enterprise-like company with 100+ employees, where the individual rights are fully respected, there are no whatsoever pressures and there is a peaceful paradise-like atmosphere most of the days. I also love my teammates, which is something rare because I often dislike other humans.
2) I received a proposal from a Fintech startup, which required me a long time to complete a complex programming test they gave me. They look all very young, modern, fast and passioned about their job. But they are only living with bank's investments and are not producing any money at the moment. Also, I don't know if Fintech will be a successful field in the future.
3) I received another proposal, from a Healthtec startup this time, which has a lovely mission in the medical field, has received millions of investments, it's gaining some KK net each month but has a team of only 2 developers (3 with me if I accept). I know one of the developers and I remember he had issues of not getting paid months ago.
What's the problem with the first company? I totally dislike the product we are building, the development stack (fully Microsoft-based), the company's view (they still sell and think about software like in the 90's) and how the repository is managed. Everyday there are huge problems that end up blocking the frontend work and the final product is super ugly and works only if you know all the quirks behind it.
It's an old-fashioned desktop app with inside Chromium which should execute some components like graphs, tables, forms and shit like this. Every component is configurable through a property editor which is an utter giant mess of collapsed menus. I also suspect that the company's main business model is based on the difficulty to use this software (because they sell licenses and courses to use it).
There are no modern UX/UI concepts applied at all, nor they seem to care about it.
Each time I propose something there is a huge chain of approval-waiting that end up in a stale mate.
Also, it's useless to show my frustration about all these issues because I count very little in a so populated office.
------------------------------------------------
TLDR: I need to choice if staying in a Enterprise Microsoft-based and old-fashioned company, but in which the atmosphere is paradisiac or accept the risk to work for a Fintech or a Healthtec startup.
------------------------------------------------
What would you do if you were in my situation? What's for you the most stable field in the future?
Many thanks for the attention!6 -
[opinions welcome]
I'm just furious right now!!!
So I'm on this project where we have to make a whole *very old* website look like it's brand new.
Thing is, the whole point of the project is to make exactly the same pages as on the existing website smh. No UX or UI suggestions.
Just put the navbar in a component that looks like a tab bar, who cares anyway!?
Btw, I'm in charge of the UI.
My colleagues and I (mostly my colleagues) made a react components library and we use it for this project.
Fucking inputs get thrown into tables and all that, but hey, that's what the client asked for.
So here I am with my shiny new page, and I just hand it over to the front-end dev who just arrived.
She's supposed to feed in the data.
I don't give a fuck you use flow or redux or whatever fancy tooling.
Just call your back-end, get the data, format it and feed my damn table with it. That's it.
So today, after 5 weeks she's in, she calls a meeting where she's screening a presentation to the team complaining about how long it took her to understand what I did and change it completely.
Pieces of code on screen, saying it's crap and it shouldn't be like that.
I'm not responsible for inputs in fucking table, the client is!
Of course I have nested components with data passed through all the way: it's a series of fucking radio buttons within a table within a form!
During 5 weeks, yoy didn't even come to me once saying it's not what you expected or you're having trouble with my work!
And there we blaming my job like I'm the bad guy?!
Tonight, everyone's going home thinking I'm no good at what I do and completely lost, all because of her.
If you got this far, I'd like to hear from you on how I should act with her and how to tell her what she did is awfully wrong?4 -
I need some recommendation for Web UI components framework which could be relativity easily integrated/used on Play framework web application.
Something like Primefaces or old Richfaces (but those are for JSF).
Thanks in advance. :)2