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 - "not making it any easier"
-
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
sip
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.37 -
Senior development manager in my org posted a rant in slack about how all our issues with app development are from
“Constantly moving goalposts from version to version of Xcode”
It took me a few minutes to calm myself down and not reply. So I’ll vent here to myself as a form of therapy instead.
Reality Check:
- You frequently discuss the fact that you don’t like following any of apples standards or app development guidelines. Bit rich to say the goalposts are moving when you have your back to them.
- We have a custom everything (navigation stack handler, table view like control etc). There’s nothing in these that can’t be done with the native ones. All that wasted dev time is on you guys.
- Last week a guy held a session about all the memory leaks he found in these custom libraries/controls. Again, your teams don’t know the basic fundamentals of the language or programming in general really. Not sure how that’s apples fault.
- Your “great emphasis on unit testing” has gotten us 21% coverage on iOS and an Android team recently said to us “yeah looks like the tests won’t compile. Well we haven’t touched them in like a year. Just ignore them”. Stability of the app is definitely on you and the team.
- Having half the app in react-native and half in native (split between objective-c and swift) is making nobodies life easier.
- The company forces us to use a custom built CI/CD solution that regularly runs out of memory, reports false negatives and has no specific mobile features built in. Did apple force this on us too?
- Shut the fuck up5 -
To people who don't know how to use Linux: Just because I use nano instead of gedit or any other GUI text editor does not mean I'm showing off. Why can't you understand that ssh-ing into a server and opening a file in the terminal itself to edit three lines of configuration is much easier than opening FileZilla, connecting, downloading the file, making the changes and uploading it again. It's fine if you want to do it that way. But please don't judge me for doing it my way.
To people who are good with Linux: Can you please stop suggesting me to use vim instead, EVERY FUCKING TIME? I know it's more powerful, but I haven't been using Linux enough to have surpassed it's learning curve. Plus I google up how to use it and do use it when I have the need. Please let me be?
To people who tell me to use Windows for everything: Go suck a fat dick, you uncultured morons.9 -
This has been said countless times before me, and way better than me that’s supper tired, but I need to rant out
And what I’m ranting out today, is Apple. Its essence, its core, the reason it still exists: the ECOSYSTEM!
The problem with Apple ecosystem is that it’s the ecosystem of a fucking PRISON!
People like it because it works well together , but it’s sure that in a prison, the path from your cell to the cantine is pretty optimized; you get forced there! And you might try to get your food elsewhere, but the walls of the prison are made to be difficult to cross. Especially on mobile, where they’re making it harder and harder to escape, to make a jailbreak (pun-intended). Keeping you the loyal little sheep, or the forcing you to it.
That prison is also made private, a little club, to attract people to it. They even got their own little system to talk to each other, but oh god protect them from their little messages to pass the walls of the prison.
And all that prison is guarded by the warden, watching from high in the cloud. Forcing you to report yourself to him to be part of that prison.
That prison, also, can only be entered with specific vehicles, provided by the prison, to ensure maximum compatibility and efficiency. Good luck entering with a disguised vehicle if you find the official ones too pricey for their parts.
They also provided pressure tubes to send things from one cell to another. While being only simple pressure tubes like any other, they’re acclaimed because they’re apparently easier to use than the other 3rd party pressure tubes that can send things to the outside. Why? Because, oh yes it’s already in everybody’s cells (of that prison, outside is dangerous) and the other tubes have been conveniently being placed somewhere harder to reach.
Another thing they have are those windows that can view the outside. While being maybe less clear than some other windows, they are ok. But if you ever consider going mobile to enjoy that safari with lions, then man do they love bringing you back to that window.
Ok so I’m done with the prison metaphor, or I won’t sleep.
The ecosystem is probably the major reason Apple is still there. You buy from there because you’re a prisoner (I guess I’m not finished with the metaphor after all).
This is a prime example of RMS’s quote “If the user doesn’t control the software, the software controls the user”
AirDrop isn’t some sort of revolutionary tech, it uses a well established protocol that other implementations use to do the same thing. They could really easily open source the protocol and allow everyone to profit, but they won’t, because that would mean you don’t have to buy Apple.
That’s why I militate for open source, decentralized and standardized protocols. Because that way, we control the software, and it doesn’t control us.
All the things I said aren’t so bad because when you buy Apple, you make a choice. But I don’t have a choice, I am typing this on an Apple device, because I need to (I won’t elaborate on that) because of that fucking *ecosystem*
I am really tired, so half the sentences probably don’t make sense, but thanks for coming to my stupid TED talk.12 -
Why do people say "Well, I don't know about that" to voice disagreement?
If you admit your own naivety on a subject compared to your peers, if you admit that you do not have the required knowledge to have formed an opinion, how can you disagree?
So it can either be expressed with genuine innocence, like 'Well, I don't know about that, tell me more!', which is never the case.
Or it means "Well I don't know anything about that... and I'm ashamed of the fact that I can't find any counter argument, so I refuse to trust your fucking expertise, shut the fuck up until I give you the right to voice your knowledge"
Which is a bit rude.
Now that we're on the topic of annoying expressions and platitudes...
"It's not rocket science" -- Rocket science, understanding how a rocket works, is surprisingly simple. You fill a cylinder with fuel and oxygen, add a pump or two, put some sparks underneath. Chemical reaction equals energy, direct energetic particles using a nozzle, Newton's first law does the rest. It's so simple that people don't actually study rocket science. They study aerospace engineering, or astrodynamics, which are difficult topics.
So if someone says "Devops is not rocket science", they're right, but for the wrong reason. It's actually harder than rocket science. Maybe easier than developing thermal protection system materials or solving n-body orbital problems with a slide ruler though.
"Great minds think alike" -- No, great minds actually think creatively and generate unique thoughts, if two minds think alike, the solution was just fucking obvious.
"Don't reinvent the wheel" -- First of all, pretty much nothing in code looks or even remotely functions like a simple wheel. Even metaphorically, all existing code equates to oval or square wheels. If you said "Hey, don't bother making better wheels, I like my ride to be bumpy because it stimulates my asshole", say no more, who am I to come between a product manager and their anal stimulation.
Anyway, those were four coworkers who I would've strangled with an Ethernet cable if it weren't for a certain pandemic and the risk of infection which comes with choke-coughing.
What are your linguistic pet peeves you get homicidal over?23 -
When managers look at my code, it’s shit, it’s over complicated, it’s overly difficult to read, it took too long, it’s too much for a simple ticket, i handled too many edge cases, we’ll never need most of it, why did I bother making it extensible when it’ll never need to change, how dare I use “unless”, why did I bother writing all these comments, why did I update the documentation that nobody reads because it’s outdated, etc. They say I should be more like the legendary devs and push janky code quickly, and complain that I don’t have any flops (problems in prod) like those are a good thing.
When my coworkers look at my code, they say it’s clean, amazingly easy to read, a monster feature that’s somehow still a joy to review and work on, it makes their lives easier, that it does exactly what it should in all cases, that they learned something from reading it, and thank me for the comments and documentation. And marvel that I finished it so well in so little time.
Am I bragging? Not intentionally; I’ve heard these things repeatedly since I started here, and the contrast between the above is so stark.
In reality, the managers are just idiots who were promoted far above their competence, and make everything worse. (Gee, who woulda thought?) It’s just so frustrating.14 -
When you have over 10 years experience... and nothing to show for it due to closures, redesigns and private work.
It’s not making my job hunt any easier.8 -
iPhones are ridiculously picky when it comes to finding a mate- um charger. And knowing why doesn't really make it any easier to understand why. If anything it baffles me more.
So, let's start with appliances that are not phones. Think Bluetooth headsets, keyboards, earbuds, whatever. Those are simple devices. They see 5V on the VCC line and 0V on ground, and they will charge at whatever current they are meant to. Usually it will not exceed 200mA, and the USB 2.0 spec allows for up to 500mA from any USB outlet. So that's perfectly reasonable to be done without any fuss whatsoever.
Phones on the other hand are smarter.. some might say too smart for their own good. In this case I will only cover Android phones, because while they are smarter than they perhaps should be, they are still reasonable.
So if you connect an Android phone to the same 5V VCC and 0V ground, while leaving the data lines floating, the phone will charge at 500mA. This is exactly to be within USB 2.0 spec, as mentioned earlier. Without the data lines, the phone has no way to tell whether it *can* pull more, without *actually* trying to pull more (potentially frying a charger that's not rated for it). Now in an Android phone you can tell it to pull more, in a fairly straightforward way. You just short the data lines together, and the phone will recognize this as a simple charger that it can pull 1A from. Note that shorting data lines is not a bad thing, we do it all the time. It is just another term for making a connection between 2 points. Android does this right. Also note that shorted data lines cannot be used to send data. They are inherently pulled to the same voltage level, probably 0V but not sure.
And then the iPhones come in, Thinking Different. The iPhones require you to pull the data lines to some very specific voltage levels. And of course it's terribly documented because iSheep just trying to use their Apple original white nugget charger overseas and shit like that. I do not know which voltage levels they are (please let me know!), but it is certainly not a regular short. Now you connect the iPhone to, say, a laptop or something to charge. An Android phone would just charge while keeping data transmission disabled (because they can be left floating or shorted). This is for security reasons mostly, preventing e.g. a malicious computer from messing with it. An iPhone needs to be unlocked to just charge the damn thing. I'm fairly sure that that's because the data lines need to be pulled up, which could in theory enable a malicious computer to still get some information in or out of it. USB data transmission works at at least 200mV difference between the data lines. It could be more than that. So you need to unlock it.
Apple, how about you just short your goddamn data lines too like everyone else? And while you're at it, get rid of this Lightning connector. I get it, micro USB was too hard for your users. I guess they are blind pigs after all. But USB-C solved all of that and more. The only difference I can think of is that the Lightning connector can be a single board with pads on either side on the connector, while in USB-C that could be at the socket end (socket being less common to be replaced). And at the end of the day, that really doesn't matter with all the other things that will break first.
Think Different. Think Retarded. Such tiny batteries and you can't even fucking charge them properly.6 -
!dev
I have a couple of thoughts about social justice controversies from these last years.
I think it's hard to have a good opinion about these events for several reasons.
One reason is that finding good information in 2019 is very hard.
Revenue based sites (thus unneutral) dominate the search results. You search about something and you find thousands of sites basically saying the same thing (because they copy each other).
That's why the existence of a free and open search engine is so important, so it's easier to find neutral hence good information on which to base your opinions, but they are prohibitively big for small groups to build.
Another reason is that controversies generate shock and shock curtails rational thinking. Maybe that's how the primitive brain works?
I'm not much of a scholar to feel confident to say that, but it's so recurrent that it's not too much of a wild guess.
When a controversy happens, a natural reaction is to pick a side. This means that:
a) we assume that there are only 2 sides, and
b) we must pick one of them
So, maybe the human is a bad politician by nature?
Also, because of the shock controversies generate, peaceful dialogue is very rare.
I have yet to see peaceful dialogue online about what patriarchy means to feminists and a lot of other terms they use.
I don't care much about feminists that vandalize or interrupt talks (yelling over someone else is abuse in my opinion).
But for the rest of them, I think discussing their ideas would be good.
I say this because most feminist discourse I see online is not open. Or maybe there are such instances but the web is so big that it's hard to find such instances.
I think some part of the modern feminist doctrine is bullshit, and some part is true.
I for one hate when some men I know in life expect their wives to be their cooks+cleaners (unless they want to do that, willingly). Personally, I'd encourage my wife to get a job (rightfully so, not just to meet some minority quota in some company).
I don't mind either calling a trans person the pronoun she wants.
But other ideas are awful, like the idea that meritocracy is patriarchy, so you need to force minorities to meet a proportionate quota. That's terrible reasoning.
Or the excessive self appreciation culture, like saying to yourself "you are pretty, you are beautiful, you are perfect". I think that grows arrogance and black-or-white thinking.
And some other ideas as well.
I guess the same you can say about any doctrine with different degrees. Some part is bullshit, some part isn't.
Some right wing people hate everyone who isn't white by default, but some want to have more immigration control.
I sure don't like the experiment of separating children from families like the current us govt did, but I wouldn't be happy either to know that by '99 50% of gangs members in the us were hispanic.
With this, I'm not going to say "embrace everyone's ideas" like an idiot. I hate when people do that. It's a stupid and weak reaction to radicalism.
In fact I think the way you fight radicalism and bad doctrines is that you listen to them and maintain good dialogue and counterargue in a respectful but insightful manner.
Making snide remarks, insulting or trolling won't change anyone's mind. That is just throwing fire to the fire.
In fact, when someone gets harassed because of something they believe in, usually it results in even more adherence to their beliefs, because of the usual assumption that success or goodness is full of strife.
So by telling a "sjw" or kkk member that they are idiots over twitter, you are in fact making them stronger believers in their doctrine.
Think of Daryl Davis, a black guy that made 200 members leave the kkk. How? He didn't tell them they were assholes, he somehow made friends with them.
I feel bad now because I've been trolling new devrant users a lot because of how they worsen the quality of the site, but maybe I should tell them that they are ruining the site somehow in a nice way and maybe they'll listen? I dunno...23 -
I quit this startup side job coz I was over worked and under paid for 3 years and I decided it wasn't worth the mental fatigue and anxiety. Plus I didn't feel like it added any value to my life other than stress. Gave them at least 2 months notice (since February effective April 30th) coz as the only server side engineer+team lead, I did ALOT. Now they brought this hot shot new CTO who wants me to basically rewrite the entire app before I go while maintaining the existing system and making sure everything functions smoothly (there is a ton I chose to optimise to make things easier for the new dev who they have not hired and I have 4 weeks to go) . The app was built in mongo db now he wants it in mysql. Can't believe ask me this after breaking my neck and falling in and out if depression for this job?!! I want to laugh and scream at the same time.8
-
Has been a long time since I'm appreciating working with GRPC.
Amazingly fast and full-featured protocol! No complaints at all.
Although I felt something was missing...
Back in the days of HTTP, we were all given very simple tools for making requests to verify behaviours and data of any of our HTTP endpoints, tools like curl, postman, wget and so on...
This toolset gives us definitely a nice and quick way to explore our HTTP services, debug them when necessary and be efficient.
This is probably what I miss the most from HTTP.
When you want to debug a remote endpoint with GRPC, you need to actually write a client by hand (in any of the supported language) then run it.
There are alternatives in the open source world, but those wants you to either configure the server to support Reflection or add a proxy in front of your services to be able to query them in a simpler way.
This is not how things work in 2018 almost 2019.
We want simple, quick and efficient tools that make our life easier and having problems more under control.
I'm a developer my self and I feel this on my skin every day. I don't want to change my server or add an infrastructure component for the simple reason of being able to query it in a simpler way!
However, This exact problem has been solved many times from HTTP or other protocols, so we should do something about our beloved GRPC.
Fine! I've told to my self. Let's fix this.
A few weeks later...
I'm glad to announce the first Release of BloomRPC - The first GRPC Client GUI that is nice and simple,
It allows to query and explore your GRPC services with just a couple of clicks without any additional modification to what you have running right now! Just install the client and start making requests.
It has been built with the Electron technology so its a desktop app and it supports the 3 major platforms, Mac, Linux, Windows.
Check out the repository on GitHub: https://github.com/uw-labs/bloomrpc
This is the first step towards the goal of having a simple and efficient way of querying GRPC services!
Keep in mind that It is in its first release, so improvements will follow along with future releases.
Your feedback and contributions are very welcome.
If you have the same frustration with GRPC I hope BloomRPC will make you a bit happier!
3 -
Welp, its official, with Debian Buster adoption into our mainline, we are officially switching from Sys-V-Init to SystemD.
I still do not know how I feel about it.
From the professional point of view - Its a relief. SystemD has so many more neat features that make the life of a sysadmin easier. If any, I love that it tracks the uptime of a service, making it incredibly easy the last time it crashed / restarted...
On the other... I just... Am kind of afraid where the whole systemd environment will go with time... And... I guess... I am also worried about how much systemd is taking over in the system itself... It will mean learning quite a few new services, debugging routines and such...
A new era of GNU/SystemD/Linux is upon us.15 -
Job search isn't easy.
Not because there aren't any jobs, but because I am afraid of anything that seems remotely like my current toxic workplace.
Fack.5 -
2 hour meeting to brainstorm ideas to improve our system health monitoring (logging, alerting, monitoring, and metrics)
Never got past the alerting part. Piss poor excuses for human being managers kept 'blaming' our logging infrastructure for allowing them to log exceptions as 'Warnings', purposely by-passing the alerting system.
Then the d-head tried to 'educate' everyone the difference between error and exception …frack-wad…the difference isn't philosophical…shut up.
The B manager kept referring to our old logging system (like we stopped using it 5 years ago) and if it were written correctly, the legacy code would be easier to migrate. Fracking lying B….shut the frack up.
The fracking idiots then wanted to add direct-bypass of the alerting system (I purposely made the code to bypass alerting painful to write)
Mgr1: "The only way this will work is if you, by default, allow errors to bypass the alerting system. When all of our code is migrated, we'll change a config or something to enable alerting. That shouldn't be too hard."
Me: "Not going to happen. I made by-passing the alert system painful on purpose. If I make it easy, you'll never go back and change code."
Mgr2: "Oh, yes we will. Just mark that method as obsolete. That way, it will force us to fix the code."
Me: "The by-pass method is already obsolete and the teams are already ignoring the build warnings."
Mgr1: "No, that is not correct. We have a process to fix all build warnings related to obsolete methods."
Mgr2: "Yes. It won't be like the old system. We just never had time to go back and fix that code."
Me: "The method has been obsolete for almost a year. If your teams haven't fixed their code by now, it's not going to be fixed."
Mgr1: "You're expecting everything to be changed in one day. Our code base is way too big and there are too many changes to make. All we are asking for is a simple change that will give us the time we need to make the system better. We all want to make the system better…right?"
Me: "We made the changes to the core system over two years ago, and we had this same conversation, remember? If your team hasn't made any changes by now, they aren't going to. The only way they will change code to the new standard is if we make the old way painful. Sorry, that's the truth."
Mgr2: "Why did we make changes to the logging system? Why weren't any of us involved? If there were going to be all these changes, our team should have been part of the process."
Me: "You were and declined every meeting and every attempt to include your area. Considering the massive amount of infrastructure changes there was zero code changes required by your team. The new system simply worked. You can't take advantage of the new features which is why we're here today. I'm here to offer my help in any way I can with the transition."
Mgr1: "The new logging doesn't support logging of the different web page areas. Until you can make that change, we can't begin changing our code."
Me: "Logging properties is just a name+value pair dictionary. All you need to do is standardize on a name and how you add it to the collection."
Mgr2: "So, it's not a standard field? How difficult would it be to change the core assembly? This has to be standard across all our areas and shouldn't be up to the developers to type in anything they want."
- Frack wads smile and nod to each other like fracking chickens in a feeding frenzy
Me: "It can, but what will you call this property? What controls its value?"
- The look I got from both the d-bags I could tell a blood vessel popped.
Mgr1: "Oh…um….I don't know…Area? Yea … Area."
Mgr2: "Um…that's not specific enough. How about Page?"
Mgr1: "Well, pages can cross different areas, and areas cross different pages…what do you think?"
Me: "Don't know, don't care. It's up to you. I just need a name."
Mgr2: "Modules! Our MVC framework is broken up in Modules."
DevMgr: "We already have a field for Module. It's how we're segmenting the different business processes"
Mgr1: "Doesn't matter, we'll come up with a name later. Until then, we won't make any changes until there is a name."
DevMgr: "So what did we accomplish?"
Me: "That we need to review the web's logging and alerting process and make sure we're capturing errors being hidden as warnings."
Mgr1: "Nooo….we didn't accomplish anything. This meeting had no agenda and no purpose. We should have been included in the logging process changes from day one."
Mgr2: "I agree, I'm not sure why we're here"
Me: "This was a brainstorming meeting as listed in the agenda. We've accomplished 2 of the 4 items. I think we've established your commitment to making the system better. Thank you all for coming."
- Mgr1 and 2 left without looking at me or saying a word.1 -
My first dev project. That is a toughie. Years ago (1998) I did some BASIC programming in HS. Then a few years after that (somwhere between 2002 and 2006) I did a lot of video game editing with hex editors and other tools to replace dialog to translate video games from Japanese to English, but there was not much coding there.
The first one I remember in recent times that involved any kind of coding was back in 2012/2013, there was a save state editor for Final Fantasy III on android (it didn't work for the iOS saves) but the editor was in Chinese. I ended up working with someone else to change it to English, so that others could use it easier. After that, I decided to code one from scratch for a different game.
I spent weeks working on it, and finally released a save editor for Final Fantasy Dimensions (I made sure it worked for both iOS and Android save files). It was my first great achievement, however it was way to many lines of code (I didn't know about loops or arrays back then, so I had a lot of repeating code). I eventually ended up making ones for Final Fantasy IV and VI, however those were never released to the public, as I had trouble getting the CRC to calculate properly every time.
This led me down the path I am now, going for my Bachelor's in IST with a specialization in Programming. -
If you've ever tried using Go plugins raise your hand.
If you've ever tried doing plugins in Go, raise your hand.
If you think that the following rant will be interesting, raise your hand.
If you raised your hand, press [Read More]:
This is a tale of pain and sorrow, the sorrow of discovering that what could be a wonderful feature is woefully incomplete, and won't be for a very long time...
Go plugins are a cool feature: dynamically load pre-compiled code, and interact with it in a useful and relatively performant way (e.g. for dynamically extending the capabilities of your program). So far it sounds great, I know right?
Now let me list off some issues (in order of me remembering them):
1. You can't unload them (due to some bs about dlopen), so you need to restart the application...
2. They bundle the stdlib like a regular Go binary, despite the fact that they're meant to be dynamic!
3. #2 wouldn't be so bad if they didn't also require identical versions of all dependencies in both binaries (meaning you'd need to vendor the dependencies, and also hope you are using the right Go version).
4. You need to use -trimpath or everything dies...
All in all, they are broken and no one is rushing to fix it (literally, the Go team said they aren't really supporting it currently...).
So what other options are there for making plugins in Go?
There's the Hashicorp method of using RPC, where you have two separate applications one the plugin, one the plugin server, and they communicate over RPC. I don't like it. Why? Because it feels like a hack, it's not really efficient and it carries a fear of a limitation that I don't like...
Then we come to a somewhat more clever approach: using Lua (or any other scripting language), it's well known, it's what everyone uses (at least in games...). But, it simply is too hard to use, all the Go Lua VMs I could find were simply too hard to set up...
Now we come to the most creative option I've seen yet: WASM. Now you ask "WASM!? But that's a web thing, how are you gonna make that work?" Indeed, my son, it is a web thing, but that doesn't mean I can't use it! Someone made a WASM VM for Go, and the pros are that you can use any WASM supporting language (i.e. any/all of them). Problem inefficient, PITA to use, and also suffers from the same issues that were preventing me from using Lua.
Enter Yaegi, a Go interpreter created by the same guys who made (and named) Traefik. Yes, you heard me right, an INTERPRETER (i.e. like python) so while it's not super performant (and possibly suffering from large inefficiency issues), it's very easy to set up, and it means that my plugins can still be written in Go (yay)! However, don't think this method doesn't have its own issues, there's still the problem of effectively abstracting different types of plugins without requiring too much boilerplate (a hard problem that I'm actively working on, commits coming soon). However, this still feels to be the best option.
As you can see, doing plugins in Go is a very hard problem. In the coming weeks (hopefully), I'm going to (attempt to at least) benchmark all the different options, as well as publish a library that should help make using Yaegi based plugins easier. All of this stuff will go (see what I did there 😉) in a nice blog post that better explains the issues and solutions. But until then I have some coding to do...
Have a good night(/day)!13 -
I have an idea and I want some feedback.
I'm the only web developer and I've been updating our systems so they can be maintainable. Previously we have used Wordpress for landing pages which is complete overkill So here's the idea:
Static sites for landing pages and any forms that would need to filled out would be on a separate site.
Ok so here me out. First the landing pages barely need any maintenance so using pure HTML/CSS/JS wouldn't be a problem. This means I can strip away all of the crap from Wordpress and make the load times faster. Second all of the landing pages forms would be hosted in a single place making analytics easier for the reporting system.
Really I just despise Wordpress and am trying any practical reason to not use it as much as possible. Oh and don't worry I'll use preprocessors and minify the production files.7 -
I need some opinions on Rx and MVVM. Its being done in iOS, but I think its fairly general programming question.
The small team I joined is using Rx (I've never used it before) and I'm trying to learn and catch up to them. Looking at the code, I think there are thousands of lines of over-engineered code that could be done so much simpler. From a non Rx point of view, I think we are following some bad practises, from an Rx point of view the guys are saying this is what Rx needs to be. I'm trying to discuss this with them, but they are shooting me down saying I just don't know enough about Rx. Maybe thats true, maybe I just don't get it, but they aren't exactly explaining it, just telling me i'm wrong and they are right. I need another set of eyes on this to see if it is just me.
One of the main points is that there are many places where network errors shouldn't complete the observable (i.e. can't call onError), I understand this concept. I read a response from the RxSwift maintainers that said the way to handle this was to wrap your response type in a class with a generic type (e.g. Result<T>) that contained a property to denote a success or error and maybe an error message. This way errors (such as incorrect password) won't cause it to complete, everything goes through onNext and users can retry / go again, makes sense.
The guys are saying that this breaks Rx principals and MVVM. Instead we need separate observables for every type of response. So we have viewModels that contain:
- isSuccessObservable
- isErrorObservable
- isLoadingObservable
- isRefreshingObservable
- etc. (some have close to 10 different observables)
To me this is overkill to have so many streams all frequently only ever delivering 1 or none messages. I would have aimed for 1 observable, that returns an object holding properties for each of these things, and sending several messages. Is that not what streams are suppose to do? Then the local code can use filters as part of the subscriptions. The major benefit of having 1 is that it becomes easier to make it generic and abstract away, which brings us to point 2.
Currently, due to each viewModel having different numbers of observables and methods of different names (but effectively doing the same thing) the guys create a new custom protocol (equivalent of a java interface) for each viewModel with its N observables. The viewModel creates local variables of PublishSubject, BehavorSubject, Driver etc. Then it implements the procotol / interface and casts all the local's back as observables. e.g.
protocol CarViewModelType {
isSuccessObservable: Observable<Car>
isErrorObservable: Observable<String>
isLoadingObservable: Observable<Void>
}
class CarViewModel {
isSuccessSubject: PublishSubject<Car>
isErrorSubject: PublishSubject<String>
isLoadingSubject: PublishSubject<Void>
// other stuff
}
extension CarViewModel: CarViewModelType {
isSuccessObservable {
return isSuccessSubject.asObservable()
}
isErrorObservable {
return isSuccessSubject.asObservable()
}
isLoadingObservable {
return isSuccessSubject.asObservable()
}
}
This has to be created by hand, for every viewModel, of which there is one for every screen and there is 40+ screens. This same structure is copy / pasted into every viewModel. As mentioned above I would like to make this all generic. Have a generic protocol for all viewModels to define 1 Observable, 1 local variable of generic type and handle the cast back automatically. The method to trigger all the business logic could also have its name standardised ("load", "fetch", "processData" etc.). Maybe we could also figure out a few other bits too. This would remove a lot of code, as well as making the code more readable (less messy), and make unit testing much easier. While it could never do everything automatically we could test the basic responses of each viewModel and have at least some testing done by default and not have everything be very boilerplate-y and copy / paste nature.
The guys think that subscribing to isSuccess and / or isError is perfect Rx + MVVM. But for some reason subscribing to status.filter(success) or status.filter(!success) is a sin of unimaginable proportions. Also the idea of multiple buttons and events all "reacting" to the same method named e.g. "load", is bad Rx (why if they all need to do the same thing?)
My thoughts on this are:
- To me its indentical in meaning and architecture, one way is just significantly less code.
- Lets say I agree its not textbook, is it not worth bending the rules to reduce code.
- We are already breaking the rules of MVVM to introduce coordinators (which I hate, as they are adding even more unnecessary code), so why is breaking it to reduce code such a no no.
Any thoughts on the above? Am I way off the mark or is this classic Rx?16 -
This basically is me rambling all my thoughts that have been clouding my mind.
Learning other programming languages after learning the first is harder than I expected. I learned python first but that's making learning others (which I know arent similar but ) C, ES6, PHP, etc. I need to figure out what makes each one special and get a proper path instead of learning them all the same way. Which is easier for the web dev languages but fuck man I just need a good path for them and I'm good. Like learn this this this this that and that and I've got a basic understanding of the language I dont need to stress and I can casually build my knowledge from here now that I understand all this. Cause I love programming and I want to be the best I can be and just get to the level I am with python. And at some point I have to learn about basic electronics and learning how to program Arduinos with C so I can do stuff with that because I really really REALLY want to.
It doesnt stop there. I want to learn another language and no I'm not talkin bout programming anymore I mean I wanna learn Japanese and German (but japanese primarily) but it doesnt help that I'm always either in school, studying, programming, or playing games. I just cant find time to practice Hiragana&Katakana (two basic writing systems in japan) and it doesnt help that I'm a lazy procrastinating piece of shit that doesnt have or can keep a proper schedule and hell I barely can English and Its my native tongue. Ugh. Itd be better if I had a native speaker to help me tbh.
And finally I want to learn basic pixel animating I have dreamed as a kid to do some kind of animation and programming and I want to do both for games I want to program for fun but it doesnt help that I cant draw sprites or anything for shit. I cant get it and I just am fucked but I'm going to ask some people I know and a few subreddits for advice/help/resources with that
Welp that was the Bubbles Power Hour none of you probably are keen followers of mine and if I had any I'd be shocked and honored but thanks for reading anyways and any advice on anything is always appreciated!random rambling electronics es6 stress language learning php python c foreign languages pixel art javascript11 -
Multi User, One Account, and other shit
I'm gonna rant about something as a user, and someone who makes stupid web stuff.
My bank has been updating their web banking over time and they decided that every individual on an account, should have their own login. They really want to push this on their users, I suspect specifically folks like me and my wife who share one login for the joint accounts we have at the bank together.
Why share one login, because it's the only sure fire way I know that I and my wife can see all the same shit no doubt about it.
The banks never tell you what you can see or can't with joint accounts, I doubt it is even documented on their end, but in every damn case something is hidden or different in some weird way.
Messages to the bank people? If I send it, my wife often can't. I get that for security reasons that's a thing, but it makes no sense for a joint account.
ANY difference to me breaks online banking ENTIRELY. Joint accounts are supposed to be... well one account that is the same.
Other banks we used where we had different logins for the joint account, each login actually had separate bill pay accounts per user. So if I went to bill pay and scheduled something to be paid, my wife had no idea, same if she did.
Right fucking there, banking is just broken entirely!
So no Mr. Bank, fuck you we're both logging in via the same login.
Fast forward to N00bPancakes making a thing.
So my employer has a customer (Direct Customer). Direct Customer wants a thing that makes communication with their customer (Indirect Customer) easier.
The worst thing about making something for your customer's customer is that Direct Customer always imagines that Indirect Customer is gonna be super ninja power users....
But no, that's not the case... in fact almost nobody is a power user, and absolutely nobody WANTS to be a power users.
Worse yet in my case the only reason this tool exists is because Direct Customer and Indirect Customer can't communicate well enough anyway... that should tell you something about the amount of effort Indirect Customer is willing to expend.
So with that tool, this situation constantly comes up:
Direct Customer thinks it would be great if every user from Indirect Company had some sort of custom messaging, views, and etc in of Cool Communication Tool. The reason is because that's what Direct Customer loves about Ultra Complex Primary Tool that they use ....
Then I have to fight the constant fight of:
NOBODY WANTS TO BE A POWER USER, NOBODY EVEN WANTS TO DO MUCH OF ANYTHING ON THE INTERNET THAT ISN'T SCREAMING AT OTHER PEOPLE OR POST MEMES OR WATCH SHITTY VIDEOS. THE MOMENT ANYONE AT INDIRECT COMPANY LOGS IN AND SEES ANY INFO THAT IS DIFFERENT FROM THEIR COWORKER THEY'LL SHIT THEMSELVES, FLOOD EVERYONE WITH 'OH GAWD SOME NON SPECIFIED THING IS WRONG' AND RESPOND TO EMAILS LIKE A JELLYFISH DROPPED OFF IN NEW MEXICO... AND NOTHING WILL GET DONE!!!
God damn it people.
Also side rant while I'm busy fighting the good fight to keep shit simple and etc:
People bitch about how horrible the modern web is and then bitch at web devs like we're rulers of the internet or something.... What really pisses me off about that is other devs who do that.... like bro, do you make policy at your company? You decide not to sell some info or whatever shit your company sells? Like fuck off with your 'man I miss html' because you got scared by some shitty JS error and ran back to your language of choice and just poked your head out of the the basement and got scared... and you shit on another developer about that? Fuck you. -
🔥👽🤘🏻
I've been CRUSHING it lately, so stoked!!!
**Also, this means that in the near future something will crush me because I have a few subjects on deck I need to lock down.
1. Deno
2. TypeScript(deep dive)
3. CPP (currently 75% done with my 2nd masterclass, first one complete)
4. Multi-platform local device storage (Sqflite/mongoDB/shared preferences/Hive)
5. REST/api/requests/json management && application
6. Implementing Firebase authentication using Apple, Twitter, and mobile OTP
7. Cloud functions && server scripting/automation
8. Intro to embedded systems/OS/kernels
9. Steadily improve my code style, design strategies, and build patterns that are team friendly && provide easier code base maintainibilty
10. Influence, teach, and/or spark the interest of someone new to development in any possible- all that matters is getting new people on board, making sure they are stoked about, and last but not least making sure they feel welcome in the community and are able to start off in the right direction.
cheers, ya fockers!!!!
-
#need_help
Dear all,
I'm trying to make a choice, a choice that won't make me regret it for the few years advanced, I'm in a dilemma, I don't know which MacBook should I get for my everyday life, I currently work as an iOS developer (Learned iOS using all kinds hackintoshes, yeah I never bought a single apple computer, yet), and always have motivation to learn new stuff (from machine learning, to web development, to making games with unity (or whatever engine), hell I even like to design stuff from time to time using Photoshop, sketch, I sometimes do video editing using premiere and after effects), and I yet have to choose which laptop to get, I got only one week to make the choice so...
Here are the options:
The new MacBook Pro 2016 (Touch Bar edition):
Pros: 'Latest' and 'greatest', have thunderbolt ports which makes it (sort of) future proof, TouchId for unlocking the laptop using a fingerprint.
Cons: You need a damn dongle everywhere, no escape key (Which I use for the autocomplete feature in Xcode), and this touch bar (Which I really have no idea if i will ever use it other than the nyan cat app for 5 minutes), plus I heard about battery issues with it (don't know if they resolved it or not), fucking huge trackpad, and no fucking MagSafe!
The previous model MacBook Pro 2015:
Pros: Ports, lots of them, small trackpad (Which you don't have to worry about your palm screwing up your work), and MagSafe! (Which I honestly don't know if it'll make any difference for my usage)
Cons: has old CPU from Haswell generation (I know that it won't feel different, it's just that I like to have parts that are the 'latest')
Now some questions, for people who have the old MacBooks and new MacBooks:
For the ones with old MacBook:
If you were given the choice to replace the old MacBook for the new one for free, would you go for it?
After all this time, how's the battery performance? is it still great from the time you bought it?
Foe the ones with new MacBook:
Does the huge-ass trackpad interfere your work day?
Do you miss magsafe to a point where you really want to throw out the new laptop and go back to previous model?
Did you get used to carry out dongles everywhere?
Did you like the TouchBar? Does it help you in your everyday work? from designing to coding to whatever, do you think that now you can't live without it?
How's the battery performance?
Is programming on it joyable? or the new keyboard and touchpad are just a meh?
Strawpoll to make it easier to vote:
http://www.strawpoll.me/12856510
In addition to that I would love that you guys detail me your experience and answer some questions that I posted above, I would be very, very grateful.2 -
Week 1 Day 5 - Week 2 Day 5
"It does not matter how slowly you go as long as you do not stop" - Confucius
He had a lot of great quotes but I think that's one every dev who's ever worked on a personal project can get behind. It's been about a week since my last rant so I've got a lot to cover, I got a little busy so my progress has been lacking but I have two days off coming up and I plan on making all my meals ahead of time and turning my phone off to limit distractions.
So far I've worked my way through the first lesion on layouts and getting/editing views by the id. This seems pretty basic once you get comfortable with the topic. I'd like to think this will become second nature once I start to get into the guts of the course. The second lesson started working with internet connectivity and I've just started working through it. A lot doesn't make sense but at the start of the lesson one nothing made sense so I assume it'll all wrap up nicely.
I wanted to publish this two days ago (January 23) but I closed my laptop and forgot all about the rant so now it's two days later and I've made some progress, things are getting easier to understand and I'm liking it. I've also decided to start making something I've always wanted to while I work on android development. I'm going to start making an RPG I've been working on since my sophomore year of high school. I haven't written any code for my game yet but I've got the world development and story air tight. So as an ending statement, I'd like to ask anyone on devRant with game making experience how I should go about structuring my project, and some of the things that aren't going to be easy to find with google searches. I plan on, to the dismay of many other game dev's I've talked to, write it in Java because it's familiar to me and I would probably make a worse game in C++ even though that is the go to language. I'd also like to thank some of you repeat readers for silently encouraging me to keep going just by ++ing my rants every time, JoshBent and Dfox. It's been really nice seeing names pop up every single time.1 -
Guys, I need some advice.
A couple of weeks ago I finished my internship as a sys admin in this medium sized consulting company. When my "contract" was about to expire they offered me a real job doing the same thing I've been doing for the past few months, but I turned it down.
The reason why I did it was that I wasn't really happy with the job. I mean, the people were... fine, the management team was... fine, the actual work I needed to do was... fine. I think you get the idea. The problem was that I never really enjoyed it all that much, and even though I didn't hate it, I wasn't really happy with it, so I turned the offer down.
After giving it more thought and listening to what some of my friends and family members had to say, I started thinking that maybe it was a bad idea to do so. Many people have said to me that I'm making a mistake, that I shouldn't leave a job before I have a new one, and that I should take the offer, work there for a little while and then look for something else.
I always answer by saying that the job market in this field is much more simple, and that it's much easier to find a new job than in any other, but yet again, I'm not sure if I'm making a big mistake with this decision.
Thoughts?
PS: I'm 21, this would be my first job ever5 -
1/2 dev and a fair warning: do not go into the comments.
You're going anyway? Good.
I began trying to figure out how to use stable diffusion out of boredom. Couldn't do shit at first, but after messing around for a few days I'm starting to get the hang of it.
Writing long prompts gets tiresome, though. Think I can build myself a tool to help with this. Nothing fancy. A local database to hold trees of tokens, associate each tree to an ID, like say <class 'path'> or some such. Essentially, you use this to save a description of any size.
The rest is textual substitution, which is trivial in devil-speak. Off the top of my head:
my $RE=qr{\< (?<class> [^\s]+) \s+ ' (?<path>) [^'] '\>}x;
And then? match |> fetch(validate) |> replace, recurse. Say:
while ($in =~ $RE) {
my $tree=db->fetch $+{class},$+{path};
$in=~ s[$RE][$tree];
};
Is that it? As far the substitution goes, then yeah, more or less. We have to check that a tree's definition does not recurse for this to work though, but I would do that __before__ dumping the tree to disk, not after.
There is most likely an upper limit to how much abstraction can be achieved this way, one can only get so specific before the algorithm starts tripping balls I reckon, the point here is just reaching that limit sooner.
So pasting lists of tokens, in a nutshell. Not a novel idea. I'd just be making it easier for myself. I'd rather reference things by name, and I'd rather not define what a name means more than once. So if I've already detailed what a Nazgul is, for instance, then I'd like to reuse it. Copy, paste, good times.
Do promise to slay me in combat should you ever catch me using the term "prompt engineering" unironically, what a stupid fucking joke.
Anyway, the other half, so !dev and I repeat the warning, just out of courtesy. I don't think it needs to be here, as this is all fairly mild imagery, but just in case.
I felt disappointed that a cursed image would scare me when I've seen far worse shit. So I began experimenting, seeing if I could replicate the result. No luck yet, but I think we're getting somewhere.
Our mission is clearly the bronwning of pants, that much is clear. But how do we come to understand fear? I don't know. "Scaring" seems fairly subjective.
But I fear what I know to be real,
And I believe my own two eyes.
11 -
TLDR: Need for easy to use VR headsets for mobile phones...
Complete story:
There are so many interesting places to explore in this world but sadly the current pandemic situation has brought travel plans to a complete halt. Today I tried watching virtual tours of various cities on YouTube and it felt a bit relaxing.
I was planning to use VR to enhance the experience but it's quite a lot of trouble adjusting my phone in VR headset, controlling playback from my hands when the phone is in the headset.
I wish someone, somewhere would find a way to simplify this problem... Like making mobile-based VR headsets bit easier to use and control while keeping it at affordable to use and allow addition of mobile phones of any sizes...
If someone could actually do this...I think we might have the next groundbreaking startup in the next few years...😄
P.S. Google cardboard VR does not fit this criterion...4 -
I'm almost at the point where I give up on this project, I'm banging my head too hard against the wall here.
I'm making an android app that should make it easier for local fishermen (hobby stuff, not enterprise things) to submit their catches to the local unions. For that to happen, I need to be able to fill a form in the app, more specifically, this form: http://karupaa.com/dk/...
After some research, I managed to figure out its probably a POST request, but I may be very wrong here.
Also figured out the URL to post to is probably either the first url given, or this one: http://karupaa.com/dk/...
I'm extremely confused at on this area, and any help would be greatly appreciated.
I dont really know anything about POST or GET requests, except for the quick comparison I read on W3Schools. Its an area Im lost in.
help :i11 -
HTML Writers Guidelines
When designing your web site you want to make the visiting experience as enjoyable as possible and at the same time make it so that if the site needs to be changed in any way, the changes are not too difficult to make. You want the look to be as appealing as possible for all browsers and also make the site accessible to users with disabilities. In order to accomplish all this there are some general guidelines when creating your HTML code.
1. The first thing that will really make your life easier is through the use of Cascading Style Sheets (CSS) - CSS is used to maintain the look of the document such as the fonts, margins and color. HTML directly on the page is not a good choice to handle these aspects because if say, the font color you are using for certain paragraphs needs to be changed from blue to red, you would have to go in and change each color tag manually. By using CSS you can designate the color for each of those paragraphs just once in the CSS file. That way if you have to change the font color from blue to red you make one change instead of the countless number of changes you might have to make, especially if your web site contains hundreds of pages. This is a big time saver and a must for all professionally designed web sites.
2. Don't use the FONT tag directly in your HTML code - This becomes a problem when using some cheap authoring tools that try to mimic what a web page should look like by using excessive FONT tags and nbsp characters. These tools end up creating web pages that are impossible to keep maintained. There is a program you can use, if you've created one of these disaster pages, called the HTML Tidy Program which you can actually download here . This will clean up your code as well as possible.
3. You want your web pages readable to people who have disabilities - People who surf the Internet depend on speech synthesizers or Braille readers to interpret the text on the page. If your HTML markup is sloppy or isn't contained in CSS the software these people use to read pages have a difficult time in interpreting these pages. You should also include descriptions for each image on your page. Also, don't use server side image maps. If you are using tables you should include a summary of the table's structure and also associate table data with the correct headers. This gives non visual browsers a chance to follow the page as they go from one cell to another. And finally, for forms, make sure you include labels for form fields.
By following just these three guidelines you give your visitors, especially disabled visitors the best chance of having an enjoyable visit to your site while at the same time making it so that if you have to make changes to your site, those changes can be made easily and quickly.2 -
Okay so I have been thinking about transferring to linux. But I'm not too sure because of a few things I'm hoping yall can explain to me.
1st problem.) The operating system just feels so empty
2nd.) Theres a lot of customizing I would have to go through (which isnt really a problem it's just difficult getting it to look good)
3rd.) I'd have to learn to use the terminal more (which might be easier than I'm thinking)
4th and final.) I dont think I'd be able to use C# I know .NETCore is a thing but I dont think I'd be able to do as much with it.
I know these would probably go away after awhile but I've tried using it before but im afraid of making it my main OS I'm also putting aside games in my problems cause I know they recently made gaming better on linux I just dont know the extent to that.
Any help is appreciated and please go easy on me 😅12 -
Warn: long rant is long
So for the past couple of weeks I've been frustrated/confused over my thesis course with the kids gloves the professor gave us. This week I found out that in actuality this class isn't just for the IT majors, but a mix of Software Engineering majors, IT majors with minors in the SE department (me), and Information System majors who do product management but don't know much about coding anything.
As a result, we have this really strange set of discussions going on where on one hand we have the professor giving the okay to students making a website in !!Wix because they don't know much about HTML and CSS, to students like me busting ass to get a Java/MongoDB/Bootstrap web application off the ground from scratch.
I'm not as nearly upset as a I was, but it's still a really bizarre thing to lump these two departments together and getting it all coherent. The SE and IT majors is a much easier fit as there's so much overlap between the two that it's next to impossible to see any difference, it's the IS majors who are off in their own little world.
One thing is relieving to me from all this. I've realized I didn't need to major in Software Engineering to become a competent software engineer. It's amazing what one can self teach in 2 years to get the equivalent knowledge and skill sets. In the end this makes it all up for when I dropped out Computer Science in my mid 20's.
It's jaw dropping to me how much my perception of the education system for STEM has changed from when I was freshman to being a senior.1 -
Working on a project for myself and to put in my portfolio. Talking about it with a (non coding) co-worker and discussing where I am in the project as I've been really excited about my progress since I'm working from scratches with no frameworks for the back-end(the only side I've worked on so far). I was talking about the registration page and getting ideas as to what I should let users put on their profiles and she chimes in, "This would actually be better as a mobile app. That would be much easier to use." Well yeah, probably, but I'm a web developer, not a mobile app developer. Plus making it a web app means users will be able to utilize it through any medium rather than just their mobile phone. I can (probably) make it responsive enough that users don't mind it being a web page rather than an app.
I'm still learning, I know PHP, Python and a little JavaScript, not really enough to build a mobile app. Yeah I'd love to make this an app, but then I gotta support multiple products across several hundred different devices in multiple languages and I'm just not ready for that. Let's get the back end finished and we can go from there.1 -
HIRE A GENUINE ETH & BTC RETRIEVING SERVICE- VISIT SALVAGE ASSET RECOVERY
CONTACT INFO--WhatsApp+ 1 8 4 7 6 5 4 7 0 9 6
In recent years, as technology has evolved, so has the world of digital assets, particularly cryptocurrencies. These digital currencies, while offering convenience and security, also come with risks, one of the most significant being theft. Whether through hacking, scams, or simple human error, losing access to crypto assets can be devastating. The process of recovering stolen or lost digital funds, however, is far from straightforward and often seems impossible. Despite the challenges, recovery is not entirely out of reach, especially when you have the right professionals on your side. In my own experience, I was unfortunately a victim of crypto theft. After months of sleepless nights and endless frustration, I realized I needed expert help to try and recover my funds. This is when I decided to reach out to Salvage Asset Recovery, a service that specializes in tracking and recovering lost or stolen digital assets. They came highly recommended and had a proven track record in the industry, which gave me hope that my situation might not be hopeless after all. The recovery process began when Salvage Asset Recovery used advanced blockchain forensics to track the stolen funds. Thanks to their expertise, they were able to trace the transaction paths and identify the movement of my crypto assets through the blockchain. This sophisticated process requires a deep understanding of the technology behind digital currencies and the ability to navigate the complexities of blockchain transactions. Within just a couple of weeks, Salvage Asset Recovery successfully managed to recover over $245,000 of my stolen funds. I was astounded by the speed and efficiency of their work. Throughout the entire process, their communication was exemplary. I was kept updated regularly on the status of the recovery, and they were always available to answer any questions I had. It was clear that they valued transparency and customer service, making what could have been an incredibly stressful experience much easier to navigate. The fees for their services were reasonable. Salvage Asset Recovery proved themselves to be a trustworthy and honest agency—qualities that are critical when dealing with sensitive matters like stolen crypto assets. Recovering lost or stolen digital funds is a daunting task, but it is possible with the right help. My experience with Salvage Asset Recovery was nothing short of excellent, and I would highly recommend their services to anyone facing similar challenges. Their expertise and dedication to their clients are truly unmatched.
1 -
Professional Crypto Recovery services with a High Success rate( Digital Hack Recovery )
In recent years, as technology has evolved, so has the world of digital assets, particularly cryptocurrencies. These digital currencies, while offering convenience and security, also come with risks, one of the most significant being theft. Whether through hacking, scams, or simple human error, losing access to crypto assets can be devastating. The process of recovering stolen or lost digital funds, however, is far from straightforward and often seems impossible. Despite the challenges, recovery is not entirely out of reach, especially when you have the right professionals on your side.In my own experience, I was unfortunately a victim of crypto theft. After months of sleepless nights and endless frustration, I realized I needed expert help to try and recover my funds. This is when I decided to reach out to Digital Hack Recovery, a service that specializes in tracking and recovering lost or stolen digital assets. They came highly recommended and had a proven track record in the industry, which gave me hope that my situation might not be hopeless after all.The recovery process began when Digital Hack Recovery used advanced blockchain forensics to track the stolen funds. Thanks to their expertise, they were able to trace the transaction paths and identify the movement of my crypto assets through the blockchain.This sophisticated process requires a deep understanding of the technology behind digital currencies and the ability to navigate the complexities of blockchain transactions.Within just a couple of weeks, Digital Hack Recovery successfully managed to recover over $245,000 of my stolen funds. I was astounded by the speed and efficiency of their work. Throughout the entire process, their communication was exemplary. I was kept updated regularly on the status of the recovery, and they were always available to answer any questions I had. It was clear that they valued transparency and customer service, making what could have been an incredibly stressful experience much easier to navigate.The fees for their services were reasonable.Digital Hack Recovery proved themselves to be a trustworthy and honest agency—qualities that are critical when dealing with sensitive matters like stolen crypto assets.Recovering lost or stolen digital funds is a daunting task, but it is possible with the right help. My experience with Digital Hack Recovery was nothing short of excellent, and I would highly recommend their services to anyone facing similar challenges. Their expertise and dedication to their clients are truly unmatched. Talk to Digital Hack Recovery via their contact below⁚
WhatsApp ⁚+1(915)2151930
Website⁚ https : // digital hack recovery . com
Email address⁚ digital hack recovery @ techie . com1 -
When it comes to healthcare professionals, uniforms are not just about appearance—they play a key role in daily performance. For men working in hospitals, clinics, or medical facilities, the right scrubs for men can significantly affect comfort, focus, and overall work performance. Whether you are a doctor, nurse, or any other medical professional, understanding the factors that impact your choice of male scrubs can make a difference in how efficiently you work.
visit: lintex.in/category/male/
Durability
Working in a healthcare setting often exposes your uniform to rough conditions—spills, stains, and wear and tear. The best mens scrub options are made from durable fabrics that can withstand daily use and frequent washing. Scrubs made from lower-quality materials can fade, shrink, or lose their shape quickly, resulting in the need to replace them more often.
Durable male scrubs save time and money in the long run, ensuring you don’t have to keep buying new ones. This also adds peace of mind, as you won’t be distracted by the state of your uniform and can stay focused on patient care. When buying scrubs for men, it’s essential to consider durability to maintain a professional appearance throughout your shifts.
Breathability and Temperature Control
Healthcare professionals spend long hours on their feet, often in warm or stuffy environments. Wearing mens scrub sets made from breathable fabrics is essential to stay cool and comfortable. Scrubs with moisture-wicking properties are designed to draw sweat away from the body, keeping you dry and preventing body odor.
The best medical scrubs for men are made with fabrics that allow for airflow, preventing overheating and promoting comfort in both high-pressure and high-temperature environments. When your body temperature is regulated, it’s easier to stay focused and perform tasks without feeling distracted by discomfort.
Comfort and Fit
One of the most important factors affecting work performance is the fit and comfort of mens scrubs. Scrubs that are too tight or too loose can restrict movement, making it difficult to perform essential tasks. Best male scrubs are designed with a comfortable fit that allows healthcare professionals to move freely, bend, stretch, and lift without any discomfort. Scrubs that fit well reduce distractions, allowing you to focus on your patients and work at your best.
Additionally, the fabric’s softness is crucial for comfort, especially during long shifts. Best medical scrubs for men are often made of materials like cotton blends or moisture-wicking fabrics that provide comfort all day long. If your scrubs are uncomfortable, it could lead to irritation or fatigue, which can hinder your performance.
Pockets and Practicality
As a healthcare professional, you need quick access to medical tools and instruments like pens, thermometers, and stethoscopes. The placement and number of pockets in male scrubs can play a big role in your ability to keep essential items within reach. Scrubs with multiple, well-placed pockets allow you to organize your tools and supplies efficiently.
Choosing the best male scrubs that offer functional pockets can boost your productivity. Scrubs with extra pockets on the chest or thighs give you the ability to carry all your tools without needing to leave your station or interrupt your workflow. This feature directly impacts your ability to stay organized, focused, and on-task throughout the day.
Flexibility and Range of Motion
Another important factor that affects work performance is the level of flexibility offered by your mens scrubs. Healthcare professionals need scrubs that allow for a full range of motion to perform physical tasks such as lifting, bending, and assisting patients. Scrubs that are too stiff or tight can limit your movements, making it harder to perform hands-on tasks efficiently.
When you choose the best medical scrubs for men, opt for scrubs with stretchable fabric blends that provide flexibility without compromising comfort. This ensures that you can move easily and focus on your work without feeling restricted by your uniform.
Professional Appearance
The way you look in your scrubs plays a role in your confidence and professionalism. Scrubs that are well-fitted and stylish contribute to a more polished appearance, which can influence how patients and colleagues perceive you. Wearing the best mens scrub that fits your personal style while adhering to professional standards can make you feel more confident and prepared.
When you look professional, it not only boosts your self-esteem but also helps build trust with your patients. A neat, tidy, and well-maintained uniform is a sign of competence and care, which can positively influence your interactions with others in the healthcare setting.
1 -
VirPhone: Empowering Your Business with Cloud Phone Systems and VOIP Technology
In today’s fast-paced and digital world, efficient communication is key to the success of any business. Whether you're reaching out to clients, collaborating with remote teams, or handling customer inquiries, having a reliable phone system is essential. VirPhone offers cutting-edge cloud phone systems that are designed to streamline your communication, reduce costs, and improve efficiency. Let’s explore how our cloud phone systems can elevate your business and answer some common questions like, “What is VOIP phone?” and how it can benefit your business.
What is a Cloud Phone System?
A cloud phone system is an advanced communication solution that operates over the internet, rather than relying on traditional landlines. This system provides businesses with a more flexible, scalable, and cost-effective way to manage their communications. VirPhone’s cloud phone systems allow businesses to make and receive calls, send messages, and conduct video conferences—all from the convenience of a cloud-based platform.
With VirPhone, you can enjoy the flexibility of managing your communications from anywhere. Whether you’re in the office, working remotely, or traveling, a cloud phone system ensures you stay connected at all times.
What is VOIP and How Can It Benefit Your Business?
VOIP stands for Voice Over Internet Protocol, which is a technology that allows voice calls to be made over the internet rather than using traditional telephone lines. So, what is VOIP phone? It’s simply a phone system that enables businesses to make calls over the internet.
Unlike traditional phone systems, VOIP phone systems are cost-effective and more flexible, providing features such as call forwarding, voicemail, and voicemail-to-email. VirPhone’s VOIP technology not only reduces your business’s communication costs but also enhances overall productivity by providing features that are more customizable and scalable.
Some of the key benefits of VOIP phone systems include:
Lower Costs: Traditional phone systems charge for long-distance calls. With VOIP, these calls are often free or at a much lower rate.
Scalability: As your business grows, your cloud phone system can easily scale to accommodate more users or advanced features without expensive upgrades.
Flexibility: With VOIP phone systems, employees can make and receive calls anywhere, as long as they have an internet connection. This is ideal for remote teams or employees on the go.
How to Get a Toll-Free Number with VirPhone
One of the most important features for any business is having a toll-free number. A toll-free number makes your business appear professional and accessible, giving customers a way to reach you without incurring charges. VirPhone offers toll-free numbers that are easy to set up and manage through our cloud phone system.
With a toll-free number from VirPhone, customers can call your business without worrying about the cost, regardless of where they are located. This can improve customer satisfaction and make it easier for customers to get in touch with your business. Whether you're conducting customer service calls or receiving inquiries, a toll-free number can help you provide exceptional service.
Calling on a Phone: How VirPhone Enhances Your Business Calls
Whether you’re calling on a phone to reach a client, partner, or team member, VirPhone’s cloud phone system ensures that your calls are clear, reliable, and cost-effective. No more worrying about dropped calls or poor audio quality—our system is designed to provide high-quality call connections, no matter where you are.
Here are some features of VirPhone’s calling on phone services that help improve your business communication:
Crystal-Clear Audio: With VOIP phone systems, you can expect high-definition voice quality that eliminates the usual static or noise found in traditional phone calls.
Call Forwarding and Routing: If you’re unavailable, VirPhone can forward your calls to another number or voicemail. This ensures you never miss an important call.
Voicemail-to-Email: With VirPhone, you can receive voicemails directly in your email inbox, making it easier to manage messages and respond promptly.
Why Choose VirPhone for Your Business Communication?
At VirPhone, we understand the importance of reliable communication for businesses. Our cloud phone systems are designed to provide advanced features and excellent call quality, all at an affordable price. Here’s why businesses trust VirPhone for their communication needs:
Affordable: Our VOIP phone systems are cost-effective and provide significant savings over traditional phone systems.
Flexible and Scalable: Whether you're a small business or a large enterprise, our systems grow with you. Adding more lines or features is easy and can be done remotely.
1 -
The Hearing Services: Your Trusted Partner for Hearing Aids and Ear Wax Removal in London
At The Hearing Services, we are dedicated to providing the highest quality care for all your hearing health needs. Whether you're experiencing hearing loss or simply need assistance with ear wax buildup, we offer comprehensive services to help you live life to the fullest. Located in the heart of London at 167, 169 Great Portland St, W1W 5PF, United Kingdom, we pride ourselves on offering compassionate and expert care to each and every patient.
Hearing Aids: Enhance Your Hearing and Improve Your Quality of Life
Hearing loss can affect individuals of all ages, and finding the right solution is key to maintaining a high quality of life. At The Hearing Services, we offer a range of advanced hearing aids tailored to your specific needs. Our professional audiologists are trained to assess your hearing and recommend the best device suited to your lifestyle and hearing requirements.
We work with a variety of leading brands in the hearing aid industry to ensure you have access to the latest and most effective technology. Whether you need a discreet in-ear model or a more powerful behind-the-ear device, we’ll help you find the perfect fit. Our hearing aids are designed not only to improve hearing but also to make everyday communication easier, whether at work, social gatherings, or at home.
Ear Wax Removal: Safe and Effective Treatment
One of the most common causes of hearing loss or discomfort is ear wax buildup. The Hearing Services offers professional ear wax removal services to ensure your ears remain clean, healthy, and free from blockages. Our experienced clinicians use safe, effective methods such as microsuction and irrigation to remove ear wax without causing damage to your ears.
Many people attempt to remove ear wax at home using cotton swabs or other methods, but this can often push the wax deeper into the ear canal, leading to further complications. At The Hearing Services, we provide a professional, thorough approach to ear wax removal to ensure your ears are properly cared for. We understand the importance of preserving your hearing, which is why our treatments are designed to be gentle, effective, and safe.
Why Choose The Hearing Services?
Expert Care: Our audiologists and clinicians are highly trained and experienced in providing hearing aids and ear wax removal services.
Personalized Solutions: We understand that every patient is different, which is why we offer customized recommendations based on your unique hearing needs.
State-of-the-Art Technology: We use the latest advancements in hearing aid technology and ear wax removal techniques to provide you with the best care.
Convenient Location: Our clinic is conveniently located at 167, 169 Great Portland St, London W1W 5PF, making it easy for you to access our services.
Friendly and Professional Service: At The Hearing Services, we treat every patient with respect, care, and attention, ensuring that you feel comfortable and supported throughout your journey to better hearing.
Contact Us Today!
If you're experiencing hearing issues or need ear wax removal, don’t wait any longer to get the professional help you need. Contact us today at +44 207 856 0319 to schedule a consultation or to learn more about our services. Let The Hearing Services help you achieve better hearing and improve your quality of life.
We look forward to helping you hear your best2 -
Title: Enhance Your Fitness with Expert Nutrition Guidance at Beyond Biomechanics
At Beyond Biomechanics, we understand that achieving your fitness goals goes beyond just working out—proper nutrition plays a crucial role in fueling your body, promoting recovery, and maximizing results. Located in Herndon, VA, at 2341 Dulles Station Blvd #008, our holistic approach to fitness includes not just biomechanically optimized workouts but also expert nutrition advice that is tailored to meet your specific needs and goals.
Why Nutrition Matters in Your Fitness Journey
Nutrition is the foundation of any successful fitness program. The right nutrients help fuel your workouts, support muscle growth, and accelerate recovery. Without proper nutrition, even the best training program can be less effective. Here's how nutrition plays a vital role in your fitness journey:
Fueling Your Workouts
Eating the right foods before and after your workouts ensures that you have the energy to perform at your best. Carbohydrates provide energy for intense workouts, while protein is essential for muscle repair and growth. Healthy fats also support joint health and long-lasting energy.
Muscle Growth and Repair
After a workout, your muscles need proper nutrition to repair and grow. Protein is the key nutrient for muscle recovery, and consuming it in the right amounts and at the right times can make a significant difference in your progress. At Beyond Biomechanics, we help you understand the role of macronutrients (protein, carbs, fats) in optimizing muscle recovery.
Supporting Overall Health
Nutrition isn’t just about building muscle or burning fat—it’s about supporting your overall health. Proper nutrition supports immune function, reduces inflammation, and enhances mood and mental clarity. A balanced diet rich in vitamins, minerals, and antioxidants is essential for maintaining long-term health and well-being.
Enhancing Weight Loss or Management
Whether you're looking to lose weight or maintain a healthy body composition, nutrition plays a significant role in achieving your goals. A personalized nutrition plan will help you achieve the right calorie balance, optimize fat loss, and ensure you're getting enough nutrients to stay energized.
Preventing Injuries and Promoting Recovery
Nutrition is crucial not only for performance but also for preventing injuries and promoting recovery. A well-balanced diet that includes anti-inflammatory foods and sufficient hydration supports muscle and joint health, reducing the risk of strain and injury during workouts.
Expert Nutrition Guidance at Beyond Biomechanics
At Beyond Biomechanics, we recognize that every individual’s nutritional needs are different. Our approach is personalized, and we work with you to create a nutrition plan that complements your fitness goals and lifestyle. Whether you're training for a specific event, looking to lose weight, or recovering from an injury, our expert nutritionists are here to provide the support you need.
Our nutrition services include:
Personalized Nutrition Plans: We assess your fitness goals, activity levels, and dietary preferences to create a tailored nutrition plan that suits your needs.
Meal Planning: We help you plan balanced meals that are both nutritious and enjoyable, making it easier to stick to your plan.
Supplement Guidance: If necessary, we can recommend safe and effective supplements to enhance your performance, recovery, and overall health.
Ongoing Support and Adjustments: Your nutritional needs may change over time as your fitness goals evolve. We provide continuous support and make adjustments to your nutrition plan to ensure you’re always on track.
Benefits of Proper Nutrition at Beyond Biomechanics
Optimized Performance: Eating the right foods before, during, and after workouts helps you perform at your best.
Faster Recovery: With the right balance of macronutrients, your body will recover faster and be ready for your next workout.
Improved Results: Nutrition accelerates your progress, whether you’re aiming for weight loss, muscle gain, or general fitness.
Better Health: Proper nutrition supports overall health, from boosting immunity to improving digestion and mental clarity.
Sustainable Goals: We focus on building healthy eating habits that are sustainable for the long term.
Nutrition and Fitness Go Hand in Hand
At Beyond Biomechanics, we take a holistic approach to fitness. Our expert trainers and nutritionists work together to ensure that both your exercise and nutrition strategies align to help you achieve your goals faster and more efficiently. We believe that fitness and nutrition are inseparable, and that the right combination of both will allow you to reach your full potential.
1 -
Professional Driving Lessons with a Female Automatic Driving Instructor in Blackburn
Are you looking for a reliable local driving instructor in Blackburn? Whether you're a beginner, need to improve your skills, or want to refresh your knowledge, our female automatic driving instructor offers expert driving lessons tailored to your needs. From vehicle control lessons to road safety lessons, we ensure you gain the confidence and skills required to drive safely on the road.
Local Driving Instructors in Blackburn
As a trusted local driving instructor in Blackburn, we take pride in offering high-quality, personalized driving lessons to learners of all levels. Our female driving instructor is dedicated to providing clear, patient instruction in a calm and supportive environment. Whether you're just starting your driving journey or need additional support to refine your skills, we are here to help you succeed.
Choosing a local driving instructor ensures that you have easy access to lessons in your area, and we’re committed to providing flexible scheduling to fit your busy lifestyle. We know the local roads well and can ensure you're prepared to drive safely in familiar environments.
Driving Lessons for Women in Blackburn
At our driving school, we offer driving lessons specifically designed for women, providing a relaxed and supportive learning environment. Many women prefer learning with a female instructor, as it often helps them feel more comfortable and less anxious behind the wheel. Our female driving instructor creates a welcoming atmosphere where you can feel at ease as you learn vital driving skills.
Whether you're a first-time learner or returning to the road after a break, our driving lessons for women are tailored to help you build your confidence and become a safe, skilled driver. We provide personalized guidance every step of the way to ensure you achieve your driving goals.
Driving Instructor Services in Blackburn
Our driving instructor services in Blackburn are comprehensive, catering to learners of all levels. From the very first lesson to advanced driving techniques, we cover all aspects of driving instruction. We specialize in automatic driving lessons but also offer manual driving lessons to suit your needs.
Our instructor services are designed to help you become a well-rounded driver. Whether you need help with basic vehicle control or advanced road safety techniques, we are here to ensure you are fully prepared for your driving test and life as a confident, independent driver.
Vehicle Control Lessons in Blackburn
Vehicle control is one of the most important aspects of driving, and our vehicle control lessons in Blackburn are designed to teach you the skills you need to handle your car safely and efficiently. Whether you're learning to drive an automatic or manual car, mastering vehicle control is crucial for safe driving.
Our lessons cover everything from steering and braking to accelerating smoothly and maneuvering in tight spaces. With expert instruction, you'll quickly gain the skills needed to handle your vehicle confidently in any driving situation.
Road Safety Lessons in Blackburn
Road safety is at the heart of what we teach. Our road safety lessons in Blackburn are designed to help you develop the skills needed to stay safe on the road, whether you're driving in busy city traffic or on quieter country lanes. We cover essential road safety practices such as understanding road signs, recognizing hazards, maintaining a safe following distance, and handling adverse weather conditions.
By focusing on road safety, our goal is to ensure that you not only pass your driving test but also become a responsible driver who is aware of the risks and prepared to react to different situations. Safety is our top priority, and we provide the knowledge and skills to keep you safe on the road at all times.
Why Choose Our Driving School in Blackburn?
Experienced Female Instructor: Our instructor has years of experience in teaching learners, offering a supportive and understanding approach tailored to your needs.
Local Driving Instructor Services: We are a local driving school in Blackburn, providing easy access to driving lessons and in-depth local road knowledge.
Driving Lessons for Women: We create a comfortable and encouraging environment for women learners, helping you feel at ease behind the wheel.
Vehicle Control & Road Safety Focus: Our lessons emphasize essential skills like vehicle control and road safety, ensuring you're a well-prepared and responsible driver.
Flexible Scheduling: We offer flexible lesson times that fit around your schedule, making it easier for you to learn at your own pace.2 -
Home Loan Calculator: Simplify Your Mortgage Process with Calculating a Mortgage Loan
When you’re ready to purchase a home, one of the most important financial decisions you’ll make is how to finance it. A home loan calculator is an invaluable tool in this process, helping you understand exactly what your monthly payments will look like and ensuring that you are financially prepared for your new home. At Calculating a Mortgage Loan, we provide comprehensive, user-friendly home loan calculators that make it easier for you to make informed decisions about your mortgage.
Why Use a Home Loan Calculator?
A home loan calculator allows you to quickly and accurately determine the cost of your mortgage. It’s an essential tool for anyone looking to buy a home, refinance, or even adjust their current loan terms. By calculating your mortgage payments in advance, you’ll be better prepared to make a sound financial decision. Here’s why it’s essential to use a home loan calculator:
Understand Your Monthly Payment:
A home loan calculator helps you determine what your monthly mortgage payments will be based on the loan amount, interest rate, and loan term. This gives you a clear picture of how much you’ll need to budget each month to stay on track with your payments.
Assess Affordability:
With the home loan calculator, you can easily adjust loan amounts, interest rates, and loan terms to see how these factors affect your monthly payment. This allows you to find a loan structure that fits your budget and financial situation.
Plan for the Long Term:
It’s not just about your current monthly payment. A home loan calculator also shows you the total cost of the loan over its lifetime, including the principal and interest. This can help you compare different loan terms and decide whether a shorter or longer-term loan is right for you.
Make Informed Decisions:
By using a home loan calculator, you can see exactly how different interest rates and down payment amounts affect your loan. This helps you make smart decisions about choosing a lender, negotiating terms, and determining how much you should put down on your new home.
Save Time and Stress:
Having access to a home loan calculator saves you the hassle of manual calculations or relying on estimates. The tool provides quick, accurate results that allow you to move forward with confidence.
How to Use a Home Loan Calculator
Using a home loan calculator is simple and straightforward. Here’s how you can calculate your monthly mortgage payment:
Enter Loan Amount:
This is the total amount you plan to borrow for your home. It’s usually the purchase price of the home minus your down payment.
Interest Rate:
Input the interest rate for your loan. This rate can vary depending on the type of loan and your creditworthiness.
Loan Term:
Choose the length of your loan, typically 15, 20, or 30 years. The longer the loan term, the lower your monthly payment will be, but you’ll pay more in interest over the life of the loan.
Down Payment:
The more money you put down upfront, the smaller the loan amount will be, reducing your monthly payment. Most homebuyers make a down payment of 20%, but it can vary.
Additional Costs:
Be sure to account for other costs, such as property taxes, homeowner’s insurance, and private mortgage insurance (PMI). These costs are often rolled into your monthly mortgage payment.
Once you input these details, the calculator will give you an estimate of your monthly payment, helping you plan and budget accordingly.
Why Choose Calculating a Mortgage Loan?
At Calculating a Mortgage Loan, we understand that buying a home is one of the biggest decisions of your life. Our home loan calculator is designed to simplify the mortgage process, providing you with all the information you need to make confident financial decisions.
Here’s why you should choose us:
Accurate Results:
Our home loan calculator provides precise, reliable estimates to help you make informed decisions about your mortgage.
Ease of Use:
Whether you’re a first-time homebuyer or a seasoned homeowner, our tool is easy to use, allowing you to quickly calculate mortgage payments and compare loan options.
Expert Advice:
Beyond just the calculator, we offer expert advice to help you navigate the home loan process. Our team is available to answer any questions and guide you through every step.
Comprehensive Resources:
We provide additional resources to help you understand every part of the mortgage process, from the initial calculation to closing the deal.
Contact Us Today
If you're ready to start using our home loan calculator or need assistance with your mortgage, our team at Calculating a Mortgage Loan is here to help. We’re committed to making the mortgage process simple and transparent, so you can feel confident about your home purchase.7
