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 - "rust is life"
-
Every day.
I am a PHP developer.
Yeah, "another PHP is awful" rant... no, not really.
It's just unsuitable for some ambitious projects, just like Ruby and Python are.
First of all, DO NOT EVER use Laravel for large enterprise applications. The same goes for RoR, Django, and other ActiveRecord MVCs.
They are all neat frameworks for writing a todo app, as a better-than-wordpress flexible blogging solution, even as a custom webshop.
Beyond 50k daily users, Active Record becomes hell due to it's lazy fat querying habits. At more than a million users... *depressed sigh*.
PHP is also completely unsuitable for projects beyond 5M lines of code in my opinion. At more than 25M lines... *another depressed sigh*.
You can let your devs read Clean Code and books about architecture patterns, you can teach them about SOLID & DRY, you can write thousands of tests... it doesn't matter.
PHP is scaffolding, it's made of bamboo and rope. It's not brick or concrete. You can build quickly, but it only scales up to a certain point before it breaks in multiple places.
Eventually you run into patterns where even 100% test coverage still doesn't guarantee shit, because the real-life edge cases are just too complex and numerous.
When you're working on a multi-party invoicing system with adapters for various tax codes, or an availability/planning system working across timezones, or systems which implement geographical routefinding coupled to traffic, event & weather prediction...
PHP, Python, Ruby, etc are just missing types.
Every day I run into bugs which could have been prevented if you could use ADTs in a generic way in PHP. PHP7 has pretty good typehints, and they prevent a lot of messy behavior, but they aren't composable. There is no way to tell PHP "this method accepts a Collection of Users", or "this methods returns maybe either an Apple or a Pear, and I want to force the caller to handle both Apple/Pear and null".
Well, you could do that, but it requires a lot of custom classes and trickery, and you have to rewrite the same logic if you want to typehint a "Collection of Departments" instead of "Collection of Users" -- i.e., it's not composable.
Probably the biggest issue is that languages with a (mostly) structural type system (Haskell, Rust, even C#/JVM languages to some degree, etc) are much slower to develop in for the "startup" era of a project, so you grab a weak, quick prototyping language to get started.
Then, when you reach a more grown up phase, you wish you had a better type system at your disposal...28 -
Frustrated, tired and a bit lost.
I'm a "Senior PHP Backend Dev", which includes not the greatest tech stack nor the best job title, but it pays fine, and the company is awesome to work for.
I suck at writing features, but I'm great at bitching, and I easily put complex abstract concepts into usable models. So I'm also QA, tester, tech lead, database architect, whatever.
That makes writing PHP less annoying, because I create the rules, and whip devs around when they forget a return type definition or forget to handle an edge case. But I don't write a lot of code anymore, I mostly read (bad) code.
Lately I REALLY feel like doing something else... problem is that I know JS/ES6, but really dislike React/Vue and the whole crappy modern frontend toolchainchootrain of babelifyingwebpackingyarnballs. I know Python/Tensorflow/etc, but don't feel like I want to go into data science or AI. And then I'm awesome at the shit no one uses, like Haskell, Go and Rust (and worse).
I got a job offer which combines a very interesting PHP codebase with a Java infrastructure, where I could learn a lot... and I'm kind of tempted.
Problem is, everyone always shits on Java. I always made a bit of fun of Java myself. Don't even know exactly why, probably some really cruel instinct which causes kids to bully the least popular kid.
I know the basics, I've written the hello world, and a small backend app for a personal project. I know how strict and verbose it can be. I love the strictness in Haskell and Rust.... but those are both also quite terse.
Should I become a Java dev? I'm not talking about Android SDK, but an insane enterprise codebase at a life sciences corporation.
To the pro Java devs: What are the best and worst things about your job, about the weekly processes, about the toolchains? Have you ever considered other languages? Do you unconditionally love and believe in Java, or do you believe Swift, Kotlin, Scala or whatever will eventually make it completely obsolete?
Will Java hasten my decline into the cynical neckbeard I was always destined to be?
There are a lot more fun langauges, but looking at realistic demand and career value...20 -
Im so frustrated with myself . I've always been afraid of being stupid . Perhaps it was because i was always called the "less intelligent" sibling by my parents . Well i did self-learn java , c++ and android (when i was 15) and made some apps and i did get acknowledged finally but i may have not acknowledged myself . I got into college a couple years ago and i can tell you right out that its like an island filled with stupidity. The teachers , the students. The other day i caught my teacher learning how a transistor works. This is unacceptable for someone who is teaching us advanced op-amps and other circuits . Well , I did get into this college cause it was less tedious and i thought college doesn't matter cause i can self-learn . All i needed was free time . Well college totally destroyed that too and provided no facilities in the process as well . So yeah should i blame my college for my inability to do things the past couple years. I mean i don't think i've learnt a single thing all this while. This is where my frustration begins cause i dont want to blame the college , it's not going to help me and i'll probably end up in a 9 to 5 call center job at this rate . Im also very heavily frustrated with myself , it's like everything i've done so far has been a path of least effort. I have tried a few things which were all just fads like machine learning and crypto and even trading . They felt good and thats what scares me , maybe i don't have the passion and am just looking for a quick buck . This is clearly reflected in the ideas i've been having as well . Well i've never had access to proper funds but now im just trying to justify this layman emotion . I just want to learn and be passionate about learning , researching and i just want enough funds for that . But im afraid , maybe its just that i want to feel superior than my circle . I mean i still don't know why i tried learning rust and wasted even more time setting up fedora and everything around it while i already had a working debian setup and a programming language i'm kind of versed with . i wouldn't say well cause im a self learner and i feel guilty for that . I definitely know i just learnt the surface of the language . Deep down i'm just another stupid fad obsessed guy who feels better by choosing a more complex language that my colleagues look upto . Is this what i am , if so im scared and i don't know what to do . People say that you are what you are and you cant change that . If i cant change this then i dont deserve this wasteful stupid life . I don't know what i should do and it makes me cry . Maybe acknowledging this would've helped but it hasn't , I've felt better playing fortnite rather than learning some basic electronics. Im another one of those aren't I ?17
-
Learning Rust and I’m loving the process. I haven’t been this excited to learn a language since c++ years ago!3
-
I propose that the study of Rust and therefore the application of said programming language and all of the technology that compromises it should be made because the language is actually really fucking good. Reading and studying how it manages to manipulate and otherwise use memory without a garbage collector is something to be admired, illuminating in its own accord.
BUT going for it because it is a "beTter C++" should not constitute a basis for it's study.
Let me expand through anecdotal evidence, which is really not to be taken seriously, but at the same time what I am using for my reasoning behind this, please feel free to correct me if I am wrong, for I am a software engineer yes, I do have academic training through a B.S in Computer Science yes, BUT my professional life has been solely dedicated to web development, which admittedly I do not go on about technical details of it with you all because: I am not allowed to(1) and (2)it is better for me to bitch and shit over other petty development related details.
Anecdotal and otherwise non statistically supported evidence: I have seen many motherfuckers doing shit in both C and C++ that ADMIT not covering their mistakes through the use of a debugger. Mostly because (A) using a debugger and proper IDE is for pendejos and debugging is for putos GDB is too hard and the VS IDE is waaaaaa "I onlLy NeeD Vim" and (B) "If an error would have registered then it would not have compiled no?", thus giving me the idea that the most common occurrences of issues through the use of the C father/son languages come from user error, non formal training in the language and a nice cusp of "fuck it it runs" while leaving all sorts of issues that come from manipulating the realm of the Gods "memory".
EVERY manual, book, coming all the way back to the K&C book talks about memory and the way in which developers of these 2 languages are able to manipulate and work on it. EVERY new standard of the ISO implementation of these languages deals, through community effort or standard documentation about the new items excised through features concerning MODERN (meaning, no, the shit you learned 20 years ago won't fucking cut it) will not cut it.
THUS if your ass is not constantly checking what the scalpel of electrical/circuitry/computational representation of algorithms CONDONES in what you are doing then YOU are the fucking problem.
Rust is thus no different from the original ideas of the developers behind Go when stating that their developers are not efficient enough to deal with X language, Rust protects you, because it knows that you are a fucking moron, so the compiler, advanced, and well made as it is, will give you warnings of your own idiotic tendencies, which would not have been required have you not been.....well....a fucking idiot.
Rust is a good language, but I feel one that came out from the necessity of people writing system level software as a bunch of fucking morons.
This speaks a lot more of our academic endeavors and current documentation than anything else. But to me DEALING with the idea of adapting Rust as a better C++ should come from a different point of view.
Do I agree with Linus's point of view of C++? fuck no, I do not, he is a kernel engineer, a damn good one at that regardless of what Dr. Tanenbaum believes(ed) but not everyone writes kernels, and sometimes that everyone requires OOP and additions to the language that they use. Else I would be a fucking moron for dabbling in the dictionary of languages that I use professionally.
BUT in terms of C++ being unsafe and unsecured and a horrible alternative to Rust I personaly do not believe so. I see it as a powerful white canvas, in which you are able to paint software to the best of your ability WHICH then requires thorough scrutiny from the entire team. NOT a quick replacement for something that protects your from your own stupidity BY impending the use of what are otherwise unknown "safe" features.
To be clear: I am not diminishing Rust as the powerhouse of a language that it is, myself I am quite invested in the language. But instead do not feel the reason/need before articles claiming it as the C++ killer.
I am currently heavily invested in C++ since I am trying a lot of different things for a lot of projects, and have been able to discern multiple pain points and unsafe features. Mainly the reason for this is documentation (your mother knows C++) and tooling, ide support, debugging operations, plethora of resources come from it and I have been able to push out to my secret project a lot of good dealings. WHICH I will eventually replicate with Rust to see the main differences.
Online articles stating that one will delimit or otherwise kill the other is well....wrong to me. And not the proper approach.
Anyways, I like big tits and small waists.14 -
Seriously, at what point did the good, kind, selfless souls who write tutorials and guides online turn into fucking food bloggers?
I've been an engineer about 15 years, so I still have to google most of the code I write as I write it, and this week I've been learning a new framework.
Ten years ago it'd be "here's how to..." then the thing you want to do.
Now it's "For the longest time, I didn't want to use Gradle..." followed by a summary of the last week in their life.
I really don't care about your Journey with Rust, I want to know how to define an optional parameter. I don't give a rat's fucking dick how much faster this is than that, my hands are tied by whoever started this mess - just tell me how to make it work.
I guess there's something to be said for remembering things between sessions.4 -
Rust is beautiful. Rust is also extremely difficult to understand. What the fuck are lifetimes?! I’ve never seen this shit before in my life.15
-
rust has taught me discipline
my life-long disposition to laziness is suddenly no more
I hate it, thanks
I've always viewed the unlazy and highly disciplined as a loser class. now what1 -
How can a novel emerging challenger software (written in Rust) take me 4 hours to install (still ongoing)?
Today I have decided to give Pijul a go. Pijul describes itself as a theory-sound alternative to Git, which I have wanted to get away from for a while now, due to various reasons -- many of which I saw Pijul advertise to have solved on design level.
So I set away a day to learn Pijul, today. Well, 4 hours after I sat down -- after a number of hilariously wonky failures of "Rust ecosystem" to do the right thing as I had to install Rust with some shell one-liners those insane wizards recommend for installation process (all in the name of "stability but not stagnation") -- Pijul has now been installing with the blasted `cargo` for an hour now (that's after 3 hours of getting to the point where `cargo install pijul` stopped exploding in my face) -- telling me I only have 40 crates more to install. Are they throttling me, perhaps? I don't care -- I should have been installing Pijul from a repository in accordance with my Linux distribution, or -- at worst -- download a BLOODY COMPILED PROGRAM IMAGE.
What is it with the hipster developers today? Everything they get of tools, they subsume and churn out intricate complexities the likes of which we hadn't seen yesterday. Tell me fellow developers who think installation of your software has to require three and a half novel "installation solutions" to which I can't be arsed to be made privy -- do you think your life today is easier than, I don't know -- wrangling with a Makefile and a C compiler (which today thankfully can do rather good job of standards compliance)?
I mean I wouldn't mind Pijul being written in Rust -- but it turns out Rust's advertised elegancy in practice is wrapped in so much "giftwrap" I feel like what desire I had to learn Rust myself, I'll stear well clear.
Here's an advice for developers in general -- an advice continiously ignored for decades -- stop blowing your original scope of delivery in auxilary packages you think you need to reinvent just because you can or because your mom is out of town! For programming languages like Rust this most certainly entails NOT writing your own package manager, with its own package delivery mechanism that has its own configuration file format and virtual machine to configure dependency resolution or what have you!
You wanted to write a programming language that has novel features you think we need? Fine -- write one and stop there. Watch it grow, and watch people who are busy working on other parts (scopes) of software to integrate your offer.
What a shitshow. Stop smuggling alternative package managers, installers, and discombulators with your actual product -- I only want the latter, I don't want the rest of your damn piping, walls, roof and a cathedral on top of it!
Don't be that guy starting with a pin, and ending up with a fucking diorama miniature of a pig farm in Netherlands. Jesus.7 -
Too early in the year for goals so far, but I'll give it a shot. Here's what I'm gunning for in the short-term:
Week 85 - 2018 Dev/Coding Goals:
- Continue educating myself in the Rust programming language (I feel like I dropped the ball there last year, Rust is easy to get programmer's block because it's syntax isn't always clear what should be done with it and/or why, the references. Ugghh fml).
- Get feature parity of PYXReloaded with it's predecessor, and get most of the planned features implemented. Friends of mine really want this and like screencaps I've sent already. It's a project I've been working on with @Gianlu for the past few days.
Week 85 - 2018 General/Personal Goals:
- Get over my motivational issues.
- Get over my depression/loneliness
- Get over my social anxiety.
I'm trying to better myself, both in coding and personal life. I fucking love this community. I used to use Reddit to find posts exactly like the ones here, but this is wayyy better and has everything all in one place.
Have a prosperous 2018, guys. Remember not to look at what you want to get done in just 365 days. You need to see the big picture. -
I am so done for today. I was trying to get this encryption work in Rust, but no fucking way. If I encrypt data in PHP, it is just impossible to decrypt them in Rust. If I encrypt something in Rust, I can decrypt it anywhere, but not the other way around.
I checked the data hundred times and they are exactly the same in both programs. Also OpenSSL library in Rust is so helpful, that it won't show any error details except that there is an error.
Fuck my life!4 -
The ultimate rage-fueled, caffeine-deprived, sleep-deprived, absolutely done-with-this-shit PR review rant.
You know what? I’m done. I’m DONE. I submit a PR, I triple-check it, I run all the tests, I follow the damn coding standards. I hit submit thinking, ‘Ah yes, this is a good piece of code, I did well.’ And then? THEN??!
The floodgates of hell open.
"Hey, can you make this function name more descriptive? BRO IT’S CALLED getUserData(), WHAT MORE DO YOU WANT? retrieveUserDataFromTheDepthsOfTheDatabaseAndFormatItAccordingToTheSacredGuidelinesOfOurAncestors()?!Fuck grammarly #$%&*
Or the classic:
‘Hmm, this line could be optimized.’ OH REALLY, COULD IT? Could it really? Would shaving off 0.000001ms on a non-critical function really revolutionize our application? WILL IT SAVE THE WORLD? WILL IT END WORLD HUNGER?! NO? THEN LEAVE ME ALONE!
And of course, there’s always one smartass who wants to flex their ‘knowledge’ with a random suggestion:FUCK YOU GRAMMARLY &*(_+‘Have you considered rewriting this in Rust for better memory safety? SIR. THIS IS A FRONTEND BUTTON HANDLER. TAKE YOUR RUST AND GO.
THEN ohhhh THEN the moment you fix everything, push your changes, AND THEN the same reviewer who just tormented you for three hours goes, "LGTM 👍". THAT'S IT? THAT’S ALL YOU HAVE TO SAY AFTER MAKING ME REWRITE HALF MY CODE??
AND THEN, THE FINAL BOSS MOVE:
‘Can you squash your commits?’
SQUASH??? SQUASH?!?! BRO, I’M ABOUT TO SQUASH MY LAPTOP ON YOUR BALD STINKY HEAD.
At this point, I am convinced PR reviews exist purely for torture. They are not about improving the code. They are a psychological experiment to see how long it takes before a developer completely loses their mind and starts a new life as a goat farmer.
I swear, next PR, I’m just merging it straight into COMPANY'S ASS main and letting fate decide.1 -
Shine On: Pressure Washing, Landscaping, & More! – Expert Driveway Cleaning, Driveway Washing, and Fence Cleaning Services in Williamsville, NY
At Shine On: Pressure Washing, Landscaping, & More!, we specialize in providing top-quality exterior cleaning services for both residential and commercial properties throughout Williamsville, NY, and the greater Buffalo area. Whether it’s driveway cleaning, driveway washing, or fence cleaning, our expert team is here to help restore the beauty and cleanliness of your outdoor spaces with professional, reliable services.
Driveway Cleaning: Restore the Beauty of Your Driveway
Your driveway is one of the first things people notice about your property, and over time, it can accumulate dirt, stains, oil, grease, and grime. Driveway cleaning is the most effective way to keep your driveway looking fresh and welcoming. At Shine On, we use high-powered pressure washing equipment and eco-friendly cleaning solutions to remove dirt, oil spots, and other contaminants from your driveway surfaces. Whether you have a concrete, asphalt, or brick driveway, we have the right tools and expertise to get it clean without causing any damage.
Benefits of Driveway Cleaning:
Remove Stubborn Stains: Oil, grease, and tire marks can stain your driveway. Our driveway cleaning services effectively remove these tough stains and restore your driveway’s appearance.
Enhance Curb Appeal: A clean driveway boosts the overall look of your property, making it more inviting and appealing to visitors and potential buyers.
Prevent Long-Term Damage: Regular cleaning helps prevent the buildup of dirt, grime, and moss that can degrade your driveway over time.
Increase Safety: A clean driveway eliminates the slippery buildup of algae and moss, reducing the risk of slips and falls.
Driveway Washing: A Fresh, Clean Start for Your Driveway
Driveway washing is the best way to ensure your driveway stays clean and free of contaminants that can cause long-term damage. Our driveway washing services involve using high-pressure water to remove stubborn dirt, stains, and debris. Whether it’s a concrete driveway that’s become discolored or an asphalt driveway covered in dirt and grime, Shine On has the equipment and experience needed to bring it back to life.
Why You Need Driveway Washing:
Restore the Surface: Regular washing helps restore your driveway’s color and texture, giving it a clean, refreshed appearance.
Extend the Life of Your Driveway: By keeping your driveway clean and free of damaging contaminants, you help extend its lifespan and prevent costly repairs.
Increase Property Value: A well-maintained driveway can significantly increase the curb appeal and value of your property.
Fence Cleaning: Bring Back the Natural Beauty of Your Fence
Fences are a key element of your property’s exterior, providing both security and aesthetic appeal. However, over time, dirt, algae, mold, and mildew can build up on your fence, making it look dull and weathered. Fence cleaning is essential to restore the original beauty of your fence and protect it from damage.
At Shine On, we provide professional fence cleaning services that remove dirt, stains, mold, and mildew from all types of fences, including wood, vinyl, and metal. Our team uses safe, eco-friendly cleaning solutions combined with high-pressure washing to ensure that your fence is thoroughly cleaned without causing any damage to the material.
Why Fence Cleaning is Essential:
Restore Aesthetic Appeal: A clean fence enhances the overall look of your property, making it more attractive and inviting.
Prevent Long-Term Damage: Regular fence cleaning helps prevent the growth of mold, mildew, and algae, which can cause wood to rot and metal to rust.
Protect Your Investment: Cleaning your fence regularly helps preserve its condition and extends its life, saving you money on costly repairs or replacements.
Healthier Environment: Removing mold and mildew from your fence helps improve outdoor air quality and prevents the spread of allergens.
Why Choose Shine On for Driveway Cleaning, Driveway Washing, and Fence Cleaning?
Experienced Professionals: Our team has years of experience in driveway cleaning, driveway washing, and fence cleaning, ensuring a high-quality clean for every job.1 -
#Suphle Rant 2: Michael's obduration
For the uninitiated, Suphle is a PHP framework I built. This is the 2nd installment in my rants on here about it.
Some backstory: A friend and I go back ~5 years. Let's call him Michael. He was CTO of the company we worked at. After his emigration, they seem to have taught him some new stack and he needed somewhere to practise it on. That stack was Spring Boot and Angular. He and his pals convinced product owner at our workplace to rebuild the project (after 2+ years of active development) from scratch using these new techs. One thing led to the other, and I left the place after some months.
Fast forward a year later, dude hits me up to broach an incoming gig he wants us to collab on. Asks where I'm at now, and I reply I took the time off to build Suphle. Told him it's done already and it contains features from Spring, Rust, Nest and Rails; basically, I fixed everything they claimed makes PHP nonviable for enterprise software, added features from those frameworks that would attract a neutral party. Dude didn't even give me audience. I only asked him to look at the repo's readme to see what it does. That's faster than reading the tests (since the docs are still in progress). He stopped responding.
He's only the second person who has contacted me for a gig since I left. Both former colleagues. Both think lowly of PHP, ended up losing my best shot at earning a nickel while away from employed labour. It definitely feels like shooting myself in the foot.
I should take up his offer, get some extra money to stay afloat until Suphle's release. But he's adamant I use Spring. Even though Laravel is the ghetto, I would grudgingly return to it than spend another part of my life fighting to get the most basic functionality up and running without a migraine in Spring. This is a framework without an official documentation. You either have to rely on baeldung or mushroom blogs. Then I have to put up with mongodb (or nosql, in short).
I want to build a project I'm confident and proud about delivering, one certified by automated tests for it, something with an architecture I've studied extensively before arriving at. Somewhere to apply all the research that was brainstormed before this iteration of Suphle was built.
I want autonomy, not to argue over things I'm sure about. He denied me this when we worked together. I may not mind swallowing them for the money, but a return to amateur mode in Spring is something I hope I never get to experience soon
So, I'm wondering: if his reaction reflects the general impression PHP has among developers globally, it means I've built a castle on a sinking ship. If someone who can vouch for me as a professional would prefer not to have anything to do with PHP despite my reassurance it'll be difficult to convince others within and beyond that there could be a more equipped alternative to their staple tool. Reminds me of the time the orchestra played to their deaths while the titanic sank8 -
Gutter Tune Up: Affordable Gutter Services, Gutter Tune-Ups, and Metal Roofing in Wisconsin
At Gutter Tune Up, we’re dedicated to offering high-quality and affordable gutter services to homeowners throughout Wisconsin. Based in St. Francis, WI, we specialize in everything from gutter tune-ups in Milwaukee to metal roofing installations, ensuring that your home is protected from the elements. Whether you need a routine gutter cleaning, repairs, or a complete upgrade to your roofing system, our experienced team is here to help.
Affordable Gutter Services: Protecting Your Home Without Breaking the Bank
Your gutters are essential to protecting your home from water damage. When they become clogged or damaged, it can lead to costly repairs. That’s why Gutter Tune Up offers affordable gutter services that ensure your gutters function properly and continue to protect your home year-round.
From cleaning and minor repairs to full replacements and installations, we provide affordable and efficient gutter services that don’t compromise on quality. Our team is committed to providing you with budget-friendly solutions, keeping your home safe without the hefty price tag. We also offer gutter tune-ups in Milwaukee to make sure your gutters are ready for any season, providing preventative care that helps to extend the life of your system.
Gutter Tune-Up Milwaukee: Ensure Your Gutters Are Ready for Any Weather
Living in Milwaukee, you know how unpredictable the weather can be—from heavy snowfalls in the winter to torrential rain in the summer. Regular gutter tune-ups are essential to keeping your home protected from water damage. At Gutter Tune Up, we specialize in gutter tune-ups in Milwaukee to ensure that your gutters are clear and functioning correctly, no matter what the weather brings.
Our gutter tune-up services include cleaning, inspecting for damage, and addressing any blockages or misalignments. We’ll check for rust, cracks, and other issues that could affect your system’s performance. By keeping your gutters well-maintained, we help you prevent water damage, mold growth, and other costly repairs, so you can enjoy peace of mind throughout the year.
Metal Roofing Contractor: Long-Lasting, Durable Roofs for Wisconsin Homes
When it comes to roofing, many homeowners in Wisconsin are opting for metal roofing due to its exceptional durability and long-lasting performance. As an experienced metal roofing contractor, Gutter Tune Up specializes in installing and maintaining high-quality metal roofs that can withstand the harsh Wisconsin climate.
Metal roofing is a great choice for homeowners who want a roof that’s built to last. It offers unmatched protection against snow, ice, rain, and high winds, while also being energy-efficient. Metal roofs reflect sunlight, helping to keep your home cooler in the summer and warmer in the winter. They are also low maintenance, requiring fewer repairs compared to traditional asphalt shingles. Whether you’re looking to install a new metal roof or replace your old roof with something more durable, our team has the expertise to get the job done right.
Why Choose Gutter Tune Up?
Affordable and Reliable Services: We provide high-quality, affordable gutter services and roofing solutions, ensuring that your home is protected without breaking your budget.
Expert Gutter Tune-Ups: Our gutter tune-ups in Milwaukee help ensure that your gutters remain in peak condition, preventing costly repairs down the line.
Specialized Metal Roofing Contractors: As trusted metal roofing contractors, we offer durable and energy-efficient metal roof installations designed to withstand Wisconsin’s harsh weather conditions.
Locally Owned and Operated: Based in St. Francis, WI, we are deeply familiar with the local weather patterns and offer solutions specifically tailored to the needs of Wisconsin homeowners.
Customer Satisfaction Guaranteed: We take pride in our work and are dedicated to providing exceptional service. Our goal is to ensure that every customer is 100% satisfied with the work we do.
Contact Gutter Tune Up Today
Don’t let gutter or roofing issues put your home at risk. If you need affordable gutter services, a gutter tune-up in Milwaukee, or a reliable metal roofing contractor, Gutter Tune Up is here to help. Call us today at +1 (414) 877-8094 or visit us at 1929 E Howard Ave, St. Francis, WI 53235. Let our experienced team provide the expert services you need to keep your home safe, dry, and protected all year long.2

