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 - "custom built"
-
So a few days ago I felt pretty h*ckin professional.
I'm an intern and my job was to get the last 2003 server off the racks (It's a government job, so it's a wonder we only have one 2003 server left). The problem being that the service running on that server cannot just be placed on a new OS. It's some custom engineering document server that was built in 2003 on a 1995 tech stack and it had been abandoned for so long that it was apparently lost to time with no hope of recovery.
"Please redesign the system. Use a modern tech stack. Have at it, she's your project, do as you wish."
Music to my ears.
First challenge is getting the data off the old server. It's a 1995 .mdb file, so the most recent version of Access that would be able to open it is 2010.
Option two: There's an "export" button that literally just vomits all 16,644 records into a tab-delimited text file. Since this option didn't require scavenging up an old version of Access, I wrote a Python script to just read the export file.
And something like 30% of the records were invalid. Why? Well, one of the fields allowed for newline characters. This was an issue because records were separated by newline. So any record with a field containing newline became invalid.
Although, this did not stop me. Not even close. I figured it out and fixed it in about 10 minutes. All records read into the program without issue.
Next for designing the database. My stack is MySQL and NodeJS, which my supervisors approved of. There was a lot of data that looked like it would fit into an integer, but one or two odd records would have something like "1050b" which mean that just a few items prevented me from having as slick of a database design as I wanted. I designed the tables, about 18 columns per record, mostly varchar(64).
Next challenge was putting the exported data into the database. At first I thought of doing it record by record from my python script. Connect to the MySQL server and just iterate over all the data I had. But what I ended up actually doing was generating a .sql file and running that on the server. This took a few tries thanks to a lot of inconsistencies in the data, but eventually, I got all 16k records in the new database and I had never been so happy.
The next two hours were very productive, designing a front end which was very clean. I had just enough time to design a rough prototype that works totally off ajax requests. I want to keep it that way so that other services can contact this data, as it may be useful to have an engineering data API.
Anyways, that was my win story of the week. I was handed a challenge; an old, decaying server full of important data, and despite the hitches one might expect from archaic data, I was able to rescue every byte. I will probably be presenting my prototype to the higher ups in Engineering sometime this week.
Happy Algo!8 -
I absolutely HATE "web developers" who call you in to fix their FooBar'd mess, yet can't stop themselves from dictating what you should and shouldn't do, especially when they have no idea what they're doing.
So I get called in to a job improving the performance of a Magento site (and let's just say I have no love for Magento for a number of reasons) because this "developer" enabled Redis and expected everything to be lightning fast. Maybe he thought "Redis" was the name of a magical sorcerer living in the server. A master conjurer capable of weaving mystical time-altering spells to inexplicably improve the performance. Who knows?
This guy claims he spent "months" trying to figure out why the website couldn't load faster than 7 seconds at best, and his employer is demanding a resolution so he stops losing conversions. I usually try to avoid Magento because of all the headaches that come with it, but I figured "sure, why not?" I mean, he built the website less than a year ago, so how bad can it really be? Well...let's see how fast you all can facepalm:
1.) The website was built brand new on Magento 1.9.2.4...what? I mean, if this were built a few years back, that would be a different story, but building a fresh Magento website in 2017 in 1.x? I asked him why he did that...his answer absolutely floored me: "because PHP 5.5 was the best choice at the time for speed and performance..." What?!
2.) The ONLY optimization done on the website was Redis cache being enabled. No merged CSS/JS, no use of a CDN, no image optimization, no gzip, no expires rules. Just Redis...
3.) Now to say the website was poorly coded was an understatement. This wasn't the worst coding I've seen, but it was far from acceptable. There was no organization whatsoever. Templates and skin assets are being called from across 12 different locations on the server, making tracking down and finding a snippet to fix downright annoying.
But not only that, the home page itself had 83 custom database queries to load the products on the page. He said this was so he could load products from several different categories and custom tables to show on the page. I asked him why he didn't just call a few join queries, and he had no idea what I was talking about.
4.) Almost every image on the website was a .PNG file, 2000x2000 px and lossless. The home page alone was 22MB just from images.
There were several other issues, but those 4 should be enough to paint a good picture. The client wanted this all done in a week for less than $500. We laughed. But we agreed on the price only because of a long relationship and because they have some referrals they got us in the door with. But we told them it would get done on our time, not theirs. So I copied the website to our server as a test bed and got to work.
After numerous hours of bug fixes, recoding queries, disabling Redis and opting for higher innodb cache (more on that later), image optimization, js/css/html combining, render-unblocking and minification, lazyloading images tweaking Magento to work with PHP7, installing OpCache and setting up basic htaccess optimizations, we smash the loading time down to 1.2 seconds total, and most of that time was for external JavaScript plugins deemed "necessary". Time to First Byte went from a staggering 2.2 seconds to about 45ms. Needless to say, we kicked its ass.
So I show their developer the changes and he's stunned. He says he'll tell the hosting provider create a new server set up to migrate the optimized site over and cut over to, because taking the live website down for maintenance for even an hour or two in the middle of the night is "unacceptable".
So trying to be cool about it, I tell him I'd be happy to configure the server to the exact specifications needed. He says "we can't do that". I look at him confused. "What do you mean we 'can't'?" He tells me that even though this is a dedicated server, the provider doesn't allow any access other than a jailed shell account and cPanel access. What?! This is a company averaging 3 million+ per year in revenue. Why don't they have an IT manager overseeing everything? Apparently for them, they're too cheap for that, so they went with a "managed dedicated server", "managed" apparently meaning "you only get to use it like a shared host".
So after countless phone calls arguing with the hosting provider, they agree to make our changes. Then the client's developer starts getting nasty out of nowhere. He says my optimizations are not acceptable because I'm not using Redis cache, and now the client is threatening to walk away without paying us.
So I guess the overall message from this rant is not so much about the situation, but the developer and countless others like him that are clueless, but try to speak from a position of authority.
If we as developers don't stop challenging each other in a measuring contest and learn to let go when we need help, we can get a lot more done and prevent losing clients. </rant>14 -
Just built a custom retropi for the boyfriend for his bday. Custom paint, button, box, splash screen, and games. Fun little project.
17 -
Its that time of the morning again where I get nothing done and moan about the past ... thats right its practiseSafeHex's most incompetent co-worker!!!
Today I'd like to tell you the story of "i". Interesting about "I" is that he was actually a colleague of yesterdays nominee "G" (and was present at the "java interface" video call, and agreed with G!): https://devrant.com/rants/1152317/...
"I" was the spearhead of a project to end all projects in that company. It was suppose to be a cross-platform thing but ended up only working for iOS. It was actually quite similar to this: https://jasonette.com/ (so similar i'm convinced G / I were part of this but I can't find their github ID's in it).
To briefly explain the above + what they built ... this is the worst piece of shit you can imagine ... and thats a pretty strong statement looking back at the rest of this series so far!
"I" thought this would solve all of our problems of having to build similar-ish apps for multiple customers by letting us re-use more code / UI across apps. His main solution, was every developers favourite part of writing code. I mean how often do you sit back and say:
"God damn I wish more of this development revolved around passing strings back and forth. Screw autocomplete, enums and typed classes / variables, I want more code / variables inside strings in this library!"
Yes thats right, the main part of this bullshittery was putting your entire app, into JSON, into a string and downloading it over http ... what could possibly go wrong!
Some of my issues were:
- Everything was a string, meaning we had no autocomplete. Every type and property had to be remembered and spelled perfectly.
- Everything was a string so we had no way to cmd + click / ctrl + click something to see somethings definition.
- Everything was a string so any business logic methods had to be remembered, all possible overloaded versions, no hints at param types no nothing.
- There was no specific tooling for any of this, it was literally open up xcode, create a json file and start writing strings.
- We couldn't use any of the native UI builders ... cause strings!
- We couldn't use any of the native UI layout constructs and we had to use these god awful custom layout managers, with a weird CSS feel to them.
What angered me a lot was their insistence that "You can download a new app over http and it will update instantly" ... except you can't because you can't download new business logic only UI. So its a new app, but must do 100% exactly the same thing as before.
His other achievements include:
- Deciding he didn't like apple's viewController and navigationBar classes and built his own, which was great when iOS 7 was released (changed the UI to allow drawing under the status bar) and we had no access to any of apples new code or methods, meaning everything had to be re-built from scratch.
- On my first week, my manager noticed he fucked up the login error handling on the app I was taking over. He noticed this as I was about to leave for the evening. I stayed so we could call him (he was in an earlier timezone). Rather than deal with his fucked up, he convinced the manager it would be a "great learning experience" for me to do it ... and stay in late ... while he goes home early.
- He once argued with me in front of the CEO, that his frankenstein cross-platform stuff was the right choice and that my way of using apples storyboards (and well thought out code) wasn't appropriate. So I challenged him to prove it, we got 2 clients who needed similar apps, we each did it our own way. He went 8 man weeks over, I came in 2 days under and his got slated in the app store for poor performance / issues. #result.
But rather than let it die he practically sucked off the CEO to let him improve the cross platform tooling instead.
... in that office you couldn't swing a cat without hitting a retard.
Having had to spend a lot more time working with him and more closely than most of the other nominees, at a minimum "I" is on the top of my list for needing a good punch in the face. Not for being an idiot (which he is), not for ruining so much (which he did), but for just being such an arrogant bastard about it all, despite constant failure.
Will "I" make it to most incompetent? Theres some pretty stiff competition so far
Tune in later for more practiceSafeHex's most incompetent co-worker!!!6 -
A client called me today saying their custom website I built for them is down. It just shows a 403 error now. They said they just wanted to update the prices. I asked what changes they made before it crashed. She said, "I couldn't figure out how to change the prices, so I just installed Wordpress, and now it doesn't work!" They completely deleted the entire website using cPanel and replaced it with a partially installed Wordpress.🤦18
-
So I own a webshop together with a guy I met at one of my previous contract jobs. He said he had a great idea to sell product X because he can get them very cheap from another European country. Actually it is a great idea so we decided to work together on this: I do everything tech related, he does the non tech stuff.
Now we are more than 1 year in business. I setup a VPS, completely configured it, installed and setup the complete webshop, built 2 custom PrestaShop modules, built many customizations, built a completely new order proces (both front and back end), advertised quite some products, did some link building, ensured everything is in place to do proper SEO, wrote some content pages, did administration and tax declarations, rewrote a part of a PrestaShop component because it was so damn inefficient and horribly slow, and then some more. Much more.
He did customer relation management, supplier management and some ad words campaigns. Promised me many times to write the content for our product pages. This guy has an education in marketing but literally said: I'm not gonna invest in creating some marketing plan. I have no ambition in online marketing.
What?! You have the marketing knowledge and skills but refuse to use it to market our webshop and business? What the fuck is wrong with you?!
Today he says to me: 'Hey man, this is becoming an expensive hobby as we don't sell much and have lots of costs. I don't understand why I should be the one to write these content pages. Everything you did in the past 8 months can be done in less than 20 hours! You are a joke and just made it a big deal by spreading your work over so many months. I know for sure because I currently work at a company where I'm surrounded by front end devs! Are you fucking crazy?! You're a liar.'
He talks like this to me every 2 months or so while he can't even deliver the content for 1 single product in 6 fuckin' months! We even had to refund a few of our customers because Mr. client relations manager didn't respond to their e-mails within 1 fucking week!! So I asked him how could that have happened as you do the client relations and support. Well, he replied to me: 'Why didn't YOU respond to our clients? You don't log on in our back office at least once a day?!'.
Of course I do asshole. But YOU don't. He replied that I was lying just like I was lying about what I did for our business.
So, asshole, let's have a look at PrestaShops logs to see who's logging in daily. Well, you can probably guess who's IP was there in most of the entries. It wasn't his.
So, what the fuck have you been doing then?! You can't even manage to respond quickly to a client?!! We have maybe 50 clients and if we get 1 question a month by email it is already a lot. But you keep bitching, complaining and insulting me instead?!!!
Last time he literally admitted on a WhatsApp conversation that he had and still has the hope that he could just sit back and relax and watch me do ALL the work.
Well, guess what you fucking moron. That's not what we agreed upon. You fuckin' retard think you're so smart but you say EVERYTHING on WhatsApp! Including your promises to me. Thank you you fuckin' piece of dog shit because now I have hard evidence and will hand it over to my lawyer to make you pay every god damn cent for all the hours I've spent working on our business. Oh, and I'll take over the webshop and make it a success on my own because I know damn well how to get relevant traffic and thus customers.
You just go get yourself fucked in the ass without lubricant you fuckin' asshole. I have told you you shouldn't fuck with me because I take business very seriously. I even warned you when you were crossing a line again. Well, if you don't listen... You will pay for the consequences. I will be so damn happy to tell you 'I told you so' with a very very big smile on my face. That momemt WILL come, 'partner'.
Fuck you. You will be fucked. Count on that. Fucking asshole.9 -
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 -
Client: We want a contact form on our site that accepts files.
Me: OK. Here are the backend options (custom built, WordPress, third-party service, etc).
C: Mmm... why is it so complicated? A simple form doesn't need a backend.
Me: FFUUUUU Y DONT YOU DO IT THEN! DIDN'T KNOW BROWSERS SEND EMAIL?!
Me: *backspace*, *backspace*, *backspace*
Me: Browsers cannot send emails; you need a backend to process the form.3 -
The strangest place I've ever coded... I woudn't say it was the strangest, but definitely the least expected?
The hospital's recovery room after my second child.
I was working at/in Hell at the time (see previous rants concerning API Guy and the asshole salesman CEO). Said salesman douchebag ceo bossman had no recollection of me being expecting, going to the hospital, or even why I was there (and if he did, he wouldn't have cared at all). He still insisted I work on his shit features because they were so important for his ever-so-important client and their new signups that they were going to do anyway. I loathe him so fucking much.
Anyway, the feature in question was pretty tiny: during the new client onboarding process, if the client came from a specific affiliate link, the frontpage should change to reflect that affiliate's branding -- different background, a custom header, etc. It was pretty easy to do, though I made certain he didn't know that. During an hour while everyone else was asleep (and while I wasn't passing out from exhaustion), I pulled out my macbook air and built his stupid feature next to my hours-hold newborn.
Did I get any appreciation for that? Sure! He showed appreciation by not yelling at me for a few days. But only because he thought the feature was difficult and that I got it done quickly, not because anything else was difficult. Asshole.
Yes, I told him several times before and several times more afterward. I don't know what goes though his head or how it even works, but it didn't seem like a big deal to him, and he kept forgetting, or maybe he just pretended to listen like he always did. Fucking asshole apparently never heard of maternity leave. I could rant and swear and curse and fume and rage about him for years 🤬 I can't believe I was so excited when I netted that job.
But anyway, building the feature was actually kind of relaxing. I organized and wrote the entire project myself, so working with it was a pleasure, and it was an easy change that I could abstract nicely and cleanly. I totally didn't mind doing it, and actually kind of enjoyed it. I just hated who I was doing it for, and that he didn't fucking care. Used and abused? absolutely. I hope he dies in the most painful, gruesome way possible. Spaghettification might not even be awful enough6 -
I have this little hobby project going on for a while now, and I thought it's worth sharing. Now at first blush this might seem like just another screenshot with neofetch.. but this thing has quite the story to tell. This laptop is no less than 17 years old.
So, a Compaq nx7010, a business laptop from 2004. It has had plenty of software and hardware mods alike. Let's start with the software.
It's running run-off-the-mill Debian 9, with a custom kernel. The reason why it's running that version of Debian is because of bugs in the network driver (ipw2200) in Debian 10, causing it to disconnect after a day or so. Less of an issue in Debian 9, and seemingly fixed by upgrading the kernel to a custom one. And the kernel is actually one of the things where you can save heaps of space when you do it yourself. The kernel package itself is 8.4MB for this one. The headers are 7.4MB. The stock kernels on the other hand (4.19 at downstream revisions 9, 10 and 13) took up a whole GB of space combined. That is how much I've been able to remove, even from headless systems. The stock kernels are incredibly bloated for what they are.
Other than that, most of the data storage is done through NFS over WiFi, which is actually faster than what is inside this laptop (a CF card which I will get to later).
Now let's talk hardware. And at age 17, you can imagine that it has seen quite a bit of maintenance there. The easiest mod is probably the flash mod. These old laptops use IDE for storage rather than SATA. Now the nice thing about IDE is that it actually lives on to this very day, in CF cards. The pinout is exactly the same. So you can use passive IDE-CF adapters and plug in a CF card. Easy!
The next thing I want to talk about is the battery. And um.. why that one is a bad idea to mod. Finding replacements for such old hardware.. good luck with that. So your other option is something called recelling, where you disassemble the battery and, well, replace the cells. The problem is that those battery packs are built like tanks and the disassembly will likely result in a broken battery housing (which you'll still need). Also the controllers inside those battery packs are either too smart or too stupid to play nicely with new cells. On that laptop at least, the new cells still had a perceived capacity of the old ones, while obviously the voltage on the cells themselves didn't change at all. The laptop thought the batteries were done for, despite still being chock full of juice. Then I tried to recalibrate them in the BIOS and fried the battery controller. Do not try to recell the battery, unless you have a spare already. The controllers and battery housings are complete and utter dogshit.
Next up is the display backlight. Originally this laptop used to use a CCFL backlight, which is a tiny tube that is driven at around 2000 volts. To its controller go either 7, 6, 4 or 3 wires, which are all related and I will get to. Signs of it dying are redshift, and eventually it going out until you close the lid and open it up again. The reason for it is that the voltage required to keep that CCFL "excited" rises over time, beyond what the controller can do.
So, 7-pin configuration is 2x VCC (12V), 2x enable (on or off), 1x adjust (analog brightness), and 2x ground. 6-pin gets rid of 1 enable line. Those are the configurations you'll find in CCFL. Then came LED lighting which required much less power to run. So the 4-pin configuration gets rid of a VCC and a ground line. And finally you have the 3-pin configuration which gets rid of the adjust line, and you can just short it to the enable line.
There are some other mods but I'm running out of characters. Why am I telling you all this? The reason is that this laptop doesn't feel any different to use than the ThinkPad x220 and IdeaPad Y700 I have on my desk (with 6c12t, 32G of RAM, ~1TB of SSDs and 2TB HDDs). A hefty setup compared to a very dated one, yet they feel the same. It can do web browsing, I can chat on Telegram with it, and I can do programming on it. So, if you're looking for a hobby project, maybe some kind of restrictions on your hardware to spark that creativity that makes code better, I can highly recommend it. I think I'm almost done with this project, and it was heaps of fun :D
11 -
A room full of mostly old male stressed out engineers sat in chairs, and the presenter said:
"So who watched Judging Amy last night?"
The presenter went on to express her surprise that nobody in the room had seen last night's episode of Judging Amy.... and wasn't going to drop the topic.
The meeting, if it ever had any, now had no chance of going anywhere good.
By the end of the meeting someone would walk out and "retire" shortly there after, and it certainly wasn't going to be the presenter....
Backstory:
The company built on the IBM model of sell pricey custom hardware (granted it worked really well) and sell expensive support contracts wasn't doing as well as it had hoped. Granted it was still doing better than most of its neighboring companies, but it was clear that with the .com bust the days of catered lunches every day were over.
The company had grown fat and everyone knew that while the company had a good enough product(s) to survive, there weren't enough lifeboats for everyone to survive.
In the midst of this an HR department that took up nearly 20% of the office space at HQ felt it needed to justify its existence / expenses.
They decided to do this in the same way they always had, by taking funding from other departments, this time not by simply demanding more direct budgets for themselves.... they decided to impose mandatory 'training' on other departments ... that they would then bill for this training.
When HR got wind that there were some stressed out engineers the solution was, as it always is for HR.... to do more HR stuff:
They decided to take these time starved engineers away from their jobs, and put them in a room with HR for 4 days. Meanwhile the engineer's tasks, deadlines and etc remained the same.
Support got roped into it too, and that's how I ended up there.
It would be difficult to describe the chasm between HR and everyone else at that company. This was an HR department that when they didn't have enough cubes (because of constant remodeling in the HR area under the guise of privacy) sat their extra HR employees next to engineering and were 'upset' that the engineers 'weren't very friendly and all they did was work'.
At one point a meeting to discuss this point of contention was called off for some made up reason or another by someone with a clue.
So there we all sat, our deadlines kept ticking away and this HR team (3 people) stood at the front of the room and were perplexed that none of these mostly older males in this room had seen last night's episode of Judging Amy.
From there the presentation was chaos, because almost the entire thing was based on your knowledge of what happened to poor stressed out Amy ... or something like that.
We were peppered with HR tales of being stressed out and taking a long lunch and feeling better, and this magical thing where the poor HR person went and had a good cry with her boss and her boss magically took more off her plate (a brutal story where the poor HR person was almost moved to tears again).
The lack of apparent sympathy (really nobody said much at all) and lack of seeming understanding from the crowd of engineers that all they should do is take a long lunch, or tell their boss to solve their problems ... seemed to bother the HR folks. They were on edge.
So then they finally asked "What are your stressers?" And they picked the worst possible person they could to ask, Ted.
Ted was old, he prickly, he was the only one who understood the worst ass hell of assembly that had been left behind.
Ted made a mistake, he was honest with folks who couldn't possibly understand what he was saying. "This mandatory class is stressing me out. I have work to do and less time because of this class."
The exchange that followed was kinda horrible and I recall sitting behind Ted trying to be as small as possible as to not be called on. Exactly what everyone said almost doesn't matter.
A pedantic debate between Ted and the HR staff about "mandatory" and "required" followed. I will just sum it up that they were both in the wrong for how they behaved for a good 20 minutes...
Ted walked out, and would later 'retire' that week.
Ted had a history and was no saint. I suspect an email campaign by various folks who recounted the events that day spared ted the 'fired' status and he walked with what eventually would become the severance package status quo.
HR never again held another 'training', most of them would all finally face the axe a few months later after the CEO finally decided that 'customer facing, and product producing' headcount had been reduced enough ... and it was other internal staff's time for that.
The result of the meeting was one less engineer, and everyone else had 4 days less of work done...4 -
This page doesnt look like much until I tell you it is written entirely in Clojure using a custom built HTML generator.
9 -
Once it really hit me hard. The father of my brothers wife once told me that I'm not fit for IT in general. He thinks that I have pseudo knowledge of IT and Programming.
He just works parttime at home as "computer scientist" and sells routers, pc and such stuff to some private customers. Before he used Filemaker and sayd that he already coded his own CRM with it.
When he said that it really made me sad. But after we talked I looked back what I already achieved:
1. I build for me and friends custom PC's with Case mods and Hard Tube watercooling
2. I can programm in HTML5, CSS3 and PHP
3. I raised a Community with over 60 people in it. We got 2 dedicated Linux Roots (I7-6700K, 64GB RAM, SSD)
4. I manage the Linux Servers on my own with VoIP, Mail-, Web-, MySQL- and Gameservers
5. I built up a complete Community Solution with Game Groups, Forum, Tournament System and a lot of custom scripts.
6. Now Im almost finished learning the C++ Basics to code and manage to learn the beginning of GUI/UX programming.
7. Next thing Im gonna learn is Javascript (Browser) and Java, so I can complete my Web Skills and also can code Java Desktop Apps and Java game plugins (don't rant, Javascript is not the same as Java, I know 😉)
So I thought to myself "maybe in the eyes of others Im not a computer scientist, but then Im on the way to be one at least"
But please dont be a douche (the father) and prejudice me, before you don't know what I already can and achieved.
Just because you're are selling computer parts and installing them doesn't mean, that you are a computer scientist and telling me that I'm not 😉
In IT you're the smith of your own merit!7 -
*part rant part developers are the best people in the world*
years back a friend got a job at some non profit, as a program coordinator, and his first task was to "coordinate" the work on creating the new website for the organisation. current website they had was a monster built on some custom cms, 7 languages, 5 years of almost dayly content updates, etc. so he asked me if i would took the job of creating a new website on wordpress. i wasn t really keen on doing it, but he is a good friend so i said ok. i wrote down the SOW, which clearly stated that i will not be responsible for migrating the old content to the new website. i had experience working with non it clients, and made sure everyone understood the SOW before the contract was signed. everyone was ok with it. after three weeks my job was done, all milestones and requirenments were met. peechy! and then all hell breaks loose when the president of the organisation (the most evil person i ve met in my life) told my friend that she expects me to migrate the content as well. he tried explaining her that that was not agreed, that it will cost extra, etc. but she didn t want to hear any of that. despite the fact that she was a part of the entire SOW creation process, because she is a micro managing bitch. in any other situation i wouldn t budge, because we have the contract and i kept all the paper trail, but since my friends job was on the line i agreed to do it. my SQL knowldge at the time, and even now, was very rudimentary, the db organisation of their cms was confusing as fuck... so i took two days of searching tutorials and SO threads and was doing ok, until i got to a problem i couldn t solve on my own. i posted the issue on SO and some guy asked for some clarifications, and we went back and forth, and decided to move to chat. while chatting with him i realised that there was not a chance for me to do all the work in few days without a lot of errors so i offered him to do it for a fee. he agreed. i asked him for his rate, he said if this is a community work i will do it for free, but if it is commercial i will charge the standard rate, 50$/hr. i told him it was commercial, and agreed to his rate. i asked him if he needed an advance payment, he said no need, you ll pay me when the job is done. i sent him the db dumps, after two days he sent me the csv, i checked it, all was good and wired him the money.
now compare this work relatioship with the relatioship with that bitch from the non profit.
* we met online, on a semi-anonymous forum, this guys profile was empty
* he trusted me enough to say that he would do it for free if i wasn t payed either
* i wasn t an asshole to take advantage of that trust
* he did the work without the advance payment
* i payed him the moment i verified the work
faith in humanity restored3 -
Working on my boss's code. Spent over a day trying to figure out why the array wasn't working to discover it's custom built to start at one.5
-
I built a custom web app for my wife.
She uses Adwords all day long and there mapping tool for radiuses sucks, so I wanted it to be easier for her.
She ended up letting her co-workers use it too, and they love it.
It has copy and paste functionality so that you can save the custom map and open it later.
Today, one of her co workers accidentally emailed a link to this custom web app to a client. He opened the link, and declared it to be the best thing since sliced bread.
Unfortunately, not my client, not my job ... so, it really doesn’t mean much for my career. But it did make me feel good.
Thinking maybe create account functionality and start selling subscriptions. Could be a few extra bucks a month. Lol.8 -
Paranoid Developers - It's a long one
Backstory: I was a freelance web developer when I managed to land a place on a cyber security program with who I consider to be the world leaders in the field (details deliberately withheld; who's paranoid now?). Other than the basic security practices of web dev, my experience with Cyber was limited to the OU introduction course, so I was wholly unprepared for the level of, occasionally hysterical, paranoia that my fellow cohort seemed to perpetually live in. The following is a collection of stories from several of these people, because if I only wrote about one they would accuse me of providing too much data allowing an attacker to aggregate and steal their identity. They do use devrant so if you're reading this, know that I love you and that something is wrong with you.
That time when...
He wrote a social media network with end-to-end encryption before it was cool.
He wrote custom 64kb encryption for his academic HDD.
He removed the 3 HDD from his desktop and stored them in a safe, whenever he left the house.
He set up a pfsense virtualbox with a firewall policy to block the port the student monitoring software used (effectively rendering it useless and definitely in breach of the IT policy).
He used only hashes of passwords as passwords (which isn't actually good).
He kept a drill on the desk ready to destroy his HDD at a moments notice.
He started developing a device to drill through his HDD when he pushed a button. May or may not have finished it.
He set up a new email account for each individual online service.
He hosted a website from his own home server so he didn't have to host the files elsewhere (which is just awful for home network security).
He unplugged the home router and began scanning his devices and manually searching through the process list when his music stopped playing on the laptop several times (turns out he had a wobbly spacebar and the shaking washing machine provided enough jittering for a button press).
He brought his own privacy screen to work (remember, this is a security place, with like background checks and all sorts).
He gave his C programming coursework (a simple messaging program) 2048 bit encryption, which was not required.
He wrote a custom encryption for his other C programming coursework as well as writing out the enigma encryption because there was no library, again not required.
He bought a burner phone to visit the capital city.
He bought a burner phone whenever he left his hometown come to think of it.
He bought a smartphone online, wiped it and installed new firmware (it was Chinese; I'm not saying anything about the Chinese, you're the one thinking it).
He bought a smartphone and installed Kali Linux NetHunter so he could test WiFi networks he connected to before using them on his personal device.
(You might be noticing it's all he's. Maybe it is, maybe it isn't).
He ate a sim card.
He brought a balaclava to pentesting training (it was pretty meme).
He printed out his source code as a manual read-only method.
He made a rule on his academic email to block incoming mail from the academic body (to be fair this is a good spam policy).
He withdraws money from a different cashpoint everytime to avoid patterns in his behaviour (the irony).
He reported someone for hacking the centre's network when they built their own website for practice using XAMMP.
I'm going to stop there. I could tell you so many more stories about these guys, some about them being paranoid and some about the stupid antics Cyber Security and Information Assurance students get up to. Well done for making it this far. Hope you enjoyed it.
26 -
Yesterday (or the day before that depending on your timezone and day-night schedule - this Friday) my OnePlus 6T arrived. After only 2 days of time between placing the order and actually getting the phone, quite impressive!
The DHL guy asked me upon receipt - is it the OnePlus 6T? - Yes it is!! - "An amazing device it is!", he said. And honestly.. he couldn't be more right.
I might be a bit biased on this because after all I did just spend €630 on this phone. But it feels so snappy, high quality, the 8GB of RAM is just.. it blows my mind. But I'm sure that the other reviews did this sort of jazz already.
The things that set this phone apart for me though were the following.
When I get a new phone or tablet, usually the first thing I do is rooting it. This one was no different, about an hour after receipt it was successfully rooted and loaded with Magisk. Currently I'm still in the phase of "getting to know the phone", wherein fuckups are usual. This time again being no different - I removed some apps and apparently did something to it that the search engines - both Google and DuckDuckGo - didn't quite like, as both of them would crash upon application launch. Me in full panic mode of course, desperately trying to find the stock ROM (which doesn't seem to be present in its usual form) or a new set of GApps (which didn't resolve the issue). OnePlus does seem to offer its OTA updates in zip archives though. So I downloaded its latest update (same as what was on the device) and applied it.
That's when the nerdgasm happened.
The "update" was simply a matter of going into the settings, tapping this and that and applying the update. No recovery, no unrooting, no nothing. The update just went like that despite the phone being rooted and just having had TWRP flashed to it. I always wanted this sort of thing, which even the Nexus couldn't offer - having the cake and eating it too. Being able to root the device and muck around with it while still being able to update the device timely without too many hurdles. This fucking thing does it!!!
That is to say, after my initial nerdgasm I did find that it bulldozed over my su binary (effectively unrooting the thing), custom emoji I've set (iOS 12 because fuck Google's most recent emoji set) and some other things. But those are easy to install back, much more so than it would've been to download a whole Android release and dirty flash it, as it was on the Nexus.
Other than that, battery life, dash charging (edit: on that topic, it does remain cool like a cucumber despite getting 15-20W of power jammed into it, quite impressive!), snappiness, the usual jazz.. eh, as I said earlier that's the usual reviewer stuff. But this feature of being able to upgrade the phone while it's modified, that's something which seems to be severely underrated by those.
Oh and during kernel builds, I couldn't quite get the source to work - probably due to my lack of experience with builds of Android kernels - but I did find that this phone actually exposes its kernel config through /proc/config.gz as it should. None of my MediaTek devices do this, so that's something that I found really appealing. Always nice to see when a manufacturer exposes this information to give you a stock sort of config that you can be rest assured will work configuration-wise. And it allows you to see what the stock kernel is actually built with, which again is really nice. I quite like this! It really encourages further development.11 -
I've been an IT Director for a medium sized company for 11 years...
2 years ago we decided to custom develop an app for online ordering through a third party... This company quoted $36k, I told the team that I think it will be $100k and here is a solution that will do 90% of the needs for $50 a month per location... boss says he doesn't care if it's 200k he wants 100% of what we want and the ability to change it to perfectly fit our needs.... FFW to present... $36k app built by committee of 8 people.. = $400k... and counting for maintenance and adjustments. We now use that $50 a month solution as well to cover another need that would be too costly to code into the original app SMH... and now myself and my team are learning to code to support it internally because.... why would you just hire a qualified person... anyhow, I'm a few months into a self paced online bootcamp and loving it. So ... bright side found! Rant over2 -
This was WAY back in my first job as a programmer where I was working on a custom built CMS that we took over from another dev shop. So a standard feature was of course pagination for a section that had well over 400,000 records. The client would always complain about this section always being very slow to load. My boss at that job would tell me to not look at the problem as it wasn't a part of the scope.
But being a young enthusiastic programmer, I decided to delve into the problem anyway. What I came to discover was that the pagination was simply doing a select all 400,000 records, and then looping through the entire dataset until it got to the slice it needed to display.
So I fixed the pagination and page loads went from around 1 min to only a few seconds. I felt pretty proud about that. But I later got told off by my boss as he now can't bill for that fix. Personally I didn't care since I learned a bit about SQL pagination, and just how terrible some developers can be.5 -
Have been trying to setup Netdata as a monitoring system for a while now and finally got it working!
Instead of the built-in webhooks I just did a curl to a url containing a php page/file which error logs the status and description (just for testing).
It took me way too long to get it to work but BAM.
Immediately made a new cpu load rule (one minute high load):
The satisfaction of getting an error message in the php logs containing my custom rule as warning and a minute later as critical 😍
Netdata ❤6 -
That would probably be implementing multithreading in shell scripts.
https://gitlab.com/netikras/bthread
The idea (though not the project itself) was born back when I still was a sysadmin. Maintaining 30k servers 24/7 was quite something for a team of merely ~14 people. That includes 1st line support as well.
So I built a script to automate most of my BAU chores. You could feed a list of servers - tens or hundreds or more - and execute the same action on each of them (actions could be custom or predefined in the list of templates). Neither Puppet nor Chef or Ansible or anything of sorts was consistently deployed in that zoo, not to mention the corp processes made use of those tools even a slower approach than the manual one, so I needed my own solution.
The problem was the timing. I needed all those commands to execute on all the servers. However, as you might expect, some servers could be frozen, others could be in DMZ, some could be long decommed (and not removed from the listings), etc. And these buggars would cause my solution to freeze for longer than I'd like. Not to mention that running something like `sar -q 1 10` on 200 servers is quite time-consuming itself :)
And how do I get that output neatly and consistently (not something you'd easily get with moving the task to a background with '&'. And even with that you would not know when are all the iterations complete!)?
So many challenges...
I started building the threading solution that would
- execute all the tasks in parallel
- do not write anything to disks
- assign a title to each of the tasks
- wait for all the tasks to complete in either
> the same sequence as started
> as soon as the task finishes
- keep track of each task's
> return code
> output
> command
> sequence ID
> title
- execute post-finish actions (e.g. print to the console) for each of the tasks -- all the tracked properties are to be accessible by the post-finish actions.
The biggest challenges were:
a) how do I collect all that output without trashing my filesystems?
b) how do I synchronize all those tasks
c) how do I make the inception possible (threads creating threads that create their own threads and so on).
Took me some time, but I finally got there and created the libbthread library. It utilizes file descriptors, subshells and some piping magic to concentrate the output while keeping track of all the tasks' properties. I now use it extensively in my new tools - the ones where I can't use already existing tools and can't use higher-level languages.4 -
Yesterday I bought myself a PSP to relive some of my childhood memories, run custom firmware on it and so on. Unfortunately however, the battery on this one is seriously puffed up, and I need one in order to update the firmware from 5.50 CFW (the seller actually modded it too!) to 6.61 OFW (to then install CFW from there again).
I figured that I might as well have a kick at disassembling the battery for good measure, to take out its controller and power it from my lab bench power supply. I set it to 3.70V, double-checked the connections.. nothing. I raised the voltage to 4V, still nothing.
There is absolutely nothing wrong with the controller from looking at it. The magic smoke is still in there, all I did was removing the housing and snipping off the battery. I measured the cell voltage and it was only some residues at 0.01V. Might be internally shorted or something, normally even dead cells settle back at 3.7V unless you keep them shorted externally.
After seeing this so many times now with controllers, I'm starting to get a feeling that manufacturers actually program these things to look at the battery voltage, and when it reaches 0V, to just make the controller kill itself. Doesn't matter if the controller's electronics are still good, just fucking kill it.
If true, that is very, VERY nasty. It would also explain why batteries in laptops especially all have different form factors, despite having used regular 18650's internally for a very long time. It would explain why they're built like tanks. It would explain why manufacturers really don't want people in there. Yes there are safety issues and you're literally diffusing a bomb. Since recently we've also got space optimization.. anything for half a mm of thickness, amirite? But doing it this way is fucking disgusting. There is absolutely no reason for the controller to kill itself when the cell dies. Yet it seems like it does.
PS: I've posted the original picture on https://ghnou.su/pics/... now if you're interested. I noticed in my previous rant that devRant really squishes these down.
12 -
Dev: Hi Guys, we've noticed on crashlytics that one of your screens has a small crash. Can you look?
Me: Ok we had a look, and it looks to us to be a memory leak issue on most of the other screens. Homepage, Search, Product page etc. all seem to have sizeable memory leaks. We have a few crashes on our screens saying iPhone 11's (which have 4gb of ram) are crashing with only 1% of ram left.
What we think is happening is that we have weak references to avoid circular dependencies. Our weak references are most likely the only things the system would be able to free up, resulting in our UI not being able to contact the controller, breaking everything. Because of the custom libraries you built that we have to use, we can't really catch this.
Theres not really a lot we can do. We are following apples recommendations to avoid circular dependencies and memory leaks. The instruments say our screens are behaving fine. I think you guys will have to fix the leaks. Sorry.
Dev 1: hhhmm, what if you create a circular dependency? Then the UI won't loose any of the data.
Dev 2: Have you tried looking at our analytics to understand how the user is getting to your screens?
=================================
I've been sitting here for 15 minutes trying to figure out how to respond before they come online. I am fucking horrified by those responses to "every one of your screens have memory leaks"2 -
Someone here into 3d printing? Got into the hobby end of last year and built my own new printer this year. I love this hobby! So great to print custom housings for your build electronics.
13 -
My set up in March, 2003.
On the desk: Titanium PowerBook G4 1Gz
On the floor: custom-built PC running my email and web server on SUSE Linux
5 -
[long]
When searching for internship via school I found this small startup with this cute project of building a teaching tool for programming. There were back then 2 programmers: the founder and the co-founder.
Then like 1 week before the internship started, the co-founder had a burnout and had to get off the project, while the company was so low on budget the founder, aka my new b0ss, had to work separate jobs to keep the company alive. (quite metal tbh)
It's funny because I'm a junior developer, 100%. I've been coding as a hobby for around 8 years now but I've never worked in a big company before. (No exception to this workplace either)
First project I get: rewrite the compiler. The Python compiler.
"But wait, why not just embed a real compiler from the first case?"
-nanananana it's never simple, as you probably know from your own projects.
The new compiler, as compared to existing embedded compiler solutions out there, needed these prime features:
- Walk through the code (debugger style), but programmatically.
- Show custom exceptions (ex: "A colon is needed at the end of an if-statement" instead of "Syntax error line 3")
- Have a "Did-you-mean this variable?" error for usage of unassigned variables.
- Be able to be embedded in Unity's WebGL build target
All for the use case of being a friendly compiler.
The last dash in the list is actually the biggest bottleneck which excluded all existing open-source projects (i could find). Compliant with WebAssembly I can't use threads among other things, IL2CPP has lots of restrictions, Unity has some as well...
Oh and it should of course be built using test-driven development.
"Good luck!" - said the founder, first day of work as she then traveled to USA for **3 weeks**, leaving me solo with the to-be-made codebase and humongous list of requirements.
---
I just finished the 6th week of internship, boss has been at "HQ" for 3 weeks now, and I just hit the biggest milestone yet for this project.
Yes I've been succeeding! This project has gone so well, and I'm surprising myself how much code I've been pumping out during these weeks.
I'm up now at almost 40'000 lines of source and 30'000 lines of code. ‼
( Biggest project I've ever worked on previously was at 8'000 lines of code )
The milestone (that I finished today) was for loops! As been trying to showcase in the GIF.
---
It's such a giant project and I can honestly say I've done some good work here. Self-five. Over-performing is a thing.
The things that makes me shiver though is that most that use this application will never know the intricates of it's insides, and the brain work put into it.
The project is probably over-engineered. A lot. Having a home-made compiler gives us a lot of flexibility for our product as we're trying to make more of a "pedagogic IDE". But no matter that I reinvented the wheel for the 105Gth time, it's still the most fun I've had with a project to date.
---
Also btw if anyone wants to see source code, please give me good reasons as I'm actively trying to convince my boss to make the compiler open-source.
Cheers!
4 -
Started part time job at a company, had to log my time on timesheets. Said fuck this and now the whole company logs their hours on a custom web based time logging system which I built.5
-
The manager and selfperceived omnipotent cult leader was the worst kind of businessman. Slimey and trecherous, zero sense of ethics, but felt holier than the pope because he "helped" his weakling herd of piteous employees.
These employees were smart kids, most of them in their late teens. All of them legally disabled. There was this kid who gobbled up ritalin like candy, a boy who had received his measles shots and turned socially awkward (/s), a chubby girl who could name all the hex colors of her chocolate stained shirt... you know, what we call skilled developers in the industry.
Fiftyfive of them.
They were awesome, awkward highschool dropouts, like I had been a decade earlier. They worked 50h a week. They had great humor, were passionate, devoured information about new technologies, and they built custom websites from scratch in no time. I had to lead this flock, and felt honored to work with them.
Then things started to smell funny.
I discovered all 55 of their workstations ran pirated software, from Windows to Adobe CS. I'm not without sin in that regard, but as a company it's just plain stupid.
Clients were treated like shit. I mean, we all feel like punching a client in the face sometimes, but I'm taking about unjustified debt collections paired with death threats.
Then I found out these kids were often disappearing for a few months, only to return months later.
I started digging, and discovered they were all working reintegration internships (because they were on below minimum wage disability payments), at almost zero cost to my employer.
After 6 months, my boss gave them a negative recommendation, they were all too "sick" to function in normal jobs.
Then they were rotated to a shadow company, doing the same work for another 6 months, and so on to a third company.
He broke these kids, talked them down, made them feel worthless. He threatened the ones who understood what was happening.
I ended up bringing the company down, with the CEO and two government officials jailed for fraud and corruption.
Some employees were quite mad about it, at least at first — I was the shepherd who abandoned his sheep. Luckily, most found better paid positions in no time.
Truly one of the most fucked up and difficult situations I've been in.6 -
So I have that custom-made wifi router I've built. And it uses a USB wifi adapter with AC (wifi5) capability - the fastest one I could find in AliExpress.
I set it up a while ago - the internet access works fine, although speeds are somewhat sluggish. But hey, what to expect from a cheapo on Ali! Not to mention it's USB, not a PCIe...
A few days ago I ran a few speedtest.net tests with my actual AC router and the one I've built. Results were so different I wanted to cry :( some pathetic 23Mbps with my custom router :(
This evening I had some time on my hands and finally decided to have an umpteenth look.
nmcli d wifi
this is what caught my eye first. The RATE column listed my custom router as 54Mbps, whereas the actual router had 195Mbps.
I have reviewed the hostapd configuration sooo many times - this time nothing caught my eye as well.
Googling did not give anything obvious as well.
What do we do next? Yes, that's right - enable debug and read the logs.
> VHT (IEEE 802.11ac) with WPA/WPA2 requires CCMP/GCMP to be enabled, disabling VHT capabilities
This is one of the lines at the top of the log. Waaaaiiitttt.. VHT is something I definitely want with ac -- why does it disable that??? Sounds like a configuration fuckup rather than the HW limitation! And config fuckups CAN be fixed!
Turns out, an innocently looking
`wpa_pairwise=TKIP`
change into
`wpa_pairwise=TKIP CCMP`
made a world of a difference!
:wq
!hostapd
connect to the hostapd hotspot and run that iperf3 test again, and... Oh my. Oh boi! My pants fell off -- the speed increased >3x times!
A quick speedtest.net test deems my custom router's download speeds hardly any worse than the speeds obtained using my LInksys!!
The moral of the story: no matter how innocent some configurations look, they might make a huge difference. And RTFL [read the fucking logs]
In the pic -- left - my actual router, right - my custom-built router with a USB wifi adapter. Not too shabby!
6 -
Disclaimer: Long tale of a tech support job. Also the wk29 story is at the bottom.
One time I was working tech support for a website and email hosting firm that was in town. I was hired and worked as the only tech support person there, so all calls came in through me. This also meant that if I was on a call, and another one came through, they would go straight to voice mail. But I couldn't hang up calls either, so, sometimes someone would take up tons of time and I'd have to help them. I was also the "SEO" and "Social Media Marketing" person, as well; managed peoples' social media campaigns. I have tons of stories from this place but a few in particular stick out to me. No particular order to these, I'm just reminiscing as I write this.
I once had to help a man who couldn't find the start button on his computer. When I eventually guided him to allowing me to remote into his computer via Team Viewer, I found he was using Windows XP. I'm not kidding.
I once had to sit on the phone with a man selling Plexus Easy Weight Loss (snake oil, pyramid scheme, but he was a client) and have him yell at me about not getting him more business, simply because we'd built his website. No, I'D not built his website, but his website was fine and it wasn't our job to get him more business. Oh yeah, this is the same guy who said that he didn't want the social media marketing package because he "had people to hide from." Christ.
We had another client who was a conspiracy theorist and wanted the social media marketing package for his blog, all about United States conspiracies. Real nut case. But the best client I've ever had because sometimes he'd come into the office and take up my time talking at me about how Fukushima was the next 911 and that soon it'll spill into the US water supply and everybody was going to die. Hell, better than being on the phone! Doing his social media was great because he wanted me to post clearly fake news stories to his twitter and facebook for him, and I got to look at and manage all the comments calling him out on his bullshit. It was kinda fun. After all, it wasn't _me_ that believed all this. It felt like I was trolling.
[wk29] I was the social media and support techie, not a salesperson. But sometimes I was put in charge _alone_ in front of clients for status meetings about their social media. This one time we had a client who was a custom fashion-type person. I don't really remember. But I was told directly to make them a _new_ facebook page and post to it every day with their hot new deals and stuff. MONTHS pass since I do that and they come in for a face-to-face meeting. Boss is out doing... boss things and that means I have to sit in with her, and for some fucking reason she brought her boyfriend AND HER DAD. Who were both clearly very very angry with me, the company, and probably life. They didn't ever say anything at first, they didn't greet me, they were both just there like British royal guards. It was weird as fuck. I start showing them the page, the progress on their likes goals, etc etc. Marketing shit. They say, "huh, we didn't see any of these posts at home." Turns out they already had a Facebook page, I was working on a completely seperate one, and then the boyfriend finally chimes in with the biggest fucking scowl, "what are you going to do about this?" He was sort of justified, considering this was a payed and semi-expensive service we offered, but holy shit the amount of fire in all three of them. Anyway, it came down to me figuring out how to merge facebook pages, but they eventually left as clients. Is this my fuck up? Is it my company's? Is it theirs? I don't know but that was probably the most awkward meeting ever. Don't know if it comes across through text but the anxiety was pretty real. Fuck.
tl;dr Tech support jobs are a really fun and exciting entry level position I recommend everybody apply for if they're starting out in the tech world! You'll meet tons of cool people and every day is like a new adventure.2 -
Just now I realized that for some reason I can't mount SMB shares to E: and H: anymore.. why, you might ask? I have no idea. And troubleshooting Windows.. oh boy, if only it was as simple as it is on Linux!!
So, bimonthly reinstall I guess? Because long live good quality software that lasts. In a post-meritocracy age, I guess that software quality is a thing of the past. At least there's an option to reset now, so that I don't have to keep a USB stick around to store an installation image for this crap.
And yes Windows fanbois, I fucking know that you don't have this issue and that therefore it doesn't exist as far as you're concerned. Obviously it's user error and crappy hardware, like it always is.
And yes Linux fanbois, I know that I should install Linux on it. If it's that important to you, go ahead and install it! I'll give you network access to the machine and you can do whatever you want to make it run Linux. But you can take my word on this - I've tried everything I could (including every other distro, custom kernels, customized installer images, ..), and it doesn't want to boot any Linux distribution, no matter what. And no I'm not disposing of or selling this machine either.
Bottom line I guess is this: the OS is made for a user that's just got a C: drive, doesn't rely on stuff on network drives, has one display rather than 2 (proper HDMI monitor recognition? What's that?), and God forbid that they have more than 26 drives. I mean sure in the age of DOS and its predecessor CP/M, sure nobody would use more than 26 drives. Network shares weren't even a thing back then. And yes it's possible to do volume mounts, but it's unwieldy. So one monitor, 1 or 2 local drives, and let's make them just use Facebook a little bit and have them power off the machine every time they're done using it. Because keeping the machine stable for more than a few days? Why on Earth would you possibly want to do that?!!
Microsoft Windows. The OS built for average users but God forbid you depart from the standard road of average user usage. Do anything advanced, either you can't do it at all, you can do it but it's extremely unintuitive and good luck finding manuals for it, or you can do it but Windows will behave weirdly. Because why not!!!12 -
!rant
I've been working for the last 5 months at this job and I'm getting promoted. My manager built a custom position after noticing my skills. I love my job. AMA!3 -
When you've spent DAYS coding, testing, and perfecting a custom function...
... and the very next day IntelliSense shows you the built-in method that does exactly the same thing.
-
That time you think you found your dream dev job...
But they really just needed a content entry person so the other dev could add 'senior' to his title and work on all the new fun projects, while you're stuck fixing IE7 bugs in his code from 3 years ago.
He used prototype instead of jQuery.
You try to tell them about responsive design, but they think everything needs a separate mobile version.
You spend half the day learning his custom functions to a cms he built 2 years ago, and he's in the process of rebuilding a new cms from the ground up, so you have to learn the new version too.
Was fired 3 days before my birthday, and didn't get my company gift, even though I contributed to every one else's gifts.
Fired 2 months before birth of my child so lost my insurance.
After my time there... They now build responsive, they now use jQuery for everything. I also showed them how to do IE testing with virtual box, instead of them using the secretary's computer.7 -
I walk into the kickoff meeting today. The first part of this project had 5 developers and a project manager. Former project manager handled communication and sheltered us from bullshit. We built an amazing piece of software in a very short time. Customers were so amazed that they decided to reboot the project, boost the funding by several million, and let us go again. They specifically requested the same team.
Now the team looks like this: the neediest tester guy, a UX lady that doesn't have any UX background, an agile "visionary", a project manager that doesn't understand how development works, a solutions architect, 3 COTS platform specialists, a devops specialist, and an account lead. They have booked all kinds of workshops and other shit to kick things off.
So development capacity is only 60% of what it was. Management ratio was 1:5 before. Now the management ratio is 9:3. The new project manager thinks developers should be on more customer calls and responding to all customer emails during sprints. We already built this system and devops pipelines end to end. The COTS people, solutions architect, or the UX person can't program. They want us to magically convert this custom application into one based on COTS. What we need to do is make the rest of the business processes that we omitted, integrate known feedback, rework the backend, build better automated testing, improve logging and reporting, add another actor to the system, add a different authentication method, and basically work through the massive backlog.
How do they think this is going to work? Do they think we can download a custom engineered enterprise grade software system from Microsoft and double click all the way to customer satisfaction? The licenses alone are too much for the customer on an ongoing cost basis. I guess we can discuss it during the agile team-building weekend at some remote lake that the team "visionary" has set up. For the sake of fuck.
Like development isn't hard enough. Hire two more developers and lose all of the dead weight. Get a project manager that won't let the trivial shit roll down on us. What the fuck.5 -
Sorry for my bad english.
So, I made an e-commerce site for a company once. It's actually just a WordPress site with that WooCommerce plugin.
After that, my dad was "advertising me (suggesting me?)" to one of his friend that I can make a website.
Then his friend called me and I asked what to do. In short, she has an online marketplace website where the users can be either a seller or a buyer (just an ordinary e-bay like site). Her site is built with PHP (codeigniter 2).
I can't make custom site that's why I'm using WordPress for my client, I'm still learning PHP right now. How do I tell my dad to not "overestimate" my ability to make sites. I already told my dad about my abilities and I'm still learning, but he keep saying that I should accept it because it will give you experiences.11 -
Definitely Godot Engine. One of the greatest and easiest Game Engines I have ever used! Lots of great features and there are getting more and more!
The inbuilt programming language GDScript is really awesome too! It's a custom language built extra for the Engine, which makes it super easy to use and integrate! The syntax is a bit like python but better.
Because it's not as old as unity or unreal engine, it's not as feature rich. But I think that's okay. It allows you to get used to the current existing features, and then heading on to the new ones.
What I really enjoy is that, just as in this community, you can just talk with the creators of the engine. Asking questions, suggesting features and discussing things! They'll answer nearly everything!
Not to mention the graphics! They are really good and are nearly able to compete against Unity!
There's also a visual language you can use. Just like Unreal Engine Blueprints! Never tried it tho...
The scenes system is very easy to understand. You basically have a lot of "components" which you can use in each of your scenes. This also allows for making simple extensions!
All in all, a great engine! If you are a game developer I can definitely recommend trying it out!2 -
Really fed up with my colleague and possibly my job. Am starting to doubt am cut out to be a developer
Am a junior java dev , been working working for this company for about 2 years now. Although they hired me to be a java dev, they pretty much exclusively had me working on JavaScript crap because none of the other more senior devs wanted to do even so much as poke JS with a long stick....
Oh and the salary was crap but i figured since i had barely 3 years of exp i thought i would stick with it for a while
But a few months ago after seeing other opportunities I got fed up and threatened to quit , already started interviewing etc
Got an offer, not exactly what i wanted but better than where i was. Went to quit but they freaked out and started throwing money at me. They matched and exceed the other salary and promised to addressed the issues that made me want to leave. Ie get me to work more on the java side of the project and have me work with someone more senior who could sort of mentor me, i had been working semi solo on the js shit till then...
The problem is that my supposed mentor is selfish prick... he is the sort of guy who comes in real early, basically he goes to early morning prayer then come in at some ungodly hour and fuckoff home around 3pm
He does all his work early morning then spends the rest of the day with his headphones on stealthily watching youtube, amazon, watching cricket, reading about Palestine , how oppressed muslims are or building a website for some mosque.
I asked him to let me sit with him so that I could just learn how this or that part of the sys worked , he agreed then the very next day comes in and does all the work before i get in at 9 , i asked him how he did it and he tells me oh just read the code.
Its not as simple as that, out codebase is an old pile of non standard legacy dog shit. Nothing works as it should, i tried to go through documentation online for the various stuff we use , but invariably get stuck when i try the usual approach because it turns out the original devs had essentially done a lot of custom hacks and cowboy coding to get stuff working, they screwed around with some of the framework jars & edited libraries to get stuff to work, resulting in some really weird OSGI errors.
My point is that i cant really just "read the code" or google ...
I gotta know a bit more what was actually modified and a lot of this knowledge isn't fucking documented, theres a lot of " ohhh that weird bug yeah yeah that happens cuz x did this hack some years ago to fix this issue and we kinda built on it, yeah we weren't supposed to do that but heyyy what u gonna do, just do this or that instead"
I was asked to set up a web service to export something, since thats his area of expertise and he is suppose to be teaching me the ropes, i asked him to explain where i should start and what would the general workflow be, his response is to tell me to just copy the IMPORT service and rename it to export then "just do it um change it or something" very helpful indeed (building enterprise application here nothing complex at all!!)
He sits right next to me so i can see how much works he actually does, i know when he just idly sitting there so thats when i ask him questions, he always has his earphones on so each time i gotta find a way to get his attention with a poke or a wave, he will give a heavy sigh and a weary look as he removes his headphones, listen to my question then give me the shortest answer possible before IMMEDIATELY turning away and putting his headphones on as fast as possible regardless of whether I actually understood or even heard what he said. If i ask another question ( am talking like an immediate follow up question for a clarification or something) he will
Do the whole sigh + tired look routing to make me know yeah you are disturbing me. ( god was so happy the day he accidentally sat on and broke them)
Yesterday i caught a glance at his screen as i was sitting down and i think he and another dev were talking about me
That am slow with my work and take forever to get into gear.
Starting to have doubts about my own ability n wether am really cut out to be a developer. I know i can work hard but its impossible to do so when you have no clue where to start and unable to look it up since all the custom hacks doesn't really allow any frame of reference.
Feels like am being handicapped and mocked, yesterday i just picked up my gear n left the office.
I never talk ill about my colleagues, whenever i have a 121 with my mgr i always all is fine, x n y are really helpful etc
I tried to indirectly tell my other colleague about this guy, he told me that guy had kinda mentally checked out of this job and was just going through on auto pilot and just laughed it off (they have been working together for almost a decade and a buddies) my other colleague is pretty nice but he usually swamped with work so i feel bad to trouble him.
Am really Fed up with it all7 -
I really enjoy my old Kindle Touch rather than reading long pdf's on a tablet or desktop. The Kindle is much easier on my eyes plus some of my pdf's are critical documents needed to recover business processes and systems. During a power outage a tablet might only last a couple of days even with backup power supplies, whereas my Kindle is good for at least 2 weeks of strong use.
Ok, to get a pdf on a Kindle is simple - just email the document to your Kindle email address listed in your Amazon –Settings – Digital Content – Devices - Email. It will be <<something>>@kindle.com.
But there is a major usability problem reading pdf's on a Kindle. The font size is super tiny and you do not have font control as you do with a .MOBI (Kindle) file. You can enlarge the document but the formatting will be off the small Kindle screen. Many people just advise to not read pdf's on a Kindle. devRanters never give up and fortunately there are some really cool solutions to make pdf's verrrrry readable and enjoyable on a Kindle
There are a few cloud pdf- to-.MOBI conversion solutions but I had no intention of using a third party site my security sensitive business content. Also, in my testing of sample pdf's the formatting of the .MOBI file was good but certainly not great.
So here are a couple option I discovered that I find useful:
Solution 1) Very easy. Simply email the pdf file to your Kindle and put 'convert' in the subject line. Amazon will convert the pdf to .MOBI and queue it up to synch the next time you are on wireless. The final e-book .MOBI version of the pdf is readable and has all of the .MOBI options available to you including the ability for you to resize fonts and maintain document flow to properly fit the Kindle screen. Unfortunately, for my requirements it did not measure-up to Solution 2 below which I found much more powerful.
Solution 2) Very Powerful. This solution takes under a minute to convert a pdf to .MOBI and the small effort provides incredible benefits to fine tune the final .MOBI book. You can even brand it with your company information and add custom search tags. In addition, it can be used for many additional input and output files including ePub which is used by many other e-reader devices including The Nook.
The free product I use is Calibre. Lots of options and fine control over documents. I download it from calibre-ebook.com. Nice UI. Very easy to import various types of documents and output to many other types of formats such as .MOBI, ePub, DocX, RTF, Zip and many more. It is a very powerful program. I played with various Calibre options and emailed the formatted .MOBI files to my Kindle. The new files automatically synched to the Kindle when I was wireless in seconds. Calibre did a great job!!
The formatting was 99.5% perfect for the great majority of pdf’s I converted and now happily read on my Kindle. Calibre even has a built-in heuristic option you can try that enables it to figure out how to improve the formatting of the raw pdf. By default it is not enabled. A few of the wider tables in my business continuity plans I have to scroll on the limited Kindle screen but I was able to minimize that by sizing the fonts and controlling the source document parameters.
Now any pdf or other types of documents can be enjoyed on a light, cheap, super power efficient e-reader. Let me know if this info helped you in any way.
4 -
Working on a custom Chromium OS board at the moment
So boards in Chromium OS are specialized versions of Chromium OS built for a specific hardware while maintaining upstream compatibility.
I built a board specifically to be as near as CloudReady's compatibility table as possible, so this is what I have at the moment:
* Most hardware works (Libinput)
* Still working on supplying Nvidia drivers using nouveau (Google insists using OSS drivers, we can't use NVIDIA drivers)
* Still working on making Crostini GPU-enabled by default so I don't always terminate it via vmc
* ARC works as per the open sourced Android Runtime but I need help making the Play Store working
Overall its a bit stable but if anyone's down I'll replicate it on a GitHub repository and I'll let everyone contribute their changes. The aim of the custom board is to:
* Make it work on most hardware possible
* Add android support with APK installation (FydeOS has this but I can't replicate it in CrOS).
* Produce a close to Chrome's release channel.
Here's a screenshot of me using it, it works but I'll need to start over from scratch to make it more contributable
10 -
*Working on custom magento build*
Project manager:you are taking to long on this project. I know how long it should take to build a web site, I built a way more complicated site than this in just a few hours!
Me: what site did you build?
PM: *sends link to wife's photography site* wife.squarespace.com
Me: ...that's not the same thing at all6 -
Man, I'm sure there are a million of these posts right now but...
The hiring market and hiring culture nowadays is so damn frustrating. I have a decade of experience in multiple senior/lead/principal roles at both big name companies and high-growth startups, along with a very well-written resume.
Even with this, I can barely get an interview these days. I'll apply to a role that lists qualifications for which I'm an exact fit, and either get a quick auto-denial or just never hear back at all. It doesn't matter if I custom-craft my resume and cover letter to match the job description or just send my standard resume and cover letter. We all love those pandering and patronizing "We know that this isn't the news you wanted to hear, but keep trying! Maybe you'll be good enough for us someday!" auto-denial email.
Sometimes I'll receive a denial, look back at the job posting, that they needed somebody with NLP experience or something, and say to myself "Fair enough, that makes sense." Other times, I'll look at the posting and say "Oh come on, I check every single box." It makes you wonder "What the fuck are you actually truly looking for?"
Sometimes I'll look at the company's current employees and see that almost every single one is ex-FAANG, indicating that the company will almost only hire other ex-FAANG employees (despite there being thousands of other well-qualified candidates out there who are just as talented and skilled as those ex-FAANG candidates.)
Other companies seem to be "brand shopping" for ex-FAANG employees after all the recent FAANG layoffs, hoping to land a bargain on an ex-Google engineer so they can brag that their product was built by the same people who built Google.
Then there's the question of even making it past the ATS and in front of an actual human's eyes. The hiring culture seems to be an ATS SEO game nowadays. God forbid that you didn't include the super secret magic keyword in your resume, else you'll automatically be filtered out and denied.
It's just incredibly frustrating and makes you wonder what kind of candidate you need to be to even get a first round interview nowadays. Do we all need to have a glowing personal recommendation from the ghost of Steve Jobs in order for a 50-person startup to even open our resumes?4 -
At work, my closest relation is with the DBA. Dude is a genius when it comes to proper database management as well as having a very high level of understanding concerning server administration, how he got that good at that I have no clue, he just says that he likes to fuck around with servers, Linux in particular although he also knows a lot about Windows servers.
Thing is, the dude used to work as a dev way back when VB pre VB.NET was all the rage and has been generating different small tools for his team of analysts(I used to be a part of his team) to use with only him maintaining them. He mentioned how he did not like how Microsoft just said fk u to VB6 developers, but that he was happy as long as he could use VB. He relearned how to do most of the GUI stuff he was used to do with VB6 into VB.NEt and all was good with the world. I have seen his code, proper OOP practices and architectural decisions, etc etc. Nothing to complain about his code, seems easy enough to extend, properly documented as well.
Then he got with me in order to figure out how to breach the gap between building GUI applications into web form, so that we could just host those apps in one of our servers and his users go from there, boy was he not prepared to see the amount of fuckery that we do in the web development world. Last time my dude touched web development there was still Classic ASP with JScript and VBScript(we actually had the same employer at one point in the past in which I had to deal with said technology, not bad, but definitely not something I recommend for the current state of web development) and decided that the closest thing to what he was used was either PHP(which he did not enjoy, no problem with that really, he just didn't click with the language) and WebForms using VB.NET, which he also did not like on account of them basically being on support mode since Microsoft is really pushing for people to adopt dotnet core.
After came ASP.NET with MVC, now, he did like it, but still had that lil bug in his head that told him that sticking to core was probably a better idea since he was just starting, why not start with the newest and greatest? Then in hit(both of us actually) that to this day Microsoft still not has command line templates for building web applications in .net core using VB.NET. I thought it was weird, so I decided to look into. Turns out, that without using Razor, you can actually build Web APIs with VB.NET just fine if you just convert a C# template into VB.NET, the process was...err....tricky, and not something we would want to do for other projects, with that in we decided to look into Microsoft's reasons to not have VB.NET. We discovered how Microsoft is not keeping the same language features between both languages, having crown C# as the language of choice for everything Microsoft, to this point, it seems that Microsoft was much more focused in developing features for the excellent F# way more than it ever had for VB.NET at this point and that it was not a major strategy for them to adapt most of the .net core functionality inside of VB, we found articles when the very same Microsoft team stated of how they will be slowly adding the required support for VB and that on version 5 we would definitely have proper support for VB.NET ALTHOUGH they will not be adding any new development into the language.
Past experience with Microsoft seems to point at them getting more and more ready to completely drop the language, it does not matter how many people use it, they would still kill it :P I personally would rather keep it, or open source the language's features so that people can keep adding support to it(if they can of course) because of its historical significance rather than them just completely dropping the language. I prefer using C#, and most of my .net core applications use C#, its very similar to Java on a lot of things(although very much different in others) and I am fine with it being the main language. I just think that it sucks to leave such a large developer pool in the shadows with their preferred tool of choice and force them to use something else just like that.
My boy is currently looking at how I developed a sample api with validation, user management, mediatR and a custom project structure as well as a client side application using React and typescript swappable with another one built using Angular(i wanted to test the differences to see which one I prefer, React with Typescript is beautiful, would not want to use it without it) and he is hating every minute of it on account of how complex frontend development has become :V
Just wanted to vent a little about a non bothersome situation.6 -
So here I am sitting on my dusty laptop gaming laptop (because supposedly it would offer me better performance in compiling code and working with CUDA according to the people above me) at a research institute where I just started working at. I am told that there are some issues with the code and that it fails to build on Windows with MSVC that ships with Visual Studio 2017 and later.
I poor some hot tea from my insulated bottle I brought from home and start reading.
I look in this header file and what do I see - a custom uint24_t struct. Interesting...
I keep sifting through the code base. I find some functions that check and change Endianess. Ok, but the software is developed, built on and runs only on Win7 and later desktop systems. Never mind...
Further I find a custom "allocator" that is used throughout the whole code base. It has three inline static class member functions: allocate, copy and deallocate plus some private constructors. And these just wrap around the standard new and free calls. Some flavours of this class actually only deallocate (with a comment above them: "This allocator does not allocate. HANDLE WITH CARE!!!", which is btw the only "code documentation" I have managed to find).
But wait! What is this? A custom thread and mutex. Oh, and string, and vector.
Further down the rabbit hole I find a custom math library with a matrix class that does not support multiplication between a matrix and a vector. Perhaps not a use case I guess...
I continue and come across some UI-related calls. Interesting, I wonder what they are using as a framework. Oh, my...We have an extensive GUI custom framework written from scratch (drawing buttons and all).
All of this is to load an OBJ file and render it on the screen on a standard Windows PC in some way.
Very nice... ;_;3 -
!rant !notrant !confession_maybe? Bit of a read.
Last year, around September (around 8 months into my first job in the industry), I started loosing motivation to be a developer. By then I had consistently dropped out of 3 or 4 courses for my degree (no penalties as it was pretty much within the starting weeks of the each course). I was think that I do not want to do this. It got so bad that I was looking for other jobs and even trade apprenticeships (I am old-ish so chances of that are so bloody low).
I had my mind set. Including not wanting to finish the degree I had started, which only had 1 year as full time to complete.
My missus supported me in my decision making, but she insisted that I finish the degree as the years I spent on it would have been a waste if I don't. So I agreed, with the idea that I will do this part time when I find another job.
Fast forward to New Years and a very spontaneous decisions was made. I resigned from my dev job and we ended up moving away to another city, two weeks later. By this point on I was so certain that I did not want to be in the IT industry. I had not done any dev work (personal projects or learning new technology etc) outside of the job for months. It had been months since I've visited devrant (to be honest it was not even installed on my phone, mainly because I broke my phone and after having it replaced I had not reinstalled a large portion of the apps I used). I had sold my custom built pc thinking that we do not need two PC's (we kind of don't, she's fine with her laptop) which meant no more dev stuff as none of this stuff was set up on my missus pc. I was looking for all kinds of jobs outside of the IT industry, anything really.
But then something happened. And this is that something. I mean this, deverant. I was flicking through the apps list on google play store, and I saw devrant, and I choose to reinstall it. I began reading rants and comments and I am certain that this made me realise why I want to be a developer. Within about 2 weeks of redownloading deverant I was enrolled full time as a uni student fully motivated to earn my degree.
There are bits and pieces left out of the story. I don't regret leaving my first ever dev job and moving away, it does seem drastic but it changed me for the better I believe. I have the experience from that role and I new fresh start so to speak. I think my missus new this was just a phase, although it felt so certain about it.
I am more of a lurker than a ranter or a commenter on this social platform but I felt that I need to share this. Thanks for reading this. Not really sure what to tag this. Has anyone else experienced this before?5 -
I’m developing a fairly sophisticated desktop app in Python with PyQt5 as the widget set. Because my partner insists that all the kids these days love Python.
Piss on Python. And that goes double for PyQt5.
I’m on the absolute hardest section of the app. It’s a fairly complex import of data from PDF reports. There are so many different parts that I decided to go with a wizard.
So, I built a QWizard in Qt Designer. It generates a C++ .ui file, but you just truck it over to the command line and run this pyuic5 command, and it converts to a handy dandy Python class. Woo. You can subclass it and consume it from your Python script.
Sounded SO MUCH EASIER than writing the wizard from scratch. But OH NO. I need to do custom validation on my custom text control at every stage to control when the Next and Finish buttons are enabled, which means I gotta overwrite some damn event.
But I can’t. Because I can’t subclass the individual pages. Because they’re part of the same damn file and the wizard offers no access to them.
I’m almost certain that I’m going to have to completely redesign the wizard so that it’s pages are in separate files, which means I have to recode the bitch as well.
The cherry on top is that there’s zero documentation for this specific thing. None. No QWizard documentation exists for PyQt5 (if there is, they’re doing a damn good job of hiding it), so I have to read the documentation for PyQt4. Not the same animal. Close, but different. Even with the differences aside, this documentation is minimal and useless. “We’re going to tell you in very general terms what you should do, but we’ll give you zero idea how to do it. And we know the very common code method you’ll want to try first won’t work.”
And getting at this stuff when you do it in Qt Designer is WAY different. And all that documentation is in C++. Because apparently you HAVE to speak C++ if you want any real info about PyQt. Because that’s perfectly reasonable, right?
So, now I’ve lowered myself and posted a question on Stack. Because, hey, once you get past the power-tripping, mouth-breathing, basement-dwelling, neck-bearded high school punching bags picking apart your question rather than, I dunno..., BEING HELPFUL, sometimes you can get good info there. Sometimes. They seriously saved my ass at least one time.
But yeah. Fuck Python. Fuck everything Qt.17 -
Not really a rant, more a proud of myself moment but the custom IVR software I built is now getting 20k calls a day and hasn't broken........
........yet4 -
Back in 2006 I built a custom CMS for golf membership/community to manage tournament listings and registrations along with club news and social calendars. In 2008 I migrated that to Drupal 6 and continued to grow the site from there. Come 2010 I was raising flags about moving to Drupal 7. No. 2011, I recommend the move. No. 2012, 2013, 2014, 2015 ...no, no, no. 2016 they complain that the site is old and they want more "management" capability (they had tons a capability). The get sold by some wizbang company and the fancy dancy CMS. I have to hear how great it is bla bla bla. That is until they start to use it. Turns out, it's not a CMS by any stretch of the imagination. They need to know HTML and a page's content in a single blob field. And content can't be repurposed across the site. I now just sit back and laugh at their pain.3
-
(Dev)Life in the past 12 hours
Oh boy have the last 12 hours been a roller coaster ride for me. Noob me decided to "compile" AoSP for my device to get a taste of how custom ROMs are built from source. Overall it was fun but the errors were a very good excercise for googling, SO. Couple stuff I learnt ( possibly useful for anyone who comes here )
* The shebang line ( #!/usr/bin/env python ) on my system translated to Python 3.7 environment instead of the expected Python 2.7. Best solution I think to avoid confusion is to create a python 2.7 environment and source it.
* Get your trees right. A jar file called WfdCommon.jar ( apparently known as wifi-display common ) was the cause of several hours of hunting the fault. My vendor tree somehow didn't have this file so dex2oat was borking out like mad. I'm still amazed how I figured this one out almost by myself. ( Basically I had to check every file included in the boot class path, and find the odd one )
* I wasted a lot of time in finding the right files to change version numbers and all. Maybe I didn't search XDA properly for a guide ?
Overall it was a fun experience. Also if anyone's experienced in this area could you share resources to learn more about custom ROM development? Specifically on the tweaking part where you mix features from different ROMs to make a great ROM ( like AoSP extended or Pixel Experience ). All I could find were on the zips and not on sources.
7 -
Seriously, why are so many companies caught up with if there developers working from home or not? Maybe it's where I'm at, but my last boss said ...
" I know you don't have any problem making deadlines and your a good worker, but you still need to come to the office in order to have face to face interaction."
Me: "This is the first face to face conversation I've had with someone in over a week."
Boss: (shrugs)"our goal is to build an office friendly environment where people will enjoy coming into the office"
Me: in my head "your an idiot"... Out loud "Ok"
...
In reality my custom built machine is better than yours, and I'm more productive in my Sealy Posturpedic chair and pajamas than your wack office chair with you popping your head out of your office every couple hours to "manage" me when you haven't written code in years and i have to teach you things that you bring to your boss to make yourself look smart.15 -
Spent the last month creating a really scalable chat application, with fast front end, all kinds of neat functions such as polls, and a really efficient database structure in Apache Cassandra.. Everything is built to use NoSQL, and even the front-end is using all kinds of features to speed up itself... Now, guess what... The company I'm doing an internship decided that everything needs to be done in MariaDB, and I can basically remove 1/3 of my program, event the front end will get a huge purge of code, and as much as I explained that MariaDB IS NOT FUCKING USABLE FOR A CHAT APPLICATION, and when there are many messages, the access times will get realllllyyy sloow, and that the whole structure there currently is based on NoSQL... Now I can remove all the clustering, custom data types, and bucketing of messages... And store FUCKING JSON IN 'TEXT' FIELDS IN A STUPID SQL DATABASE. FUCK ME6
-
For about 1.5 years on and off, we've been developing a system to rate tickets/requests sent to our team. We wrote it in Angular, and it turned into this feature-rich gorgeous application with custom-built graphical statistic tracking, in-app social networking capabilities, robust user profiles, etc.
Eventually, we no longer had time to work on it along with all the other applications we're developing. So we passed ownership of the app over to a couple of other developers on our team. You'd think that they'd just work off what we already built and keep the robust environment we created for them. But nope, instead of keeping everything we already built, they scrapped it all and started from scratch using React instead of Angular, and removed all of those robust features and turned the app into a shell of its former self. No more statistic tracking, no more social networking capabilities, no more fancy user profiles. Just a single page with a number representing how many "Good" tickets you've sent to us, and how many "Bad" tickets you've sent.
1.5 years and hundreds of hours worth of work, all gone and replaced with the most rudimentary basic React app ever.2 -
Story time:
I worked at a firm that had an infernal off the shelf CRM system that they collaborated with the dev company to customise.
They were seriously behind the competition, and didn’t have any app or web presence for interacting with their system, instead relying on people calling (fine for the nature of the business, but competition was leaving them in the dust).
They decided that they needed to redevelop it in-house, with a focus on supporting the web and apps.
I was hired for this purpose.
It was me and one other dev, who was also the head of IT.
He’d built a small prototype, and was new to the whole WPF / MVVM thing for the in-house app, so with my previous experience it was clear it needed to serve as an example only, and that it would need redeveloping.
I was only there three months.
In that time I singularly (he was pulled away to troubleshoot their VOIP installation - yes, for three months as other companies kept dropping the ball) built:
- A WebAPI with JWT auth
- An MVC skeleton frontend
- A WPF desktop app
It had all sorts of cool shit in it, 2FA, Reactive UI, Reactive extensions, server push to desktop, a custom workflow and permissions system.
It was pretty dang cool.
End of the three months rolled around, and the non-technical managers were concerned about time to market, so they decided to drop me as I’d “not made enough progress”.
I’d also had a bit of absence which they were aware of and were supposedly supporting me through.
But MFW three months is assumed to be enough time to build such a system with one dev.2 -
One of my worst WFT moments was just over 2 years ago.
A former colleague had been tasked with “upgrading” our solution for handling customer specific CSS on our platform for building newsletter emails.
He had been with us for about 5 years and ported most of the front end gui over that time from classic asp to .net and C#.
This work started in November and with a pause over dec-mid jan for high season and Christmas leave he continued.
In the beginning if mars we had the first of multiple WTF on that when I realized that his solution required a lot of special CSS or rather LESS, more than the a actual HTML for the template, and all was custom less rules that was very hard to understand.
We found that he actually never really understood how LESS worked and had tried to do things in a very backward way. Another colleague jumped in and manage to clean it up a bit so it got down to manageable levels.
Then in the end of Mars came the next bigger WTF. This is a newsletter building application. Turns out the new LESS based solution was entirely dependent on the js version of LESS and only worked when running in the browser. Guess what, the email send engine is not a browser and css classes and rules generally does not work in emails.
The new solution was impossible to integrate with the part that built and sent the emails without some very heavy rework.
Oh, and it was also completely incompatible with 12 years of old newsletters and customer templates that just did not work.
And of cause, he had not shown any of this in code reviews but rather just merged it part by part to the new version branch interleaving it with 5 months of other work.
He left the company short after.11 -
Earlier this year, we built a custom gift box builder for a local popcorn company. I had decided to use vue.js for the interface which was really fun to learn.
I hadn't used any reactive frameworks like vue before this project, but I was surprised how easy it was to use, and it was so satisfying watching the frontend change just by modifying the data. I was able to easily add little transition animations when the states changed which was really fun too (something that would be really tedious otherwise).
That's was probably the most fun I've had on a project in a while. -
Started new job almost two moths ago..
For almost 3 years I was developing custom themes, plugins, and widget for WordPress using PHP, jQuery/AJAX, and MySQL.
The new company that hired me brought me on as a backend developer to help rebuild their custom PHP Framework, and other web based software/products as their moving toward Google Cloud Platform.
When I started, MVC and OOP was new to me... took a couple weeks to get the hang of things, and understand their system.
Just when I was getting comfortable, I had a task assigned to me that was all NodeJS...
Had a 30 check-in the week I started the Node task, and was feeling pretty beat down because it was all new to me and I wasn’t making a lot of progress, and still not comfortable with Promises yet, and some other ES6 features but finding my way around slowly but surely.
Manager reassured me that I wasn’t going to be fired and it wasn’t unique to myself. Very encouraging to hear, but I’m my own worst critic so it’s frustrating not being able to make progress like I would with PHP projects.
Fast forward to this week, I started to review another task for a feed and found it’s all Ruby! Another language I have no familiarity with... and started to question if I’ll every get the hang of all these languages and be a solid team member...
Not only do I have to get a grasp on NodeJS and Ruby now, but then I’ll also have to get familiar with GCP and whatever else comes along with it...
Oh and I’m using Linux now instead of Windows/ OSX... so there’s that too.. plus the other command line tools the company built, and uses..
I was comfortable developing in PHP and know I needed to take a step and accept this job to move my career forward but it seems like I’m always behind the 8 ball...
Some days I wonder if it was worth staying a Wordpress developer and just focused on learning ReactJS and stay more Front-end than Backend..
I enjoy working with talented people but I don’t like being the low man on the totem pole knowing I don’t have the experience yet.
Does it feel like this for all devs?!?!13 -
Follow up on a previous rant:
I visited a customer to talk about the reporting discrepancy between two applications.
It turns out the applications were custom built by outsourced developers from Russia, that communicate with each other through a byzantine (and completely undocumented) series of web services, excel import/export tasks, and a customized SSRS environment.
These are spread across at least half a dozen servers, some on-premise and some cloud based, there are at least 3 SQL servers (2 running 2005, one running 2000), a 10 year old local install of TFS (which no one knows a username/password for), and who-knows-what-else.
They laid off their entire IT team years ago, and they have no backups.
I'm not certain anyone there even understands what the software is supposed to be doing beyond the most general terms.
No one knows if they even have source code.
Biggest case of "nope!" I've encountered in more than 20 years of IT experience.1 -
What's your worst experience with "not invented here syndrome"?
In the recent past I've been dealing with custom made JS datepickers, autocomplete boxes and various other widgets that were purpose made for some feature. Almost every single widget the app uses is built from scratch.
Now there are new features that need these widgets to behave differently, and needless to say, none were built with customisation or extendability in mind.
Hardly shocking, I know, but I'm the one that has to spend several hours to get these widgets to work for the new features instead of using some of the many open-source, tested, mature and customisable solutions that are out there.3 -
Hi everyone,
I got an hardware question. Im planning on getting a personal home server. I want to use it as a small gitlab server, continues integration, and the like for personal projects.
It has to be power efficient otherwise my dad will start crying.
I want it to be relatively cheap and running linux.
Ive got no clue what the best thing todo is. Should I get a prebuild one or build one myself.
For prebuild ones, what brands should I look at?
For a custom built what hardware do you recommend me?10 -
The agency I own built a WordPress plugin for a client using a freelancer developer. The client, out of ambivalence, withheld information that would have drastically changed the design of the plugin, but by the time we found out it was much to late to start over. The developer moved overseas in the middle of it all and from then on was not very responsive to communications about the project which delayed things by months. I tried to find a replacement developer but nobody else had experience with the third-party API. The live version of the API ended up not being able to support what we were trying to get it to do with the plugin even though the test version of the API was fine and the vendor was unhelpful. And because we spent so much time and money on the plugin, we weren’t able to even begin on another part of the project. The client complained of over $30,000 in lost revenue due to these issues. Complete fail all around. I’m never doing another custom software project again. It’s all just website design from here.2
-
I remember at a company that I was working as a Drupal developer, I had finished building a website (both designed and developed it) using Drupal 7. I was very satisfied with the result and the way the company was operating, I had to show it to the project manager and he would say if it was OK to show it to the boss and then I would contact the client to say that we are finished.
When I showed it to the PM, he provided some changes from his personal "I know everything" book and after I made them, we both went to the boss' office. Keep in mind that I had built the website following the clients notes and preferences (custom sliders, certain color swatches etc.) and I was on point.
So, after we entered the office, we sat and I was pumped to hear good news. But, not a minute passed since the page loaded and the boss was clearly unhappy with the result, and more specifically with the changes that the PM provided (not even my fault). When he finished talking, I tried to explain that I followed exactly what the client said and executed accordingly, without the changes that the PM had put on the table. Suddenly, the boss' face was angered and turning red(ish). He started shouting at me and saying that I was not experienced enough to know what I am saying (I was 21 years old at the time), and that they had the experience to criticize if the website was ready or not and if the client would like it, pointing out that I wasn't capable of knowing what the client needed.
I was bursting in my chest, I felt a fire burning with anger and righteousness, but I turned my face down and apologized. It SUCKED! It felt SO bad. I took the notes that he said (which changed 90% of the website's design) and after that I called the client.
I felt some kind of vengeance when the client started shouting at the PM, when he saw the website. He yelled and said that, the design that the boss chose, was not remotely close to what the client had requested.
Next day after I finished the website with the design I had provided, the boss was looking at me like a (proud) wet cat, saying 'well done' but not another word, while entering his office.
Well, at least the client was happy at the end! That's all that matters, right?3 -
How is coupling backend + frontend as a single nextjs app a good idea? What the fuck is this?
What if you have to create new replica sets of a backend because of high load pressure? What about load balancers?? What if i want my backend to be a microservice? How do i unit test the backend if its cluttered with frontend? WTF IS THIS
WHY DID NEXTJS THINK THIS IS A GOOD IDEA AND WHY DO SO MANY DEVS LOVE THIS IDEA AND GLORIFY NEXTJS?
Nextjs seems like the type of framework that was built by a frontend web developer who just refuses to learn backend technology at all costs.
---
its been a few hours and the concept of nextjs is bending my mind rn. I thought nextjs is just another frontend framework. A react killer. Only to find out its both a backend + frontend framework.
Cluttering backend stuff into frontend is gonna get messy no matter how much you try to modularize the code. Am i lost or am i right???
---
Scratching my head over nextjs. Looks like a great framework for small-mid project but definitely not large project. The more shit the project needs the more messy shit become. Angular has modularized all of this in separate folders -- components services guards interceptors (now new stuff coming called Signals) etc. All of it is separated in individual folders and kept frontend-only. Simple enough. No backend clutter
---
Can i even use nextjs strictly as a frontend framework while it uses my custom backend built in java spring boot? For example use nextjs /api/ folder to handle custom routes built outside of nextjs framework?
Am i insane here20 -
AndroidOS.
Why: well it's built on Linux kernel so first good thing.
Due to open source everyone can get cheap (under $50) smartphones running on Android with millions of app to access. We can create custom ROMs.
Your one app can target billions of people around the world and so much more...
PS: half of the Play Store apps are shit.4 -
Fuck you, previous lead architect dictator! I spent a year arguing against your rigid nonsense custom built bullshit, and a year and a half after the client finally caught on and got rid of you I just got bitten yet again from one of your retarded over-complicated "solutions" to problems that never existed in the first place.
I wish I could send you an email and tell you about how I have thrown out all the useless shit you created and that we are all clearly better off now, but instead I will just share my frustration on DevRant and hope you read it and know exactly who you are.
I feel sorry for your current client.1 -
One of my most arrogant customers was one that constantly called support because she could not get things to work as she wanted.
We repeatedly told her that she was working against the way the system was built and that was what was causing her problems.
This was not a custom system for that customer but a cloud product we where offering with over a thousand customers on and it was designed with a certain workflow in mind.
Despite this she always complained that the system was wrong and we needed to fix it.
She was also always late for her deadline complaining that she did not get the information from her bosses in time and demanded we help her get it done :)
But I was fortunate that everyone at our company held a unified position that it was not out fault that her bosses gave her info late or that she tried to do things in a way the system was not designed for.
So when she got to aggressive we just offered her to go somewhere else.
I thing they finally did, after about two years.1 -
OMG... this client is killing me...
So they are writing a Java / SpringBoot app for whatever. For some reason they decided to write it in the overcomplicated way, i.e. using a custom Spring's BeanPostProcessor that changes the eventual type of some beans, causing some weird ass issues, causing the app to fail to boot up if built on some systems and start up just fine if built on others (https://stackoverflow.com/questions...).
I've advised the client (devs) to simplify the architecture and avoid using type-mutating BPPs (bcz.. you know.. noone does that..).
Instead, the client created a task for me to "remove the build logic creating JAR packages" and another "Create a shell script manually assembling the CLASSPATH list and launching the application"
omg... what the hell is going on? Am I on camera? This can't be real... in 202-fucking-4 in a greenfield project!!!
wtf...1 -
I've always liked Windows more than MacOS, but known deep in my heart that MacOS is more polished. More shiny, attractive, makes more sense, is easier to use, etc. Windows was never that far behind (however, they were probably furthest behind in Vista and 8), but they were always behind.
Looking at the new MacOS, I genuinely think that Microsoft offers a better experience now. While Android and iOS are still firmly battling, Windows just beats the living shit out of MacOS.
Windows is an OS built for either touch or mouse. If you use touch controls, the OS automatically adapts to it (larger context menus if you press and hold, smaller ones if you right click). You can enter tablet mode. The start menu has a good interface for both touch and mouse.
MacOS is an operating system designed for touch input on a device which famously has none.
It has fallen victim to a very common design error: too much fucking spacing. Every little thing, even items in a list, has a ton of pixels between them, and they all have rounded corners. Again, this is common for touch displays where you don't wanna fat finger stuff. But they don't offer a touch screen Mac and have expressed no interest in ever doing so.
Now they're going ARM on custom silicon. This is a good move in the long run, but it's going to be a rough couple of years. Apple admits two. You can probably reliably double that.
Is Apple killing the Mac on purpose or by accident?5 -
Client email: so you know that custom thing I wanted on my website that you made and I refused to pay for? Could you just send me the code, I'm gonna write my own.
*Staring at screen in disbelief and laughing*
Even if you were an awesome client, and you had paid, I still wouldn't just "give you my code" so you can write your own. You hired me to do it because you CAN'T not because you didn't want to, not because you're lazy, but because you are not mentally capable of making your own.
Me: I'm sorry, but I'm not sure you would even know where to start with this, what was wrong with the one built?
Client: I wanna put the code in my Salesforce so it can run the API request and automatically make a lead for me.
My code takes fields from a form, runs the data over to the API, gets the response, allows for user confirmation that the information is correct, and then sends all the relevant data to Salesforce as a lead.
Me: But that's exactly what mine does, just does it from your website where users will be entering the info, and once they've confirmed it you get a Salesforce lead.
Client: well some of my leads come from other places and I want to simplify everything.
Me: no, not possible, sorry.
If you didn't have 25 different websites for one company then all your leads would come from the same place and it would be simple.2 -
I just recently started working on a product that uses MaterialUI.
I’m not saying it is bad, but it is frustrating me. As a person with a very strong understanding of CSS (SASS mostly), it is frustrating to see the framework try to make things easier while making them entirely more hard.
It would take one or two classes do a thing in SASS but instead it is accessing a bunch of sub classes already built in and modifying some aspects. And then having to add custom css-in-js for other layout needs.
It feels wrong for 1 element to have 2 different methods and areas to house it’s own styles.
I’m sure I’m going to get used to it soon enough. But it is frustrating now. -
Fuck MS Word and every other WYSIWYG editor for text AND especially if said editor is a custom built abomination made of PHP and JS.4
-
Built a quick mockup for a custom CRM as the client was unsure about the UX/UI and wanted to see something before going ahead, used an online tool for the example.
Client wasn't happy when they saw the overall breakdown of costs. They didn't want to pay as much because "most of it was already built"5 -
Can next week topic be "Your desktop parts and price" or " Story of your first desktop"?
I'm planning for my first custom built desktop 😁8 -
Needed money for my company, not enough clients to support business on SaaS alone. Took on a 5k / month job building a platform that competes with my SaaS (more niche, less generic). Also sign up new client who that company's owner is part owner onto my current SaaS. Win / Win?
I do a lot of custom work to my platform to fulfill their needs, which is why I ran out of time for the 5k / mo project. I did these customization for free. Losing money to keep client, but also improving my system.
Work gets busy, I need to drop the 5k project. Client is upset I am working more on his other company (he is not majority owner). I return 1 month of funds to the owner and say I cannot continue.
Owner threatens to make other company that he is part owner stop working with my software if I do not complete project. Blacklisting...great. I agree to work with an overseas developer to do it and PM it for 3 months at least. Making nearly nothing from it (now 1k / month for PM), working nights to deal with India, losing sleep...
Other company suddenly folds due to conflict of egos with that SAME owner. Users drop from 16 to 1. I drop the project, no more strong arming me. Everything is a loss, all effort and money lost for nothing. Bad bet..however...
Owner becomes 100% owner of the other company, and of the software company. I transition him to PM his own project, he still uses my software because It doesn't, nor will it, ever do what the one he is building does. Also, partners from previous company break off and use my software again. New Client. #profit.
But holy hell was it stressful in the interim. People's business tactics are disgusting. Stay calm, play it neutral. Win. Sometimes you have to do what you don't want to do in order to succeed...at least for a little bit.
I was so scared that how he screwed his partners he would screw me over as well if I built one of the modules I have planned for my System, but haven't done yet.
If I did it for him first and then built my own (totally diff codebase) I really didn't want to run into any legal issues considering the schematics he has now are mine, but I didn't finish that part of the system for him. He is obivously highly competitive. Even though he wanted me to, and still does, want me to run his company for him.
Who knows, maybe in the future. To be CTO / COO of two SaaS CRM's in the same space may make sense. But I will never sell my software to him or partner with him. Too much drama. Avoid the drama. Be careful out there fellas.
If you are a creator, people will take advantage of you in every way imaginable. Read the fine print, read the people, document everything. Don't put yourself at risk. -
Here is a personal project I've been working on lately. It's not public, but just wanted to share. It's a custom chatbot I created using a LAMP stack. Its built on top of a framework called Program-O to handle the knowledgebase storage and processing along with some basic NLP. I added the web speech api functionality myself so it supports recognition as well as speech synthesis. Anyways, pretty proud of this one.
7 -
So I was looking into phone app development again (as you do) and I'm working on a simple QoL app for me and my SO that will help us automate some home management and finances stuff. Naturally I delved down the rabbit hole deep and wanted to have push notifications so we don't have to check the app periodically to know when certain things happen... Oh boy... Why is mobile development so convoluted, especially if you don't want to rely on Google Services...
It seems that the most accepted way of doing this is Firebase (FCM). Well me being me, I refuse to use google services for this and I prefer self hosted solutions (for data privacy reasons) which eliminates most products out there.
It also didn't help that my framework of choice is Flutter/Dart, because fuck Android Studio and the insane buggy XML stuff and fuck Android and it's constantly changing APIs...
Well In the end I decided on a rather simple solution and self hosted an AMQP service (RabbitMQ in my case, as I have some experience with it already) and implemented a foreground service in android platform specific code on top of my flutter project to kickstart it and made my phone a queue listener... This now means I can push notifications from my server to the Messaging Queue and it will be pushed into my App automatically!
One thing I found out on this journey was that Android now kills most background services and enforces foreground services to have a visible notification in the status drawer... which I actually approve of. It's a bit annoying that you can start a reliable background service, but I'm absolutely on-board with long running processes started by my apps are constantly visible...
Long story short, I love reinventing all the wheels, especially if it's for free and private... And I also went to sleep at 2AM again because this took longer that I'd like to tune... but it works, and it's google free...
I'm thinking of trying to package this up as a flutter module later, but first I want to do testing on battery life and the general life cycle of the service. RabbitMQ says they have the client library optimized for long-lasting connections and it should be just using a tcp socket, which should pretty much be what all the push notification services are doing anyway. I'm also not completely satisfied with how the permanent notification looks.. it isn't collapsible like some of the other ones from other apps and it's about 2 lines high instead of single line... which is something quite annoying and I'm struggling to find any relevant docs on how this is done other than possible making a custom Notification Style... but I just can't believe that everyone is doing that.. there must be a built-in somewhere -_-... Ugh Android is hell...
Anyway, if any android devs here have some hints, tips and tricks on how to handle this type of background/foreground process stuff and I'm doing something wrong let me know, cause googling this shit is a nightmare too!7 -
For fuck's sake, what are the creators of tailwind thinking? So, I made the mistake of upgrading to tailwind v4 and now my site is broken. Who in the fuck thought removing half the features is an "improvement"?.
wE've mAde ConFiGUraTion EaSier with CSS.
Sure, let's see. It sounds neat on paper, a "CSS-first" approach. But when you've got existing projects with a meticulously crafted tailwind.config.ts file, it's not simplified at all, it's a migration nightmare. Suddenly, my custom colors and breakpoints are all gone or behaving unpredictably because the new system decides to interpret them differently.
Do these people actually work on any project that is long-term or is everything they work on just green-field?
Because when you have hundreds of pages and custom built rules, and now eveything is broken for no goddamn reason, it's not fun, is it?
I've now wasted days on this shit when I should have shipped so many features.
I simply can't wait to switch my career to something else. Like, this stuff is just so bad man. Come on.13 -
Question: We are planning to transition our old ES5 codebase to modern ES6/ES7 and even typescript.
What would be the build tool you would recommend if we want to start supporting ES6/ES7 and even Typescript?
Webpack, Vite some other?
This is a vanilla Javascript Project with large codebase it's been built using custom build tools like UglifyJS and UglifyCSS and of after lots of begging it finally got the green light to move to a more modern build tool and start supporting a more standard JavaScript Features.
Mainly I want to move to TypeScript but transition would be slow so the build tool would need to support .ts and .js as well, that is traspile both the .ts and .js into one final production build.
What build tool would you recommend for that?8 -
TL;DR - an entire emulation of a closed source CMS to develop a theme
The longer version:
We are using a cms that is closed source, and we only have access to frontend files alongside twig files. The CMS is custom built but many aspects are in a very rudimentary state, for example it is nearly impossible to develop locally, we have to use an integrated text editor to code stuff.
So out of frustration, and for my development needs, I decided I would make an emulation based on Symfony 4. Also because my PM was pressing me to optimise our site. I wrote some custom JS to handle everything smoothly, a semi-sass framework and well-structured twig files.
I was also supposed to work with our graphic designer, but she didn't get any alloted time from our pm to work on it...
Now PM asks me to write a specifications document in order to make another company build the new version
I mean wtf, I'm so bored, I can actually enjoy my day by coding, and no, I'm just there to write the specs.
When I told PM I am currently building the new version, she's like "but we didn't validate anything", when she explicitly said I had a green Go to code it a few months back
Instead I have to make prezies and convert them back to PowerPoint because we have computer-illiterate people in the company who aren't flexible to understand simple tools.
Let's hope it won't get useless by Friday (I have a presentation to give, alongside my estimates and project management presentation)1 -
using a built-in terminal in vscode instead of your custom dedicated one is like buying your phone from a carrier. Or like marrying your first gf/bf and living with them together without ever trying to date someone else first. Or getting your sprite from mcdonalds.12
-
We are having a history lesson updating a system that was built around 1985.
It's a custom built sales and customer tracker, programmed in Clipper, which is a superset of xBase, that is a language that appears to be data orientated. DosBox and Dosemu have both failed to run it, the programs loads and indexes just fine, but when it gets to the program dashboard it shows the options and doesn't seem to accept any input, though it appears to be running as the time updates (any ideas?)
Tried compiling the source using harbour, compilation fails, something about "time" having too many arguments and other obscure errors. Urgh.
Dbf files are easily converted and opened but really we want to view the working program to see the relations so we can translate the data models.
It's both fascinating and infuriating at the same time. -
Today spent 20min in a senior android dev interview debating an ex backender CTO about the importance of final classes where he tried to pull out some sort of perfect answer from me about it. Ironically this is the same CTO who failed managing a previous android contractor who was supposed to rewrite old app and ended up with an even shittier new app in 6 months of time. Now they are insecure and are looking for a new contractor who will be micromanaged this time.
But hey I guess he knows the importance of final classes. Some CTO's need a reality check and at least some business training, because your perfectly written app is useless if it doesnt fulfill business needs.
Their app is based on heresdk and built around navigation. The biggest bottleneck is that it works shitty on low end devices so their competition solved this problem by using a whitelabel rooted tables with a custom ROM wher u have full control over hardware, permissions and battery management. However this startup thinks they can build a perfect navigation app which will work perfectly on all devices while at the same time while also relying on a poorly optimized navigation sdk. Poor initial strategy I'd say and they didnt learn from previous 2 failures, now they are searching for the next savior android contractor who will have to solely implement evrything. -
So here's what I'm putting up with for the last 6 months, clients..
A client proposed to me a project he had in mind. Project is pretty solid, could have a bright future. Since they didn't have the money to spend, we agreed on a % of the income they will earn from the project. So, let's say I get 20% of the income in exchange for building the application. I didn't receive any down payment or payment of any kind.
Just for info, project is a Web application/portal and it is ~80% done at the moment. Client provided a logo and a wireframe/ideas/pictures how he sees the project. I built everything, from DB to Frontend. Also, project is completely custom made, no CMS or anything. Project will make profit by subscription base, every user of the project pays.
For various reasons, we did not yet sign a contract. So, what is my issue...
Client sent me his proposal of the contract, said it's solid stuff, just sign it. In the contract, it stated that he owns the application in full, can sell it, etc. and I get % of the price. There were also other sneaky parts about me having all the responsibility but owning nothing. I naturally declined and took a lawyer to construct a normal contract.
My proposal was/is, I own the application(source code) in full. They are obligated to pay the monthly percentage and can use the application normally and make profit. At any time, application can be bought by the client if they pay for the development. So, basically, they are getting the application to use "for free" with no initial payment/investment. And this is a long term deal, they can use is as this as long as they want. Also, if they go bankrupt at any time, no penalty or payment is needed, the risk is mine.
The client refused and what he claims is the following...
His share in the project is 80%, mine is 20%. If project is to be sold, I get 20% of the price. So, meaning, if we go to production tomorrow, if I want to buy his share, I have to buy 80% of the application I built entirely. Also he is convinced that by "telling me" what to built he's owning everything. In his words, he dictated me the notes and I'm just playing the violin.
I am having trouble explaining to him that he is getting the application to use and make profit basically for free and cannot and does not own the source code unless he buys it off. We are going in circles, I send him the contract to review, he changes it and returns it back. Also, he removes the parts where it is clearly states what he provided and what was done by me.
So, we kind off agreed on the authorship but in the case we break the contract he wants to be able to use the application for 3 more years.
Was anyone here in a similar situation? How do you handle this kind of situations?3 -
//long rant ahead!
I need to plan a Wiki with SharePoint for not connected Sites.
Im now in dispute with my CoWorker since 3 Months, this is how the conversation goes. My two bosses are involved in this and also unhappy about SharePoint.
[C refers to CoWorker, M for me]
C: Hey, we finished SharePoint with Selfservice Storage Rooms. They even have a Wiki.
M: Okay cool, will check it out
C: Well we need to also plan the Wiki inside, I already asked our Department Head and he agreed, that you will be the one.
M: Okkkkaaayy, normaly it's your job to do such things, but welp, I will look into it, if we can work with it.
(2 Weeks pass)
M: I checked SharePoint out and tested everything. The Wiki is a Nogo, we need a other solution or programm for ourself a Wiki Integration/Engine. Did you maybe check out Confluence? It has also a SharePoint integration plugin.
C: We wont do Confluence, too expensive (already overspent the budget for SharePoint in six digits 🤬). Also we wont add to SharePoint Custom Code, it needs to stay standard.
M: Thats impossible, SharePoint Wiki is shit and also handels sites just like documents, no brain behind! Also you overspent the Budget and now it's my Problem?!
C: You need to do the best out of it.
(3 weeks passes and we get a meeting with the department heads)
M: Alright I made a UseCase and documented where the essential flaws are in SharePoint Wiki and why we cant use it.
Boss: Ok if it's impossible to use, then we will stay on our Fileserver for Documents and wont use SharePoint.
M: Thats not my Point, my statement is, as status today, SharePoint Wiki is not the right solution, code or buy software to it.
Boss: We will do a Prove of Concept, if it doesnt work then we will aboard it.
M: Well it is only some missing essentials, like hierarchy and Groups for the Pages, Example Confluence has this. If we could built in this features in SharePoint, everything would work out.
C: (angry) I told you that we wont use Confluence!
M: (calm) I said we need Features, not Confluence. Please mind the consent.
(3 weeks passes, and one more meating with bosses)
M: alright here again is a analyses, why already in Theory the current SharePoint Wiki wont work. It's already flawed in the core.
Boss: Yea SharePoint is crap, I checked out confluence and thats a real Wiki.
C: Well I dont know anything about Confluence and never looked at it. But if SharePoint is a fail we need the Proof of Concept.
M: Why do we need to do a Proof of Concept, when it already doesnt work in Theory! Thats nonsence and unlogical.
Next meeting will be in 4 weeks and I will give him the FUCKING PROOF OF CONCEPT. I will be a Bastard and build behind CoWorkers back a Confluence Wiki to show the Departmentheads how to built it right.
I hate CoWorker now, he makes a part of my loved Job a hell, I will goddamn cuk Coworker to space, that fucking Cukatron of lazyness and shit 🤬. I provide the Solutions and you just say no, how dafuq will the project advance, if you always say NO! Are you so unflexible and fixed on your Castle of Ignorancy!5 -
Hey guys. I am in a situation where I need to decide wether to take on a new project or not. And if not, how to turn down that client so that I would not burn any bridges. So I need your opinions on this matter in order to make the final decision.
To make things clear heres some background info. 10 months ago I quitted my fulltime position in another EU country and went back to my own home country. 10 months forward till today and I have my own ltd company which currently has 5 projects. Its doing pretty well money wise. All projects combined, I already earn more then I ever did and I need to work max 10 hours a week since all projects are remote projects so I dont waste time on useless meetings and etc. However I dont feel fulfilled or challenged anymore because surprise surprise doing well paid projects doesnt guarante your sense of fulfillment.
So I noticed that I have lots of spare time which I spend diving into rabbitholes with hobby projects. I decided that its time to scale my company and take on more projects and maybe even hire more people.
So I started searching for other projects I could work on (prefferibly remote projects or flexible ones where I could come in 2-3 days a week in office and work remotely rest of the week). Reason being that I am already out of sync with fulltime position lifestyle and I am totally result oriented, not punch in my hours and go home oriented.
For exampleIf i get my weekly tasks I prefer to do them in 1-2 days (even if it requires doing double shifts which rarely but happens) but then I want to have rest of the week off. Thats how my brain works and thats how Im wired. I cant stand fulltime positions especially in enterprise bigger companies where I come in and do maybe 2 hours of actual work everyday because of all useless meetings and blockers from backend/etc. Its soul crushing to me.
So I posted linkedin ads and started searching for new clients/projects. One month ago I went to an interview for an android project in a startup.
The project looked interesting enough. Main task was to rewrite their android app from java to kotlin. Apparently their current current app was built by a backend developer who wants to focus solely on backend.
So during the interview they showed me their app which was quite simple frontend wise but not so simple backend wise from what I was able to figure out.
Their project lead (also a backed guy) asked me my estimation of price and completion of task. I told them maybe 2-3 months to do everything properly.
Project lead was basically shocked because all other candidates told him they can rewrite the app from java to kotlin in 2-3 weeks. I told him that everything is possible but his app quality will suffer and for a better estimation he would we would need to sign an NDA so I could evaluate the costs. So we ended the interview.
After that we kept in touch for one month (it took them one month to google a generic NDA and sign it digitally with me).
So heres the redflags I noticed:
1. They dont respect my time. Wasted 1 month of my time and after signing NDA gave me 2days to estimate their project and go to a meeting and give them detailed info about what I can offer. I thats not a brain rape then I dont know what it is
2. They are changing initial conditions we talked about. We agreed on rewriting the codebase and be done with it. Now they prefer a fulltime worker who would be responsible for android app as his own product. So basically project lead was not able to find a fulltime dev so now hes trying to convert me (a company owner) to his fulltime worker.
3. Lack of respect. During the interview he started speaking in his own native language to me with some expression (he seemed pissed off at that moment when he switched languages).
4. Bad culture fit. As I said Im used to relaxed clients and projects where I dont need to be chained to a desk a monitored and be micromanaged. I mean lets sign a contract give me access to your codebase and tell me what to do, I will produce results and lets be done with it.
5. Project lead is a backend guy who doesnt understand how complicated android apps can be. No architecture and no unit tests are in his frontend app. He doesnt care about writing proper app since he ships it in his own device so he doesnt need to worry about supporting custom devices or different api levels of android and etc. But not having any architecture? Cmon.
So basically I am confused. Project lead needs a fulltime dev but hes in contact with me in hopes that I would sign a fulltime contract. But how I can work fulltime if all what I can see are redflags?
Basicaly I thinkthis was a misundersanding. Im searching for fulltime remote projects and hes offering fulltime inhouse projects. Project lead never outsourced so hes confused as well.
As you can see decision is already basically made to turn him down, I just need to know how to tell him to fck off in the most polite manner and thats it.6 -
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
As if that weren't enough, there's a beanshell interface to allow users to script the test system, but none of the users know Java well enough to feel confident writing interpreted Java scripts (and that's too close to JavaScript for my comfort). I once tried swapping this out for the Rhino JavaScript interpreter and got all the verbal support in the world but no developer time to design an API that'd work for all the departments.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2 -
Went into a client meeting to present pricing, timescales etc. for custom web app. After a short period of chit chat they tell me they've gone way over budget. They explain to me that they'll need to close their business if they don't get this thing built (the business consists of him and the other guy at the meeting). They currently have a website that is an e-commerce type deal, apart from the checkout process doesn't work! They basically want me to do it for free.
I may consider if I was going to benefit from new clients etc. but I'm not.
However, the problem is that one of my companies has been (IT) supporting this guy's other company for around 5 years. It's a bit of a shitty situation as that contract accounts for about 15% of our income.
That meeting was last Monday and I told them I would think about it. I have another meeting this Friday and am thinking I'm going to have to break the news gently ffs.3 -
Why haven't I learned about js fetch before now. I've even used socket.io!
Fetch is amazing and I just built a function for using fetch with WordPress AJAX hooks. Yes I know it's WordPress and there's jQuery but all of my custom plugins use vanilla js as a little fuck you.
Oh yeah but ie doesn't support it at all2 -
Gradle,Android Studio
Boss: Great job can we change the UI by using a custom view..
Me:Hesitating a bit sure we can.Head back to my station and consult Stack overflow and start implementing.
Boss:Five minutes later you done and how is it so far.
Me:Am done am just rebuilding and cleaning my project yet in reality ain't done.Gradle built time to my rescue.
Boss:How comes it taking long yet you got a high end machine okay then let it built.
Me: Breathing a sigh of relief thanks gradle1 -
My setup, seeing that people are posting theirs.
+ BenQ 22" monitor
+ Custom-built PC
+ Fried i7 motherboard :(
+ Working i3 motherboard
+ 2 Green fans (top, back)
+ 2 Red fans (front)
+ (not-working-well) CD/DVD disk
+ 2G WD hard drive (not SSD :( )
+ 4-port USB 3.0 hub
+ SD card reader (with 3 more storage devices it can read)
+ Webcam
+ HP DeskJet Ink Advantage
+ Horrible mechanical keyboard
+ Special keys (music player, play/pause, next/prev, etc.)
+ Mouse that doesn't stop glowing
+ Awesome speakers
+ 4 lights
+ Water jumps through the lights whenever audio rises
+ Xbox 360 S (2G internal storage: Ugh)
+ Speakers connected to Xbox 360
+ Desk Lamp
Software:
+ rEFInd
+ Arch Linux
+ Plymouth
+ Systemd
+ i3-gaps (Me)
+ GNOME (full) (for rest of family)
+ NeoVim
+ XTerm
+ Cmus
4 -
Anyone into road bikes? What’s your ride?
My last ride was a custom-built Mayak fixed gear. Couple of facts about the geometry and the bike as a whole:
1. Even on 165mm cranks, the crank overlapped with the front wheel not by the pedal, but by the crank itself. Because it was a fixie, turning at a wrong moment could send you flying.
2. The stiffness was immeasurable. We’re talking Joe Biden at a kindergarten levels of stiff.
3. It was a rocket. You hop in, make two turns and boom, you’re half way across the street. When we raced with road bikes on urban endurance courses, they were WASTED by the end? Me though? Barely sweating.
This bike was a great metaphor for my personality. Awkward, unforgiving, rigid, chaotic, over the top, difficult, yet brilliant in a very narrow range of specific tasks. A true glass cannon.
7 -
Getting settled on a new team. They are using this custom built Dependency manager/Build tool. I’ve now wasted 2 weeks trying to get it up and I haven’t started my actual issue item yet.... sigh I wish I was on the team that uses Gradle.1
-
Storing ToS in Database.
So, all my life I've built custom software for businesses that do no intent to be used by public.
Now I am developing an online store and the user has to agree to ToS before signing up. I was wondering, if the users agrees to ToS should I store it in database that he accepted? If yes, will it be just a boolean or a text.
P.S. Living in U.S.A.6 -
Mine was quite recent. I discovered that there's no real pre-existing way to create an SQL statement in C# when the number of targeted columns and the number of conditions is not predefined, so I custom built a reusable class that I now keep in my collection of tidbits.
Of course, someone here is going to tell me that there is something already.4 -
Are you content with your job or always searching for greener pastures?
I'm split inbetween. Current pay is very decent and working conditions are flexible. However, the work itself is not always that great. I find it to be comedically true how "hard workers" don't get promoted or bonuses, they get more work. There has recently been a heavy influx of what I'd like to classify as "shit tickets" since a guy who was the main "shit ticket doer" left the company after being burnt out.
I work with a small-ish digital agency as a BE dev, so I'm mostly dealing with small to medium scale projects built with WordPress/WooCommerce, with often custom API/ERP integrations on top. I'm not a big fan of the stack as a developer but as a contractor I can understand the business reasons why it is used. Part of me wants to find something else, part of me thinks I'm looking for a perfect company that doesn't exist and I should lower my expectations -- I might find better work for sure, but with the same pay and conditions? It seems unlikely at the moment. The company was recently acquired, so I'm hopeful for the future.3 -
Been way too long since I did something that wasn't WordPress, so I decided to take some spare time this weekend to scratch-build something and get around to finally learning how to transition from Foundation 5 to 6 while I'm at it (since jQuery compatibility requirements mandate I finally make that jump going forward...).
Started off with a plan for a custom-designed CMS built around a personal research project I've been doing. Worked it all out mentally. Then got started and realized I probably want to start by securing the system and provisioning for user accounts, so I've been working on that all weekend so far...
On the plus side, I've written a pretty nice user management module for any future personal projects, and have *finally* gotten around to learning how to do prepared statements in MySQLi.
On the neutral side, I still haven't gotten around to building any of the substantive stuff I set out to work on this weekend because I've been helping a friend out IRL with some non-programming stuff.
Such is the way it goes, eh? Hoping tonight I'll finally finish up with the administrative items and be able to get down to building the actual meat of the project. -
Checking out Meteor JS in 2020 after a loooong time in which I ignored it. I participated in the community when it barely startted, liked a couple of things, was effy about some others.
Built a semi large app (custom user auth through ldap, multiple forms and data fetches on different components inside of each page, reporting bla bla bla.
Did it first in just Meteor and Blaze (pretty easy to digest) and then with Meteor and Svelte (still easy to digest, but Blaze was simpler imho) and both packages totalled less than 100mb which is somewhat amazing considering how node is with packages.It might be a good time to psy attention once more to meteor.
I based much of my shit in the now free Discover Meteor book, there aren't that many breaking changes, which makes it surprisingly stable as an application for development.
I don't know if i would use it for s large scale app, but thus far it seems fairly promising as compared to how it was years ago.
Definitely something to keep in mind for 2020-21 development5 -
So I was browsing the https://travis-ci.com website and was bothered by the weird gradiants, familiar layout and awkwardly timed animations (normally I only use https://app.travis-ci.com).
I navigated to all their top-level pages and paid attention to the incoherent/ sluggish design (see screenshot). So I got this feeling that it was a cheap-ass Wordpress template purchased from Themeforest and implemented by a webmaster with little to no dev-skills.
Sure enough, I checked the Wappalyzer extension and it is using Wordpress. Compare that to the old https://travis-ci.org which was custom-built on Ember and looks professional.
I'm aware of the negative PR they have generated over the past year but gave them the benefit of doubt and they have been good in their support and credit allotments, but man... that WP site looks so amateurish and marketed to the wrong target group. I don't know maybe I'll be forced to reconsider
4 -
As you all know I'm no professional, I may still be called a noob. I need some help getting into machine learning and stuff. As most of you are gonna recommend some books. I'm making it clearly that I cannot afford books right now as my budget is already fucked up for the sake of a custom built Origin PC. I seriously want to get into that stuff. Help me my friends at Devrant.6
-
I way under-quoted this custom CMS.
I thought ContentBuilder.js was going to be a better plugin. Documentation is lacking, I've run into a couple bugs, and the thing looks like it was built 10 years ago with iframes for image uploads...Ugh.
On top of that, I didn't realize how much work certain things would be like the drag and drop menu builder. Yea....it took 4 different plugins to find one that works well with nested items.
I'd say I'm 60% through and need to be 90%. I'll probably start cutting corners unfortunately :(2 -
I'm gifting a custom macro pad built using a Raspberry Pico to my brother. I don't want him having to reprogram the pico every time he wants to change macros. Do you know of any program that allow him to change it easily or do I have to create my own?
Thanks!1 -
So i just learned aws elastic beanstalk (EBS, ECS, ALB, EC2, Amplify, S3, RDS, SQS)
Essentially i learned how to operate with aws to deploy a full stack web application with custom backend i built, with security and jwt token, certificate manager, ssl/tls to set up https and redirect from http, and react/angular/nextjs on frontend
All with custom CI/CD pipelines docker and other devops shit
But i still feel like im missing on A Lot of stuff regarding aws. I havent worked with Fargate for example and dont know how it works or when to use it, but i heard other devs use it
Can someone list me a number of things i as a dev should know more regarding aws?3 -
Installing ubuntu on a 2005 custom built computer to be used as a personal server is by far the biggest bodge I've done in a while
6 -
A year ago I built my first todo, not from a tutorial, but using basic libraries and nw.js, and doing basic dom manipulations.
It had drag n drop, icons, and basic saving and loading. And I was satisfied.
Since then I've been working odd jobs.
And today I've decided to stretch out a bit, and build a basic airtable clone, because I think I can.
And also because I hate anything without an offline option.
First thing I realized was I wasn't about to duplicate all the features of a spreadsheet from scratch. I'd need a base to work from.
I spent about an hour looking.
Core features needed would be trivial serialization or saving/loading.
Proper event support for when a cell, row, or column changed, or was selected. Necessary for triggering validation and serialization/saving.
Custom column types.
Embedding html in cells.
Reorderable columns
Optional but nice to have:
Changeable column width and row height.
Drag and drop on rows and columns.
Right click menu support out of the box.
After that hour I had a few I wanted to test.
And started looking at frameworks to support the SPA aspects.
Both mithril and riot have minimal router support. But theres also a ton of other leightweight frameworks and libraries worthy of prototyping in, solid, marko, svelte, etc.
I didn't want to futz with lots of overhead, babeling/gulping/grunting/webpacking or any complex configuration-over-convention.
Didn't care for dom vs shadow dom. Its a prototype not a startup.
And I didn't care to do it the "right way". Learning curve here was antithesis to experimenting. I was trying to get away from plugin, configuration-over-convention, astronaut architecture, monolithic frameworks, the works.
Could I import the library without five dozen dependancies and learning four different tools before getting to hello world?
"But if you know IJK then its quick to get started!", except I don't, so it won't. I didn't want that.
Could I get cheap component-oriented designs?
Was I managing complex state embedded in a monolith that took over the entire layout and conventions of my code, like the world balanced on the back of a turtle?
Did it obscure the dom and state, and the standard way of doing things or *compliment* those?
As for validation, theres a number of vanilla libraries, one of which treats validation similar to unit testing, which seems kinda novel.
For presentation and backend I could do NW.JS, which would remove some of the complications, by putting everything in one script. Or if I wanted to make it a web backend, and avoid writing it in something that ran like a potato strapped to a nuclear rocket (visual studio), I could skip TS and go with python and quart, an async variation of flask.
This has the advantage that using something thats *not* JS, namely python, for interacting with a proper database, and would allow self-hosting or putting it online so people can share data and access in real time with others.
And because I'm horrible, and do things the wrong way for convenience, I could use tailwind.
Because it pisses people off.
How easy (or hard) would it be to recreate a basic functional clone of the core of airtable?
I don't know, but I have feeling I'm going to find out!1 -
Ooh this project.. So I was put in charge of creating new pages, and general maintenance as the site was already built by a previous dev on the team before i joined the company. I take a look at the design, fairly strange forward quick analysis most of it bootstrapable, some custom code is needed for some parts so no issues there.
Looks at the code, only the bootstrap grid system is being used, the rest is custom code, an additional 9K lines of CSS and 526 lines of JS. What the hell is this.2 -
LOL XCode....I think they meant "X"tra useless, resembling such as a bag of dicks without handles!!!!
Also, being fucking buried because there's aren't any devs anywhere to be found near me makes me extra cranky!
Ive been hammering away at this Flutter, Java, Swift, Python, and Google maps for just about 36 hours on 3.5 hrs sleep. I just can't stop, I fuckin love this shit!!!
Considering the fact that I'm self taught and just started writing code for real about 7 months ago, I'd say I'm handling this alright for now. Every bit of tech is getting shot out of a cannon at this one- maps, real time tracking, state level auth/Id verification, custom components like ID scans/native desktop applications on custom linux machines, body cams, SIP trunking... all in 3 apps which are 100% multi-platform and scaled up to high end enterprise levels and being groomed for national release. I'm writing the code and doing the tech for ALL of it- even down to custom painted barcode scanners, a wallet system built from scratch, GPS integration, location/geofence based document querying... holy fuck guys I'm gonna fuckin die haha!!!
I went from barely getting websites made in late summer to this very moment, where I am pumping shit out in Flutter, Dart, Python, CPP, Js, Swift, Java, Kotlin, Obj-C, SQL/noSQL, and who knows what else.
I don't even know what the hell I just said haha I hope everyone has a great day! -
firstly, does anyone know of an online telegram or whatsapp group where i can ask silly stuff regarding web dev and get immediate answers, just like it is here?
secondly i am trying to learn js and there are just too many related terms that are messing with my brain:
"some features are supported ines5/es6/es15/es16/es17 , some are supported in chrome's v8/chakra/spidermonkey/android browser , some features are only supported in "serverside" and blocked in all browsers thanks to browser's vm environment; babel can't read this code, some features are provided only by node js..."
WHAT THE MESS IS THIS?
All i am trying to do is to write code that would make a website visible to everyone. if by specific browser , i want to target, chrome and its subsidaries and android chrome/other android browsers .
for other browsers am willing to make external converters later but don't want to change my code by 1 bit. And from what i know, each browser (at least the browsers am thinking of supporting) has the complete JS compilers already built in
can i or can i not built a complete functional website with those things?
and finally my main question : how to make custom exceptions in vanilla js? i saw this answer on stack overflow:
===================
function InvalidArgumentException(message) {
this.message = message;
// Use V8's native method if available, otherwise fallback
if ("captureStackTrace" in Error)
Error.captureStackTrace(this, InvalidArgumentException);
else
this.stack = (new Error()).stack;
}
InvalidArgumentException.prototype = Object.create(Error.prototype);
InvalidArgumentException.prototype.name = "InvalidArgumentException";
InvalidArgumentException.prototype.constructor = InvalidArgumentException;
Usage:
throw new InvalidArgumentException();
var err = new InvalidArgumentException("Not yet...");
=====================================
where is the error code? what would be the exception details? what is the line number/timestamp of error?why is that function making an error, i thought error/exception is a class in JS?4 -
Modern Web Developer
(To the tune of "I Am the Very Model of a Modern Major-General" from Gilbert and Sullivan's "The Pirates of Penzance")
I am the very model of a modern web developer
I’m quite fluent with JavaScript; An HTML whisperer
My code is clean and elegant, I genuinely innovate
And even know my way around a Promise and async / await
I’m very well acquainted too with matters vector graphical
I understand why SVG coordinates seem magical
And even without Photoshop I elegantly can produce
A mockup or a logo in most any format that you choose
[Chorus]
A mockup or a logo in most any format that you choose
A mockup or a logo in most any format that you choose
A mockup or a logo in most any format that you choose
I'm quite adept at ES6 expressions like destructuring
I know the ins and outs of functional reactive programming
In short, in matters browser-based or Node.js if you prefer
I am the very model of a modern web developer
[Chorus]
He is the very model of a modern web developer
I know our mythic history, the humble start, the browser wars
I know why Douglas Crockford fought the battle over ES4
The World Wide Web Consortium and Ecma International
My knowledge of our legacy is truly supernatural
With LESS and SASS and CSS, designing for mobility
I’ll perfectly apply the right amount of specificity
From custom fonts and parallax to grid and flex and border-box
I know most every tip and trick both common and unorthodox
[Chorus]
He knows most every tip and trick both common and unorthodox
He knows most every tip and trick both common and unorthodox
He knows most every tip and trick both common and unorthodox
And when it comes to lazy loading, bundling up and splitting code
There’s nothing quite like Webpack, which of course is built on top of Node
Considering my resume, I’m certain that you will concur
I am the very model of a modern web developer
[Chorus]
He is the very model of a modern web developer
When new frameworks and libraries emerge I must be ravenous
And gobble up the hot new thing, my appetite is bottomless
React and Vue and Angular, Immutable, RxJS
The list will be outdated long before I'm finished singing this
My pull requests rely on multitudinous utilities
To help me lint and test and build, a deluge of analyses
And every single day there are a hundred thousand more to learn
The web is going through an irresponsible amount of churn
[Chorus]
The web is going through an irresponsible amount of churn
The web is going through an irresponsible amount of churn
The web is going through an irresponsible amount of churn
This pace is agonizing! Code from yesterday is obsolete!
The speed of innovation is enough to knock me off my feet!
It's happening too fast! I can’t keep up! I’m tired! It’s all a blur!
I am the very model of a modern web developer!
[Chorus]
He is the very model of a modern web developer!1 -
My first exposure to computers was when I was about 5 at least that's what I remember. My dad and his friend built custom rigs for people in their spare time back then (late 90s) I remember playing some racing game. Other than that o eventual got one of their old computers and used it for a really long time, replacing it with a gateway until high school then hitting PC gaming and programming I built my first custom rig with my dad.
-
Note: I had AI rephrase this because apparently it was too full of swearing or smth to be accepted and I was getting a "there was an error posting this rant". Nice that people at devrant's can't even show a clear error of WTF is going on, not even in chrome dev tool console/network requests, so maybe you're able to figure out WTF is going on and fix your post. They must be the same kind of people I'm ranting about.
-----------End of the note.----------------
TL;DR;: My coworkers are smart idiots that learn fast but can't control themselves into turning any project into a trashcan of spaghetti code and I'm burning out and want to switch for couple years to a simpler job.
I'm considering leaving my career in programming, consulting, and project management in favor of a more straightforward, manual labor job—perhaps something like baking or another role that relies on physical effort rather than constant problem solving.
I’ve reached a point where I can no longer tolerate the challenges of my current position, especially due to the dynamics with my coworkers. I long for a day where I can work for eight hours, exhaust myself physically, and then go home without any lingering mental responsibilities or ties to complex problem solving.
Over the past decade, I’ve collaborated with many people, yet I've only had the opportunity to manage an entire project from scratch on my own twice. In those rare instances, everything ran smoothly, issues were quickly resolved, and the code remained stable for years without constant complaints from clients.
Unfortunately, my coworkers, despite their intelligence, tend to overcomplicate even simple tasks. They often fall into the trap of overengineering, chasing the latest technologies and implementing unnecessarily complex paradigms, design patterns, frameworks, and techniques—even when I’ve offered simpler, proven solutions.
For example, I’ve built robust portals that handle everything from national highway finances and warehousing to HR and inventory management for major companies. In contrast, when others attempt similar projects, the resulting code becomes overwhelmingly complex and difficult to manage.
To give a few specific examples:
Example 1: The .NET Portal
We began developing a .NET portal about two months ago, which is now nearing version 1.0. Before we even started, the team had created multiple flowcharts to split the project into components like SaaS deployment, Docker integration, obfuscation, and separate portals for user administration and backend processes. Within a few weeks, they scrutinized and debated numerous authentication technologies—even though we had successfully implemented JWT token solutions in the past. The team continually shifts focus, leaving me uncertain about the final direction.
Example 2: Over-Engineering with Patterns
In another project, the team overused inversion of control (IoC) and mediation patterns, even going so far as to have an AI generate a custom message bus. Navigating this overly decoupled code is challenging; even Visual Studio’s IntelliSense struggles to provide guidance, and the code often feels like a puzzle that changes whenever I return from a break.
Example 3: Complicated Logging Implementation
We needed to add logging functionality, and I proposed a simple solution using custom exceptions that would bubble up to a central logging mechanism. Despite its past success in saving time and reducing frustration, the team decided to implement three different logging methods—one using .NET’s ILogger, another with Serilog, and a third hybrid approach. They even suggested using a rarely seen technique involving stack traces to determine which function threw an error. This approach added unnecessary complexity and only increased my frustration.
Now, even though the project is too far along for me to withdraw, I find myself feeling burned out just a few days back at work. The code has become a tangled mess, and even routine tasks like adding logging are turning into sources of intense frustration due to constantly shifting ideas and overly complicated designs.
On top of all this, I’m also disappointed with the performance of AI tools, which seem to be producing unreliable code that requires further fixes, compounding my frustration.
I’m now seriously contemplating a complete career change—perhaps even moving to a country with a better work environment, such as Denmark or Switzerland—in the hope of finding a job where the work is more straightforward and less mentally taxing and better paying4 -
So for one of our applications we have this custom made build system with no real documentation made by someone who left the company and uses old tech with 2010 visual studio files
And despite never having had a chance to work with it before, im not only expected by the PM and other staff to use this command line build too to make a build for production; but also to add a whole new application to be built.
Fuck me4 -
I've built whole backend for my app (my as I created it for company I'm working in) that's using AWS for storing data about users. I wanted to replace AWS with something custom, easier to use and without any dependency on third parties.
Boss never let me migrate from AWS to this solution because there are not enough clients for the app and he's got a lot of other work for me 😅 -
Sorta rant:
Tired of installing a billion random drivers and tools on windows to make something work. What is the best linux distro for programming on custom built PC that won't make me spend years tweaking to get full hardware support?4 -
Client picks Wordpress, and theme instead of a custom built site because it's cheap. I'm fine with that since it will be easy...then criticize the look two weeks later and tells me no offense 😂😂😂😂😂1
-
Over 3 months, I wrestled and toiled with learning how rsyslog works, send to the log server, passes that to AlienVault OSSIM, where I have to build a plugin that, I thought could be done with a built-in plugin builder but ended up with building it from scratch, and have to learn Regex (surprisingly was fun thanks to amazing online resources), test, build, restart rsyslog, ossim-agent, ossim-server and ossim-db just to get the application log showing up on the BROWSER!
I like OSSIM but what's killing me the most is rsyslog. I still can't get grasp how to get custom logs of any kind into a log server. I don't think I'll remember any of this by tomorrow but whelp. -
Transform Your Bathroom with Custom Showers from D&H Home Surfaces in Hallsville, TX
Are you dreaming of a luxurious, modern shower that fits perfectly in your bathroom? At D&H Home Surfaces, we specialize in designing and installing custom showers that elevate the look and functionality of your space. Whether you're remodeling your bathroom or building a new home, our custom shower solutions are tailored to your unique needs and style preferences.
Why Choose Custom Showers from D&H Home Surfaces?
A custom shower is the perfect way to personalize your bathroom and create a space that suits your lifestyle. At D&H Home Surfaces, we pride ourselves on offering high-quality, expertly crafted custom showers in Hallsville, TX, and the surrounding areas. Here’s why you should trust us to bring your vision to life:
Personalized Designs: We work closely with you to design a shower that fits your space, style, and budget. From the layout to the materials, everything is customizable.
Premium Materials: We use only the best materials, including elegant tiles, durable glass, high-quality fixtures, and premium stone, to create custom showers that stand the test of time.
Expert Craftsmanship: Our team of professionals has years of experience designing and installing custom showers. We pay attention to every detail to ensure flawless results.
Increased Home Value: A beautiful, custom shower not only enhances your bathroom but can also increase the overall value of your home, making it a smart investment.
Our Custom Shower Process
When you choose D&H Home Surfaces for your custom shower installation, we ensure a seamless and stress-free process from start to finish. Here’s what you can expect:
Consultation & Design: We begin by discussing your needs, preferences, and the available space. Our design team will help you select the right materials, shower style, and layout to create the perfect shower for your bathroom.
Customized Layout: Whether you're envisioning a sleek, modern walk-in shower, a luxurious steam shower, or a traditional bathtub-shower combo, we’ll design a layout that maximizes your space and meets your needs.
Material Selection: From ceramic and porcelain tiles to glass enclosures and natural stone, you’ll choose from a wide range of high-quality materials to create a custom shower that reflects your style.
Expert Installation: Our skilled technicians will handle every step of the installation with precision, ensuring that your custom shower is built to the highest standards of quality and craftsmanship.
Finishing Touches: Once the installation is complete, we will ensure that every detail, from grout lines to caulking, is perfect. Your new custom shower will be ready for use in no time.
Types of Custom Showers We Offer
At D&H Home Surfaces, we offer a variety of custom shower designs to suit every style and preference:
Walk-In Showers: Ideal for modern bathrooms, walk-in showers offer a sleek, open look with no doors or barriers. They can be customized with luxurious features like rainfall showerheads, built-in benches, and custom tile work.
Shower and Tub Combos: For those who want the flexibility of both a shower and a bathtub, we can create custom combinations that make the most of your space.
Steam Showers: For a truly spa-like experience, we offer steam showers, which provide therapeutic steam that can help relax muscles and improve circulation.
Frameless Glass Showers: Frameless glass enclosures offer a clean, modern aesthetic and are perfect for showcasing your beautiful tile work.
Curbless Showers: A curbless shower design provides an ultra-modern, barrier-free look while enhancing accessibility for all users.
Custom Shower Features
A custom shower is more than just a place to shower; it’s a retreat where you can unwind and relax. Some popular custom shower features we offer include:
Rainfall Showerheads: Add a touch of luxury with a rainfall showerhead that provides a soothing, even flow of water.
Built-In Benches: Perfect for relaxation or practicality, built-in benches provide a comfortable place to sit while showering.
Shower Niches: Add storage to your custom shower with a built-in niche for soap, shampoo, and other essentials.
Heated Floors: Keep your feet warm during the colder months with heated flooring in your shower area.
Multi-Jet Systems: Experience a spa-like atmosphere with a multi-jet shower system that targets different areas of your body for a complete therapeutic experience.
Why Custom Showers are a Great Investment
Custom showers not only provide a higher level of comfort and luxury, but they also offer long-term value to your home. Here's why a custom shower is a great investment:1 -
Staunch Concrete Construction, LLC: Your Trusted Concrete Contractor for Parking Pads and Sidewalks in New Braunfels
When it comes to concrete construction services in New Braunfels, Staunch Concrete Construction, LLC stands out as a reliable and professional contractor. Whether you're looking to install a Concrete Parking Pad in New Braunfels or need a Concrete Sidewalk in New Braunfels, our skilled team has the expertise to deliver high-quality results that last for years to come.
We take pride in offering durable, attractive, and cost-effective concrete solutions that will enhance your property’s functionality and curb appeal. Let us help you create well-constructed, lasting concrete features for your home or business!
Concrete Parking Pads in New Braunfels: A Practical and Durable Solution
A Concrete Parking Pad in New Braunfels offers a convenient and durable place to park your vehicles, adding value and practicality to your property. Whether you need an extra parking space, a dedicated area for recreational vehicles (RVs), or a pad for heavy-duty equipment, we can design and install a solution tailored to your specific needs.
At Staunch Concrete Construction, LLC, we understand the importance of a sturdy and reliable parking pad. That’s why we use only high-quality materials and proven techniques to ensure your concrete parking pad can withstand the elements, heavy traffic, and everyday wear and tear. Whether it’s for residential or commercial purposes, we make sure your parking pad is level, secure, and built to last.
Concrete Sidewalks in New Braunfels: Enhance Accessibility and Aesthetics
A Concrete Sidewalk in New Braunfels is a crucial element of your property’s accessibility and appearance. Whether you're creating a walkway that leads to your front door, adds charm to your garden, or guides visitors around your commercial space, a well-built concrete sidewalk can make a significant difference.
At Staunch Concrete Construction, LLC, we specialize in designing and installing custom concrete sidewalks that are both functional and attractive. From basic walkways to decorative patterns and textures, we work with you to create a sidewalk that complements your property’s style and layout. Our expert team ensures the sidewalk is constructed to meet all safety standards while providing smooth, durable paths for pedestrians.
Why Choose Staunch Concrete Construction for Your Concrete Parking Pad or Sidewalk?
Here’s why Staunch Concrete Construction, LLC is the go-to choice for concrete parking pads and sidewalks in New Braunfels:
Expert Craftsmanship
Our team has extensive experience working with concrete, ensuring that every parking pad and sidewalk is installed with precision and attention to detail. We are committed to delivering the highest quality of work on every project.
Customization to Fit Your Needs
We understand that every property is unique, and we offer a variety of design options to suit your preferences and requirements. Whether you want a simple parking pad or a decorative sidewalk, we work with you to ensure your vision becomes a reality.
Durable and Long-Lasting Solutions
Concrete is known for its durability, and at Staunch Concrete Construction, LLC, we ensure that your concrete parking pad and sidewalk will stand the test of time. Our materials are high-quality, and our installation methods are designed to withstand the elements and heavy use.
Affordable and Transparent Pricing
We believe that high-quality concrete services should be accessible and affordable. Our pricing is competitive, and we offer transparent estimates with no hidden costs, so you know exactly what you’re getting.
Reliable and Timely Service
We value your time and aim to complete every project on schedule without sacrificing quality. Our team works efficiently to ensure that your concrete parking pad or sidewalk is finished in a timely manner, allowing you to enjoy your new features sooner.
Contact Staunch Concrete Construction, LLC Today!
If you’re looking to install a Concrete Parking Pad or a Concrete Sidewalk in New Braunfels, Staunch Concrete Construction, LLC is here to help. We are dedicated to providing high-quality concrete services that enhance the beauty and functionality of your property. Whether it’s for residential or commercial needs, we offer reliable, cost-effective solutions you can count on.
For a free estimate or to learn more about our services, give us a call at +1 (830) 660-1133 or visit us at 1175 Hilltop Oaks, New Braunfels, TX 78132. We look forward to working with you on your next concrete project!1 -
Realco Home Remodeling: Your Trusted Partner for Los Angeles Home Renovation
When it comes to Los Angeles home renovation, Realco Home Remodeling stands out as a trusted name in the industry. With years of experience and a passion for transforming spaces, we specialize in creating beautiful, functional homes that reflect your unique style and needs. Whether you’re looking to update a single room or undertake an extensive renovation, our team is here to guide you through the process every step of the way.
Why Choose Realco Home Remodeling for Your Los Angeles Home Renovation?
At Realco Home Remodeling, we understand that a home renovation in Los Angeles is a significant investment. That’s why we approach every project with meticulous attention to detail and a commitment to quality craftsmanship. From the initial consultation to the final touches, we ensure that your vision becomes a reality while staying within budget and timeline.
Our team is comprised of experienced designers, contractors, and project managers, all working together to bring your renovation dreams to life. As a general contractor in Los Angeles, we handle all aspects of the remodeling process, from securing permits to managing subcontractors. We ensure that your renovation is seamless and stress-free.
Whole House Remodeling Los Angeles: Transform Your Entire Home
If you're considering a whole house remodeling in Los Angeles, Realco Home Remodeling is your go-to partner. We understand that an entire home renovation requires careful planning and coordination. Whether you’re renovating to update the style, improve functionality, or increase the value of your home, we’re here to help every step of the way.
Our team can transform your home’s exterior and interior, including everything from structural changes to aesthetic updates. Whether you're envisioning an open floor plan, updating your kitchen and bathrooms, or adding custom features, we can bring it all together. With Realco Home Remodeling, your whole house remodeling in Los Angeles will be handled with expertise and precision, ensuring a beautiful and functional living space that works for you.
General Contractor Los Angeles: Expert Services You Can Rely On
When you’re hiring a general contractor in Los Angeles, you want someone who is experienced, reliable, and committed to quality. At Realco Home Remodeling, we pride ourselves on our ability to manage every aspect of your renovation project with professionalism and care. From coordinating with suppliers to overseeing construction, our team ensures that your project stays on track and meets your expectations.
As a general contractor in Los Angeles, we are licensed, bonded, and insured, so you can rest easy knowing your project is in capable hands. We understand the complexities of home remodeling and are dedicated to providing outstanding customer service, clear communication, and exceptional results.
Let Realco Home Remodeling Bring Your Vision to Life
Whether you're planning a Los Angeles home renovation, whole house remodeling in Los Angeles, or looking for an experienced general contractor in Los Angeles, Realco Home Remodeling is here to help. We’ve built a reputation for delivering top-notch renovations that enhance both the aesthetics and functionality of our clients' homes.
Our team works closely with you to understand your vision, goals, and budget, and we make sure every detail is handled with the utmost care and professionalism. From design to completion, we’re committed to making your remodeling experience a smooth and enjoyable one.
Contact Us Today
Ready to transform your home? Contact Realco Home Remodeling today for your Los Angeles home renovation needs. Call us at +1 818-806-8173 or visit our office at 22900 Ventura Blvd #205, Woodland Hills, CA 91364. Let us help you turn your home remodeling dreams into reality!
1 -
Hello, I am stuck working on a project built on top of CakePHP 1.3 and I have some custom helpers, one of them named Order; for my views, I need to set a variable $order to contain the order data.
My problem is that if I set the variable in the controller ( $this->set(compact('order)); ) it overwrites the helper instance ( $this->Order ), and if I set it with a different name in the controller (say $_order) and reassign it in the view file ( $order = $_order ), the helprr instance ( $this->Order ) is also overwritten...
I really need to have the namings as described in order for my code to be clean and logical.
FML... -
Unity Controller Support:
Why are controllers awful, it seems like I have to custom each different controller manually to the game. Why can't the the A button on one controller be A on all controllers.
Why can't there be a universal built in controller script that would convert all of the different types controller inputs into a generic controller input that can be translated by just one script instead of writing a script for every common controller... 😠2 -
super.so is annoyingly expensive
am I crazy if I want to integrate Notion with a custom site solution built with SvelteKit?1 -
Exploring Salesforce: More Than Just a CRM
If you’ve only heard of Salesforce as “that CRM thing sales teams use,” you’re missing out on the full picture. As I recently found out, Salesforce is way more than just a CRM—it’s practically an entire ecosystem for building enterprise-grade applications.
What is Salesforce?
At its core, Salesforce is a cloud-based platform for managing customer data. But beyond the CRM features, it provides a full-stack development environment through its Salesforce Platform.
Languages & Tools
Apex: Proprietary, Java-like language for server-side logic
Visualforce: Old-school templating for UI (mostly replaced now)
Lightning Web Components (LWC): Modern JavaScript framework—actually pretty slick
SOQL: Salesforce’s own query language for working with data
Customization
Salesforce lets you build custom apps, workflows, and automations without spinning up your own backend. Think of it like low-code meets full-code, with tight integration to built-in security, databases, and APIs.
Limits to Watch Out For
Governor limits: To protect shared resources, Salesforce enforces strict limits on how much CPU, DB queries, etc., you can use per transaction.
Deployment can be weird: Changes are deployed using metadata, and you’ll probably need a tool like SFDX or a CI/CD pipeline to stay sane.
Happy to chat with anyone else diving into the ecosystem—bonus points if you’ve got tips for dealing with sandbox madness or deployment XML nightmares.
#Salesforce #Apex #LWC #EnterpriseDev #DevRant #DeveloperLife2 -
Transform Your Home with Mark Brightman Handyman Services: Lighting Installation, Pet Doors, and More
When you're in need of a reliable handyman near me, Mark Brightman Handyman Services is here to help. Serving the Beaverton, OR area, we specialize in a wide range of home improvement services, from lighting installation near me to pet door installation near me, and much more. Our team of skilled professionals is dedicated to making your home safer, more comfortable, and more efficient with expert installations, repairs, and renovations.
Located at 1856 NE 101st Ave #102, Beaverton, OR 97006, Mark Brightman Handyman Services is your go-to source for all things home improvement in Beaverton and the greater Portland area. Let’s take a closer look at how our services can improve your home and life.
Lighting Installation Near Me – Brighten Your Home with Expert Lighting Solutions
Whether you need new lights for your kitchen, living room, outdoor space, or bathroom, lighting installation near me is a service we specialize in. Proper lighting not only enhances the aesthetics of your home but also adds safety and functionality to your living spaces. At Mark Brightman Handyman Services, we offer expert lighting installation near me that suits your style and needs.
Our lighting installation near me services include:
Indoor Lighting: From recessed lights to pendant lighting, we help you choose and install the right lights for every room in your home.
Outdoor Lighting: Increase security and create ambiance with outdoor lighting for pathways, porches, gardens, and more.
Ceiling Fans with Lighting: Looking for both cooling and lighting? We can install ceiling fans that also feature built-in lights, perfect for saving space while adding comfort and illumination.
Custom Lighting Solutions: We can design custom lighting setups for home theaters, accent lighting, or task lighting tailored to your needs.
No matter what type of lighting you need, Mark Brightman Handyman Services provides professional lighting installation near me that enhances the beauty and functionality of your home.
Pet Door Installation Near Me – Let Your Pets Roam Freely
For pet owners, installing a pet door installation near me is a simple yet effective way to give your furry friends the freedom to come and go as they please. Whether you have a dog, cat, or both, a pet door can provide them with easy access to the yard, patio, or garden, all while maintaining the security and privacy of your home.
At Mark Brightman Handyman Services, we specialize in installing a variety of pet doors to suit different needs and budgets. Our pet door installation near me services include:
Dog and Cat Doors: We offer pet doors that can be installed in walls, doors, or windows, designed for both dogs and cats. From small to large breeds, we ensure the pet door is the perfect size.
Electronic Pet Doors: For added security, we can install electronic pet doors that open only when activated by a collar sensor, keeping unwanted animals from entering.
Security and Weatherproofing: Our pet doors are designed to be secure, weatherproof, and energy-efficient, helping you maintain comfort and safety in your home.
Custom Pet Doors: Need a unique installation? We can customize a pet door to fit specific areas or particular needs, including sliding doors or garage entries.
By choosing Mark Brightman Handyman Services for your pet door installation near me, you’re ensuring a high-quality installation that keeps both your pets and home secure.
Reliable Handyman Near Me – Your Trusted Expert for All Home Repairs and Improvements
When you search for a reliable handyman near me, you want a professional who can handle everything from small repairs to major installations. Mark Brightman Handyman Services is your trusted partner for all your home improvement needs. We take pride in delivering expert services with a focus on quality, customer satisfaction, and convenience.
As a reliable handyman near me, we offer:
General Home Repairs: Whether it's fixing leaky faucets, repairing drywall, or replacing worn-out hardware, we provide dependable repairs to keep your home in top condition.
Remodeling and Renovations: From kitchen and bathroom remodels to custom built-ins and room additions, our team has the expertise to transform any part of your home.
Maintenance Services: We offer routine maintenance to help prevent costly repairs down the road, including gutter cleaning, HVAC maintenance, and more.
Specialty Installations: In addition to lighting and pet doors, we can handle everything from TV wall mounting and furniture assembly to ceiling fan installations and door repairs.
At Mark Brightman Handyman Services, we are a reliable handyman near me who brings professionalism, attention to detail, and a strong work ethic to every job, no matter how big or small.
Why Choose Mark Brightman Handyman Services?
3 -
Black Sheep Construction LLC: The Leading Construction Company in Holly Springs, NC
When it comes to choosing a reliable construction company, Black Sheep Construction LLC stands out as a trusted name in Holly Springs, NC, and the surrounding areas. Whether you’re planning a new build, undertaking a renovation, or require specialized construction services, our team is dedicated to delivering top-notch results with a focus on quality, reliability, and customer satisfaction. With years of experience and a commitment to excellence, Black Sheep Construction LLC is your ideal partner for all your construction needs.
Why Choose Black Sheep Construction LLC as Your Construction Company?
Experience You Can Trust
With years of experience in the construction industry, Black Sheep Construction LLC has built a reputation for being a reliable and skilled construction company. We’ve handled a variety of projects, ranging from residential builds to commercial developments, and have a proven track record of delivering high-quality work on time and within budget. Our team has the expertise to manage all aspects of the construction process, ensuring that your project runs smoothly from start to finish.
Comprehensive Services
As a full-service construction company, we offer a wide range of services to meet all your construction needs. Whether you’re building a custom home, renovating your existing space, or working on a commercial property, our team can handle every aspect of the project, including design, planning, and execution. We provide services that include but are not limited to:
New Construction
If you're dreaming of a brand-new home or commercial property, Black Sheep Construction LLC is here to make that dream a reality. From site preparation to the final coat of paint, we manage every detail of the construction process. Our team works closely with you to ensure that your vision is brought to life, and we make sure all safety and building codes are strictly followed.
Home Renovations and Remodeling
At Black Sheep Construction LLC, we understand that your home is a reflection of your style and needs. Whether you're renovating your kitchen, updating your bathroom, or adding a new room, our expert team ensures that your remodeling project is completed with precision and care. We focus on bringing your vision to life while improving the functionality and value of your home.
Commercial Construction
We also specialize in commercial construction services, helping businesses create spaces that are both functional and attractive. Whether you're opening a new retail location, building office spaces, or constructing a restaurant, we work with you every step of the way to ensure that your commercial property meets all your business requirements and design preferences.
Custom Projects and Additions
If you're looking for a custom-built feature or an addition to your property, Black Sheep Construction LLC can help. We design and build custom decks, patios, outdoor living spaces, home additions, and more. Our team will ensure that your project integrates seamlessly with your existing structure while adding unique elements that enhance both the function and appeal of your space.
Roofing and Exterior Services
As part of our comprehensive construction services, we also provide roofing, siding, and other exterior services. We help protect your investment with high-quality roofing materials and professional installation to ensure your property is safe, secure, and energy-efficient.
What Sets Us Apart from Other Construction Companies?
Quality Workmanship
At Black Sheep Construction LLC, we take pride in the quality of our work. Every project, no matter how large or small, is completed with the highest standards of craftsmanship. We only use premium materials and work with skilled professionals to ensure that every detail is perfect. When you choose us as your construction company, you can trust that we will deliver results that exceed your expectations.
Personalized Service
Unlike other large construction companies, Black Sheep Construction LLC offers a personalized approach to every project. We take the time to understand your specific needs, goals, and preferences, tailoring our services to meet your individual requirements. We work closely with you to ensure that your project reflects your vision and is completed to your satisfaction.
Transparent Communication
We believe that clear and open communication is essential to the success of any construction project. Our team will keep you informed every step of the way, from initial consultation to project completion. We provide detailed timelines, transparent pricing, and regular progress updates so you always know where your project stands.
1 -
I put $620,000 of Bitcoin into making my dream happen—building an AI business that would push robotics and machine learning to new levels. It wasn't an investment; it was the future years of my life I had been building toward. That future was wiped out because of one minor mistake in my own code.
I had programmed a custom wallet to hold my Bitcoin, feeling it would add an extra level of security and independence. Things were fine until the day a small bug left me locked out. My password was correct, but the wallet refused to unlock. My pulse was pounding as I tried time and again, each attempt drying my palms out a little more.
I was going crazy for weeks attempting to fix it. I pored over lines of my own code, applied patches, and even went the brute force method. None of it worked. It was as if I had built a fortress only to trap myself in it.
I was at my wit's end when I saw a thread on GitHub. Brought out from the depths of comments, someone mentioned WIZARD WEB RECOVERY SERVICES . I was desperate at this point and out of ideas.
The moment I contacted them, I knew I was in capable hands. Their personnel were not only skilled, they understood what this would do for me. They asked me extremely specific questions regarding my custom software, respected my work, and assured me they had dealt with cases like mine before.
Their approach was surgical. They reverse-engineered my wallet code like it was a blueprint, dissecting every line I had written. It was a humbling experience to watch their expertise at work. They kept me apprised step by step, giving me hope when I believed all hope was lost.
Eight days went by, and then I received the call I had been hoping for. They cracked it. My wallet was restored to its fullness, all of my $620,000 still there and ready to power my startup once again.
Apart from recovery, they also educated me on secure coding principles and introduced me to wallet audit services that would prevent such occurrences from happening again.
Thanks to WIZARD WEB RECOVERY SERVICES , my robots will keep dancing, and my dream is still alive. If you ever find yourself locked out, don't spend weeks like I did—call them immediately.
1 -
I have been using CakePHP 1.3 and 2.x fore some years. I built two custom platforms on them that we used for almost every project at work, and also some of my freelance ones.
We've built all kind of stuff, from basic CMS to large scale CRM/ERP systems, and it held it's own!
But now I wanna build another one! :D
I wanna build a platform on CakePHP 3.x fore sume time at work, but the constant flow of projects leaves little time for this.
And I am not talking about the shitty stuff like the sorry attempts you can find oh GitHub right now, that I never even managed to use once for a real project (I really tired!), I am talking about a real platform, for real world projects, with a real world interface, and real world functionallity, for real world use cases!
I was thinking to start an open source project, but I never managed one so I have some concerns...
Like it will not get any contributors and I will eventually do it on my own anyway, or like it WILL get traction and I will not be able to manage the project, or the community.
I am the head of the dev dept at work, but open source seems like a whole new ball game for me...
Anyway, what do you people think? Would you work on something like that? Would you use it? Should I create a GitHub project and add a collab? Or is it doomed already? -
Varun Marbles: Custom Marble Design, Granite Tiles Near Me, and Granite Worktops Near Me
At Varun Marbles, we specialize in delivering the finest selection of natural stones, including Italian marble, KalingaStone, granite, Onyx, and more. Whether you're renovating your kitchen, adding a luxurious touch to your bathroom, or upgrading your flooring, we offer an exceptional range of products to meet your needs. Located at Marble Market, Plot No. 16, Sector 33-34, near Honda Chowk, Block A, Sector 34, Gurugram, Haryana, we are your go-to destination for all things stone.
If you're searching for custom marble design, granite tiles near me, or granite worktops near me, you've come to the right place. Our business is dedicated to providing personalized service and high-quality materials to help you create beautiful, functional spaces.
Custom Marble Design – Tailored to Your Style
Custom marble design offers the opportunity to add a unique, personal touch to your home or business. Marble is known for its timeless beauty and elegance, and when customized, it can perfectly align with your aesthetic vision. Whether you're looking to design a stunning kitchen countertop, an exquisite bathroom vanity, or luxurious flooring, we provide tailored marble solutions to elevate your space.
Why Choose Custom Marble Design?
Unique Aesthetic: Custom marble allows you to select the exact color, texture, and pattern that suits your style, ensuring your design is one of a kind.
High-End Appeal: Marble has long been associated with luxury and sophistication. Customizing your marble surfaces gives your home or commercial space a high-end, bespoke look.
Versatility: Custom marble can be used in a wide range of applications, including countertops, flooring, wall cladding, and even feature pieces like sculptures or columns.
Durability: While offering a luxurious look, marble is also incredibly durable, with proper care and maintenance, ensuring it remains beautiful for years to come.
At Varun Marbles, our team of experts will guide you through the entire process of creating your custom marble design. We provide personalized consultations to help you select the right type of marble, color, and design that complements your space.
Granite Tiles Near Me – Durable, Stylish, and Practical
If you're looking for granite tiles near me, Varun Marbles offers a wide variety of granite tiles that combine functionality with aesthetic appeal. Granite tiles are an excellent choice for both residential and commercial projects due to their durability and versatility.
Why Choose Granite Tiles?
Durability: Granite is one of the toughest natural stones, making it ideal for high-traffic areas such as kitchens, bathrooms, and hallways. It is resistant to scratches, stains, and heat, making it a practical flooring choice.
Variety of Designs: Granite tiles come in a range of colors, patterns, and finishes. Whether you prefer a bold, contrasting look or a more subtle, refined design, we have the perfect granite tile for you.
Low Maintenance: Granite tiles are easy to maintain and clean. With regular sealing, granite is resistant to moisture and stains, ensuring your floors stay pristine for years.
Value for Money: Granite tiles offer excellent value for money. They combine luxury with practicality and can increase the resale value of your property.
At Varun Marbles, we offer a wide selection of granite tiles in various sizes, colors, and finishes. Our knowledgeable staff can assist you in choosing the perfect granite tile that suits your space and meets your specific requirements.
Granite Worktops Near Me – Elegant, Functional, and Built to Last
Granite worktops near me are a popular search for homeowners and businesses looking to invest in high-quality, long-lasting countertops. At Varun Marbles, we specialize in providing premium granite worktops that are both visually stunning and incredibly durable.
Why Choose Granite Worktops?
Heat and Scratch Resistant: Granite worktops are highly resistant to heat and scratches, making them ideal for kitchen environments where heavy use is common.
Timeless Beauty: Granite worktops are available in a wide range of colors and patterns, allowing you to choose the perfect style to suit your home or office.
Low Maintenance: Once sealed, granite worktops require very little maintenance. They are easy to clean and resistant to stains, ensuring your worktops remain beautiful for years.
Increases Property Value: Granite worktops add significant value to your property, making them a smart investment for homeowners looking to
4 -
VynyLyst: Your Go-To Source for Vinyl Wraps and Vinyl Signage in Phoenix, AZ
At VynyLyst, we specialize in providing high-quality vinyl wraps and vinyl signage in Phoenix, AZ, that help businesses and individuals make a bold statement. Whether you're looking to transform your vehicle with eye-catching vinyl wraps or enhance your storefront with custom vinyl signage, we have the expertise and products to bring your vision to life.
Vinyl Wraps in Phoenix: Transform Your Vehicle with Custom Designs
A vinyl wrap is one of the most effective ways to turn your vehicle into a mobile advertisement. At VynyLyst, we offer custom vinyl wraps in Phoenix that allow you to showcase your business logo, message, or artwork in a way that’s both professional and attention-grabbing. Whether it’s a full vehicle wrap or a partial design, our wraps are made with high-quality vinyl materials designed to withstand the elements and keep your vehicle looking sharp for years.
Why choose vinyl wraps for your vehicle?
Cost-Effective Advertising: A vinyl wrap is a highly effective way to advertise your business while on the move. Your vehicle will become a 24/7 billboard, attracting attention wherever you go.
Durability: Our vinyl wraps are made with durable materials that resist fading, cracking, and peeling. They are designed to hold up to both hot Phoenix summers and the wear of daily driving.
Customization: From color schemes to logos and custom designs, we create wraps that perfectly match your brand’s identity, making your vehicle a powerful marketing tool.
Vinyl Signage in Phoenix, AZ: Enhance Your Business Presence
Whether you're looking for a new storefront sign, a directional sign for your office, or custom window graphics, vinyl signage is the perfect way to make a lasting impression. At VynyLyst, we specialize in creating high-quality vinyl signage in Phoenix, AZ that enhances your brand’s visibility both indoors and outdoors.
Vinyl signage is versatile, durable, and offers endless possibilities. Our team works closely with you to design custom signage that aligns with your business needs. Whether it's a clean and professional logo sign for your office or a bold and vibrant display for your store, we create custom signs that are sure to attract attention.
Benefits of Vinyl Signage:
Durability: Our vinyl signs are made to last, designed to resist fading, peeling, and weather damage, making them ideal for both indoor and outdoor use.
Flexibility: With vinyl signage, you can create everything from large banners to small, intricate details like lettering or logos. We provide fully customized solutions for all your signage needs.
Affordable and Professional: Vinyl signage is a cost-effective option that delivers a professional look without breaking the bank. It’s an ideal solution for businesses of all sizes, offering high-impact results at affordable prices.
Why Choose VynyLyst for Vinyl Wraps and Signage in Phoenix?
Expert Installation: At VynyLyst, we pride ourselves on providing flawless vinyl wraps and vinyl signage installations. Our experienced team ensures that each wrap and sign is applied with precision, leaving you with a professional, polished look.
Customization: We don’t believe in one-size-fits-all. Whether it’s a vinyl wrap for your vehicle or a custom vinyl sign for your business, we work with you to bring your unique vision to life.
Durability: We use only the highest quality materials, ensuring that your vinyl wraps and vinyl signage are built to last, even under harsh weather conditions.
Affordable Pricing: High-quality vinyl wraps and vinyl signage shouldn’t break the bank. At VynyLyst, we offer competitive pricing without compromising on quality, so you can enhance your brand presence affordably.
Local Expertise: As a locally owned business in Phoenix, we have a deep understanding of the needs and preferences of our community. We take pride in providing tailored solutions that help local businesses succeed and stand out.
Get in Touch with VynyLyst for Custom Vinyl Wraps and Signage
Are you ready to take your business’s branding to the next level with custom vinyl wraps or vinyl signage? VynyLyst is here to help! We are located at 7336 W Cordes Rd, Phoenix, AZ 85043, and proudly serve clients throughout the Phoenix area.
For more information or to schedule a consultation, call us today at +1 (602) 502-9437. Let’s work together to create high-quality, custom vinyl solutions that will make your business or vehicle stand out in style!
3 -
I was approached by some guy on a project and I need your help figuring out how to go about this.
the project is basically a website where school owners who are not tech savvy can input necessary details about their school and it spins up a site from an existing website template built in react for them.
an extra complexity will be creating custom domain names for each site. will this also be possible ?
I've not done something like this before and I dont know the word for it so making a Google search has been quite hard
my stack is javascript MERN stack.1 -
ToyStack Virtual OS - A secure, cloud-based virtual OS that works on any device—no installation required, fully customizable, and always accessible.
ToyStack Virtual OS redefines virtual desktop computing by offering a secure, scalable, and high-performance cloud-based operating system accessible directly through any web browser. Eliminating the need for traditional software installations, ToyStack’s agentless approach simplifies deployment and reduces hardware dependency—cutting costs while enabling seamless access to workspaces from anywhere in the world.
Designed with enterprise-grade security at its core, ToyStack Virtual OS integrates multi-factor authentication (MFA), end-to-end encryption, and AI-powered threat detection to safeguard sensitive data. It adheres to globally recognized compliance standards, including ISO 27001, 27017, 27018, and SOC 2 Type II, ensuring protection against evolving cyber threats and regulatory requirements.
Flexibility is at the heart of ToyStack’s design. It supports Windows, Linux, and custom operating systems, all managed through a centralized Control Tower. This intuitive management console enables IT administrators to enforce group policies, streamline user provisioning, and monitor performance—all in real-time. Whether managing hybrid teams, remote workforces, or distributed operations, ToyStack adapts effortlessly to dynamic business needs.
Performance is never compromised, thanks to AI-driven resource optimization that intelligently allocates computing power based on workload demands. This ensures zero-lag experiences and seamless scaling during peak usage, empowering teams to remain productive without interruptions.
Beyond performance, ToyStack Virtual OS drastically reduces IT overhead and operational complexity. Built-in automation handles provisioning, updates, and security enforcement, minimizing administrative burdens. With its pay-as-you-go pricing, businesses can avoid costly licensing fees and infrastructure investments, making it a cost-effective alternative to traditional Virtual Desktop Infrastructure (VDI).
Whether you’re scaling operations globally, enabling BYOD policies, or enhancing remote work security, ToyStack Virtual OS delivers an unmatched combination of simplicity, security, and performance—future-proofing your organization for the modern digital workspace.4 -
Triplex: A Smart Real Estate Investment for Property Owners and Developers
In today’s competitive real estate market, property owners and investors are always looking for ways to increase their income and maximize the potential of their properties. One of the most profitable strategies is converting or building a triplex—a residential property containing three separate units, each with its own entrance and living space.
At AgileBuilds Ltd, located at 47 Whitfield Ave, North York, ON M9L 1G4, Canada, we specialize in triplex conversions and custom-built triplex properties. Whether you're looking to generate more rental income or enhance the value of your investment, we provide expert solutions that make the process smooth and efficient.
What is a Triplex?
A triplex is a multi-family residential property that contains three distinct living units. Each unit typically includes its own entrance, kitchen, bathroom, and living space. A triplex can either be a newly constructed building or the result of converting an existing property, such as a single-family home, into three separate units.
At AgileBuilds Ltd, we have extensive experience in both designing new triplex properties and converting existing homes into profitable triplex units. This type of property offers a number of financial and practical benefits for both investors and homeowners.
Why Invest in a Triplex?
1. Higher Rental Income
One of the most obvious advantages of a triplex is the potential for higher rental income. With three separate units, you can generate revenue from multiple tenants, increasing the overall rental income compared to a single-family home. This makes it a great investment for property owners looking to increase cash flow.
2. Diversified Income Stream
Having three separate rental units in one property means that if one unit becomes vacant, the other two units can continue to generate income. This diversification of rental income reduces financial risk and ensures a more stable cash flow.
3. Lower Operating Costs
Operating a triplex can be more cost-effective compared to managing multiple single-family homes. Since all the units are within the same building, expenses like property maintenance, insurance, and taxes are often lower. This makes a triplex an efficient way to manage multiple rental properties with less overhead.
4. Increased Property Value
When you convert a single-family home into a triplex or build a new one, you are likely to see a significant increase in property value. Multi-family properties, like triplexes, tend to be valued higher than single-family homes because of the added rental potential. This can provide a solid return on investment, whether you choose to hold the property long-term or sell it.
5. Flexibility for Homeowners and Investors
For homeowners, a triplex offers the opportunity to live in one of the units while renting out the others. This can help cover mortgage costs, and in some cases, even provide additional income. For developers and investors, a triplex provides flexibility in terms of tenant demographics, allowing you to cater to students, families, or professionals.
How AgileBuilds Ltd Can Help You with Your Triplex Project
At AgileBuilds Ltd, we offer expert services to guide you through the process of developing or converting your property into a triplex. From the initial design phase to the final construction, our experienced team is here to ensure your project meets local building codes, regulations, and your personal investment goals.
The Process of Building or Converting a Triplex
Consultation and Property Assessment
We begin by meeting with you to assess your property’s potential for conversion into a triplex or discuss plans for a custom-built triplex. We will evaluate zoning laws, building codes, and local regulations to ensure the project is feasible.
Design and Planning
Once the property is assessed, our design team works closely with you to develop a layout that maximizes space and functionality for all three units. We focus on creating an efficient, comfortable living environment that appeals to potential tenants.
Permitting and Approvals
AgileBuilds Ltd handles all the necessary paperwork for permits and approvals. We ensure that your triplex project complies with all local zoning laws and building codes, making the approval process as smooth as possible.
Construction and Renovation
Our team of skilled professionals will manage the renovation or new construction of your triplex. We prioritize quality craftsmanship, safety, and efficiency throughout the building process to ensure the finished property meets your expectations.2 -
Advance Fenceworks: Expert Wooden Fence Building in Winnipeg, MB
When it comes to adding charm, privacy, and security to your property, wooden fence building is a timeless solution that offers both functionality and aesthetic appeal. At Advance Fenceworks, we specialize in providing top-tier wooden fence building services to homeowners and businesses in Winnipeg, MB. Whether you’re looking to create a private retreat in your backyard or add curb appeal to your property, our expert team is here to deliver the perfect wooden fence tailored to your needs.
Located at 182 El Tassi Dr, Winnipeg, MB R3W 0M4, Advance Fenceworks offers high-quality craftsmanship, durable materials, and exceptional customer service. If you’re considering a wooden fence for your home or business, read on to learn more about why we’re the best choice for wooden fence building in Winnipeg.
Why Choose Advance Fenceworks for Wooden Fence Building?
When you choose Advance Fenceworks, you're selecting a team of skilled professionals who are dedicated to delivering the highest standards in wooden fence building. Here’s why we stand out in Winnipeg:
1. Experienced Fence Builders
Our team consists of experienced fence builders with a deep understanding of the wooden fence building process. We take the time to carefully assess your needs and design a fence that fits perfectly with your property’s aesthetic and functionality. Whether you need a rustic wooden fence for a rural property or a sleek, modern design for an urban backyard, we’ve got you covered.
2. Custom Wooden Fence Solutions
We believe that every property is unique, and we offer custom wooden fence building services to match your specific vision. From choosing the right wood type to designing the perfect height and style, we’ll work with you every step of the way to ensure your fence enhances the beauty and security of your property.
3. High-Quality Materials
We use only the best quality wood for our wooden fence building projects. We understand that wooden fences need to withstand the elements, and that’s why we use durable, weather-resistant materials that will hold up against Winnipeg's harsh climate. Whether you choose cedar, pine, or another wood type, we ensure that your fence is built to last.
4. Affordable and Transparent Pricing
At Advance Fenceworks, we are committed to providing high-quality fencing solutions at affordable prices. We offer competitive rates for our wooden fence building services without compromising on quality. Our upfront estimates are transparent, with no hidden fees, so you can budget confidently for your project.
5. Commitment to Customer Satisfaction
Customer satisfaction is our top priority. From the moment you contact us to the completion of your wooden fence building project, we focus on providing excellent service, ensuring that your fence is built to your exact specifications. We aim to exceed your expectations and deliver a fence that enhances the beauty, security, and value of your property.
Benefits of Wooden Fences
A wooden fence is more than just a boundary—it’s a functional and aesthetic addition to your property. Here are some of the top benefits of installing a wooden fence:
1. Privacy
Wooden fences provide excellent privacy for your home or business. Whether you’re relaxing in your backyard, hosting a gathering, or simply want to enjoy your outdoor space without prying eyes, a wooden fence creates a secure, private area for you and your family.
2. Aesthetic Appeal
Wooden fences are versatile and can complement a wide range of architectural styles. Whether you want a rustic, traditional look or a sleek, modern design, a wooden fence adds a natural, warm feel to your property. Additionally, wooden fences can be painted or stained to match your personal style and exterior decor.
3. Durability and Longevity
With proper care and maintenance, wooden fences can last for many years. The materials we use are designed to withstand Winnipeg's weather, and we take extra steps to treat and seal your fence to ensure it holds up against moisture, sunlight, and other environmental factors.
4. Increased Property Value
A professionally installed wooden fence enhances the curb appeal of your property, potentially increasing its value. If you're planning to sell your home, a beautiful wooden fence can make your property more attractive to prospective buyers.
5. Customization Options
Wooden fences offer a wide range of design possibilities. From classic picket fences to taller privacy fences, we can customize the design to suit your needs. You can choose the height, style, and finish to match your property’s character and meet your functional requirements.
3 -
Transform Your Kitchen with JR Stone Design Inc: Leading Kitchen Contractors in Palm Beach County and Boca Raton
Your kitchen is the heart of your home, and when it’s time to update or remodel, you want to ensure you’re working with a reliable, skilled team of professionals. That’s where JR Stone Design Inc comes in. As trusted kitchen contractors serving Palm Beach County and Boca Raton, we specialize in transforming kitchens into beautiful, functional spaces. With years of experience, a commitment to quality, and an eye for detail, we are your go-to team for all things kitchen remodeling.
Why Choose JR Stone Design Inc as Your Kitchen Contractors?
At JR Stone Design Inc, we know that every kitchen is unique. Whether you're planning a small upgrade or a complete kitchen remodel, we provide personalized solutions to meet your needs and vision. We proudly serve Palm Beach County and Boca Raton, offering expert kitchen design, high-quality materials, and craftsmanship you can trust.
Here’s why homeowners choose us as their kitchen contractors:
1. Customized Kitchen Design
We believe that your kitchen should reflect your personal style and work seamlessly with your home’s layout. Our expert designers work with you to create a kitchen that fits your vision, functional needs, and lifestyle. Whether you’re looking for a modern, sleek design or a more traditional, cozy feel, we bring your ideas to life with customized design solutions.
2. Top-Quality Materials
At JR Stone Design Inc, we prioritize quality. We use only the best materials for your remodel, ensuring that your kitchen not only looks stunning but is also durable and built to last. From premium countertops, cabinetry, and backsplashes to flooring and lighting, we source high-quality materials to bring your kitchen dreams to life.
3. Experienced Kitchen Contractors
Our team consists of experienced kitchen contractors who bring their extensive expertise to every project. With years of experience in the industry, we understand what it takes to create a kitchen that is both beautiful and functional. Our skilled contractors ensure that every detail is executed with precision, and we handle all aspects of the remodel from start to finish.
4. Comprehensive Kitchen Remodeling Services
We offer a full range of kitchen remodeling services for homeowners in Palm Beach County and Boca Raton, including:
Custom Cabinet Design and Installation
Our team designs and installs custom cabinetry that fits your space and maximizes storage. Whether you prefer classic wood cabinetry or modern sleek designs, we tailor the cabinetry to suit your style.
Countertop Installation
Choose from an array of countertop options, including granite, quartz, marble, and more. Our team ensures flawless installation and provides expert guidance in selecting the best material for your needs.
Backsplash Design and Installation
A backsplash can instantly transform the look of your kitchen. We offer a wide selection of tiles, patterns, and designs to create a backsplash that complements your kitchen’s style and enhances its aesthetic.
Flooring Solutions
We install a variety of durable and stylish flooring options, including hardwood, tile, and stone, to create a kitchen floor that perfectly matches your design and functionality needs.
Lighting and Fixtures
Lighting plays a critical role in creating ambiance and functionality in your kitchen. From task lighting to accent lighting, we help you choose and install the perfect lighting and fixtures to elevate your space.
5. On-Time and On-Budget Remodeling
We understand that kitchen remodels can be a big undertaking, and we’re committed to completing your project on time and within budget. Our team works efficiently, staying on schedule and providing transparent pricing so you can plan accordingly. We don’t believe in hidden fees, and we keep you informed throughout every stage of the process.
6. Personalized Customer Service
At JR Stone Design Inc, customer satisfaction is our top priority. We take the time to understand your specific needs and work closely with you to ensure that every detail of your kitchen remodel is executed to perfection. From the initial consultation to the final walkthrough, we provide exceptional customer service every step of the way.
Why Homeowners in Palm Beach County and Boca Raton Choose Us
Here’s why homeowners in Palm Beach County and Boca Raton trust JR Stone Design Inc for their kitchen remodeling projects:
Locally Owned and Operated: As a local business, we understand the specific needs and preferences of homeowners in Palm Beach County and Boca Raton.
Comprehensive Kitchen Services: We handle every aspect of kitchen remodeling, from custom cabinetry to lighting and flooring installation.
1 -
Sunrise Blinds: Cairns’ Premier Custom Roller Blinds & Blind Solutions
Are you in search of the perfect window treatment for your Cairns home or business? Look no further than Sunrise Blinds—Cairns' premier destination for high-quality Custom Roller Blinds Cairns and expert Blinds Cairns solutions. Whether you're looking to enhance your living space with stylish blinds or seeking functional solutions for better light control and privacy, we have the perfect window coverings tailored to your needs.
Custom Roller Blinds Cairns: A Perfect Blend of Style and Functionality
When it comes to window treatments that are both stylish and practical, Custom Roller Blinds Cairns are the ideal choice. At Sunrise Blinds, we specialize in designing and installing custom roller blinds that fit perfectly with your home’s unique style and your specific functional requirements. Whether you need roller blinds to block out the harsh Queensland sunlight or to create a modern, sleek look, we have an extensive range of options for you.
Our Custom Roller Blinds Cairns are made with high-quality materials that are designed to withstand the tropical climate. Available in a variety of fabrics, from light-filtering to blackout options, these blinds allow you to control the amount of light entering your space and provide excellent insulation, keeping your home cool and comfortable year-round.
Blinds Cairns: Transform Your Home or Office with Quality Window Solutions
When it comes to Blinds Cairns, Sunrise Blinds is your trusted partner for top-notch window treatments. Whether you're updating your home’s interior design or outfitting your office with professional, functional blinds, our wide range of Blinds Cairns options can transform your space in no time. From stylish Venetian blinds to elegant vertical blinds and roller blinds, we offer solutions to suit every taste and budget.
Our Blinds Cairns are made from durable materials that can withstand the high humidity and temperature fluctuations common in Cairns. With professional installation and tailored solutions, we ensure that your blinds provide not only visual appeal but also maximum privacy, light control, and energy efficiency.
Why Choose Sunrise Blinds for Custom Roller Blinds and Blinds in Cairns?
Tailored Solutions: We understand that every space is different, which is why we offer Custom Roller Blinds Cairns and a wide selection of other blinds that are specifically designed to meet your unique needs and preferences.
Quality Materials: At Sunrise Blinds, we only use premium materials that are built to last. From fade-resistant fabrics to robust mechanisms, our products are designed to perform beautifully for years.
Professional Installation: Our team of expert installers ensures that your Custom Roller Blinds Cairns and other blinds are installed with precision, offering a clean and seamless finish.
Affordable Prices: We believe in offering top-quality products at competitive prices. Whether you’re outfitting a single room or an entire building, we have affordable options that don’t compromise on quality.
Local Expertise: As a locally owned business based in Cairns, we understand the needs of the local community and provide products designed for the Cairns climate. Our team is committed to offering exceptional customer service and personalized advice.
Contact Sunrise Blinds Today for Your Custom Roller Blinds and Blinds Needs
If you’re ready to transform your space with Custom Roller Blinds Cairns or explore our range of Blinds Cairns, get in touch with Sunrise Blinds today. Our expert team is here to help you find the perfect window treatments for your home or business, ensuring a stylish, functional, and comfortable space.
Call us at +61474132758 or visit us in our Cairns showroom to see our full range of blinds and shutters. We look forward to assisting you with your next window project!5 -
Transform Your Outdoor Living Space with Choice One Landscape: Expert Services in San Ramon and Blackhawk, CA
At Choice One Landscape, we specialize in creating stunning outdoor spaces that are both functional and beautiful. Whether you're interested in a concrete patio in San Ramon, a complete backyard remodel in San Ramon, or professional landscaping in Blackhawk, our experienced team is here to help you bring your outdoor vision to life. With years of expertise in landscaping and hardscaping, we offer top-quality services that will enhance your home’s exterior, providing lasting beauty and functionality.
Located at 2641 Laramie Dr., Modesto, CA 95355, we proudly serve homeowners in San Ramon, Blackhawk, and the surrounding areas. From paver installation in Blackhawk to custom outdoor kitchen designs, we provide a comprehensive range of services designed to create the outdoor space of your dreams. Here's a closer look at the services we offer:
Concrete Patio in San Ramon
A concrete patio in San Ramon can enhance your backyard, providing a durable and stylish area for relaxation and entertainment. Whether you're looking for a smooth, modern finish or a more decorative stamped concrete design, our team at Choice One Landscape can create the perfect patio for your home. We use high-quality materials to ensure that your concrete patio is both beautiful and built to last.
Backyard Remodel in San Ramon
If you're looking to transform your outdoor space, a backyard remodel in San Ramon is the perfect way to do so. Our team specializes in designing and building custom backyard retreats that match your style and functionality needs. From installing hardscaping features like fire pits, retaining walls, and pathways to enhancing your landscaping with beautiful plants and lighting, we’ll work closely with you to turn your vision into reality.
Artificial Turf Installation in San Ramon
Say goodbye to the hassle of maintaining a natural lawn with our artificial turf installation in San Ramon. Artificial turf offers a low-maintenance, water-saving solution that remains green and lush throughout the year. Whether you're looking for a beautiful lawn for your kids to play on or want to conserve water, our high-quality turf provides the perfect solution for your outdoor space.
Sod Installation in San Ramon
For homeowners who prefer the look and feel of natural grass, our sod installation in San Ramon is the ideal option. Sod provides an instant, vibrant lawn that is ready for use. Our team ensures proper installation to help your new lawn thrive quickly, offering an efficient and long-lasting solution to enhance the beauty of your yard.
Outdoor Kitchen Contractor in San Ramon
As an experienced outdoor kitchen contractor in San Ramon, we specialize in creating custom outdoor kitchens that elevate your backyard into an entertainment paradise. Whether you’re looking for a simple BBQ area or a fully-equipped kitchen with built-in grills, countertops, and seating, we can design a space that fits your needs. Our outdoor kitchens are perfect for cooking, dining, and entertaining in the open air.
Hardscape Contractor in San Ramon
At Choice One Landscape, we are a trusted hardscape contractor in San Ramon, offering a wide range of hardscaping services to complement your outdoor space. Whether you want to install a new patio, build a retaining wall, or create a decorative walkway, our team has the skills and experience to bring your hardscaping ideas to life. We work with a variety of materials to ensure your hardscape features are both durable and visually appealing.5 -
Custom Paver Patios in Ponte Vedra Beach, FL
A custom paver patio is the perfect way to create an outdoor space that complements your home and lifestyle. Whether you're looking for a relaxing retreat or an area to entertain guests, our expert team will design and install a custom paver patio that suits your specific needs. At MG Pavers Hardscape and Stones, we offer a variety of paver materials, colors, and patterns, ensuring that your patio is as unique as your home. From classic designs to contemporary styles, we work closely with you to bring your vision to life with the highest quality materials and precision installation.
Driveway Pavers in Ponte Vedra Beach, FL: Enhance Your Curb Appeal
Your driveway is one of the first things people notice when they approach your home. Installing driveway pavers in Ponte Vedra Beach, FL is an excellent way to boost your home’s curb appeal while also creating a durable, long-lasting surface. MG Pavers Hardscape and Stones offers a variety of high-quality paver options, including concrete, brick, and natural stone, to create a driveway that enhances the overall aesthetic of your property. Our pavers are designed to withstand the wear and tear of daily traffic and the Florida weather, ensuring a beautiful and functional driveway for years to come.
Walkway Pavers in Ponte Vedra Beach, FL: Elegant Pathways for Your Outdoor Space
A well-designed walkway can add both beauty and functionality to your landscape, guiding guests through your garden or to your front door with style. At MG Pavers Hardscape and Stones, we offer a wide range of walkway pavers in Ponte Vedra Beach, FL to create elegant, durable pathways. Whether you’re looking for a rustic natural stone path or a more modern, sleek design, we have the right materials to match your vision. Our experienced team will ensure that your walkway is both aesthetically pleasing and built to last, providing a charming and durable solution for your outdoor spaces.
Hardscape and Stonework in Ponte Vedra Beach, FL: Expert Craftsmanship for Your Outdoor Areas
As specialists in hardscape and stonework in Ponte Vedra Beach, FL, we provide a wide range of services to transform your outdoor living areas. From paver patios and walkways to retaining walls, fire pits, and stone features, we bring expert craftsmanship and design to every project. At MG Pavers Hardscape and Stones, we take pride in using high-quality materials to create hardscaping features that are not only beautiful but also functional and long-lasting. Whether you're looking to create an elegant stone retaining wall or add a custom stonework feature to your garden, we are here to bring your outdoor vision to life.
Patio Design in Ponte Vedra Beach, FL: Custom Solutions for Your Outdoor Living Space
A well-thought-out patio design is key to maximizing the potential of your outdoor space. Whether you're looking to create a cozy retreat or a spacious area for entertaining, our team at MG Pavers Hardscape and Stones specializes in custom patio designs in Ponte Vedra Beach, FL. We work with you to understand your vision and preferences, providing expert advice on materials, layout, and design. From classic paver patios to elaborate outdoor kitchens and fire pits, our team will ensure that your patio is a beautiful, functional extension of your home.
Why Choose MG Pavers Hardscape and Stones?
Expert Installation: With years of experience, we provide expert installation of custom paver patios, driveway pavers, walkway pavers, and more.
High-Quality Materials: We use only the best materials to ensure your hardscaping is not only beautiful but also durable and long-lasting.
Custom Designs: Every project is unique. We offer personalized design solutions that suit your style, needs, and budget.
Professional Service: Our team is dedicated to delivering outstanding customer service and craftsmanship, ensuring that every project meets or exceeds your expectations.
Affordable Pricing: We offer competitive pricing without compromising on quality, so you get the best value for your investment.
Get Started with MG Pavers Hardscape and Stones Today!
Ready to transform your outdoor space with custom paver patios, driveway pavers, stonework, or patio design in Ponte Vedra Beach, FL? MG Pavers Hardscape and Stones is here to help! Our team of professionals is dedicated to creating outdoor spaces that enhance the beauty, functionality, and value of your home.
Contact us today at +1 904-875-4280 or visit us at 9339 Craven Rd Suite A, Jacksonville, FL 32257 to schedule a consultation. Let us help you create the outdoor space of your dreams with expert hardscape and stonework services!2

