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 - "works for both"
-
I don't understand why every non-technical person who comes to do work in my apartment messes up my fucking router.
The cleaning lady - multiple times knocked the antennas partially off. Like fucking clock work. I don't get it, why is the cleaning lady attracted to my router antennas and why does she need to be so hard on them? Whatever.
The most ridiculous episode was today. And it wasn't the cleaning lady. I had a few people here doing some work today and the woman in charge who was here informed me before that they might have to move the furniture "a little."
I come home, and like a bad omen, the plastic parts on BOTH my router antennas are missing. Completely gone. It's just the the wires. Now, the router still works fine in my tiny apartment, but it is a fancy Asus router (I learned the hard way not to buy cheap routers) and I'd like it to not have fucking wires as antennas.
I email the woman (paraphrased):
Me: hey, it seems the antennas got knocked off my router, do you have any idea where they might have went?
Her: Apologies if we didn't put everything back (no shit you didn't, that's why I've had to email you). If we knocked the antennas off the router (fucking "if"???? I literally just told you in my email that they were knocked off) , they are probably somewhere by the window on the floor (they weren't).
And I still haven't found them. Why the fuck do these people seemingly attack my router? I can't figure out what it is about it. You would think people would be more careful around electronics but naaah. Anyway, going to go keep looking for my router antennas.
43 -
Happened a few weeks ago but still awesome.
Me and a good friend have a website together but we don't monitor it too much.
He studied with me in the same class but went towards frontend/apps where I chose backend/servers/security. He knows how to do basic Linux stuff but that's about it.
We were at a party when he noticed that our site was offline. Walked over to me (because I manage the server) to notify me so I could look into it said I'd look into it (phone):
*visits site: nothing*
*online dig tool: got the server ip*
*remembered this one didn't have pubkey authentication - after three passwords attempts I'm in*
"service apache2 status"
*service doesn't exist*
*right, migrated this one from Apache to nginx....*
"history"
*ah, an nginx restart probably suffices...*
"service nginx restart"
BAM, site is reachable again.
*god damnit, lets encrypt cert expired...*
"history"
*sees command with certbot and our domain both in one*
"!892"
*20 seconds later: success message*
*service nginx reload*
BAM, site works securely again.
"Yo mate, check the site again"
Mate: 😶 w-w-what? *checks site and his watch* you started less than two minutes ago...?
Me: yeah..?
Mate: 😶 now this is why YOU manage our server and I don't 😐
His face was fucking gold. It wasn't that difficult for me (I do this daily) but to him, I was a God at that moment.
Awesome moment 😊23 -
* Starts work with boss
* Works till night
* Decide to continue the next day
* Both leave work at the same time
* Both arrive at work next day at the same time
"Hey is the work done?"
Oh forgive me for not fucking dreaming up the work in my fucking sleep.5 -
I’m a senior dev at a small company that does some consulting. This past October, some really heavy personal situation came up and my job suffered for it. I raised the flag and was very open with my boss about it and both him and my team of 3 understood and were pretty cool with me taking on a smaller load of work while I moved on with some stuff in my life. For a week.
Right after that, I got sent to a client. “One month only, we just want some presence there since it’s such a big client” alright, I guess I can do that. “You’ll be in charge of a team of a few people and help them technically.” Sounds good, I like leading!
So I get here. Let’s talk technical first: from being in a small but interesting project using Xamarin, I’m now looking at Visual Basic code, using Visual Studio 2010. Windows fucking Forms.
The project was made by a single dev for this huge company. She did what she could but as the requirements grew this thing became a behemoth of spaghetti code and User Controls. The other two guys working on the project have been here for a few months and they have very basic experience at the job anyways. The woman that worked on the project for 5 years is now leaving because she can’t take it anymore.
And that’s not the worse of it. It took from October to December for me to get a machine. I literally spent two months reading on my cellphone and just going over my shitty personal situation for 8 hours a day. I complained to everyone I could and nothing really worked.
Then I got a PC! But wait… no domain user. Queue an extra month in which I could see the Windows 7 (yep) log in screen and nothing else. Then, finally! A domain user! I can log in! Just wait 2 extra weeks for us to give your user access to the subversion rep and you’re good to go!
While all of this went on, I didn’t get an access card until a week ago. Every day I had to walk to the reception desk, show my ID and request they call my boss so he could grant me access. 5 months of this, both at the start of the day and after lunch. There was one day in particular, between two holidays, in which no one that could grant me access was at the office. I literally stood there until 11am in which I called my company and told them I was going home.
Now I’ve been actually working for a while, mostly fixing stuff that works like crap and trying to implement functions that should have been finished but aren’t even started. Did I mention this App is in production and being used by the people here? Because it is. Imagine if you will the amount of problems that an application that’s connecting to the production DB can create when it doesn’t even validate if the field should receive numeric values only. Did I mention the DB itself is also a complete mess? Because it is. There’s an “INDEXES” tables in which, I shit you not, the IDs of every other table is stored. There are no Identity fields anywhere, and instead every insert has to go to this INDEXES table, check the last ID of the table we’re working on, then create a new registry in order to give you your new ID. It’s insane.
And, to boot, the new order from above is: We want to split this app in two. You guys will stick with the maintenance of half of it, some other dudes with the other. Still both targeting the same DB and using the same starting point, but each only working on the module that we want them to work in. PostmodernJerk, it’s your job now to prepare the app so that this can work. How? We dunno. Why? Fuck if we care. Kill you? You don’t deserve the swift release of death.
Also I’m starting to get a bit tired of comments that go ‘THIS DOESN’T WORK and ‘I DON’T KNOW WHY WE DO THIS BUT IT HELPS and my personal favorite ‘??????????????????????14 -
!dev !rant - only very sad
I have been through the worst and saddest week of my life.
Sadly, it's getting worse every day.
I've been travelling around the world in my RV for years and haven't seen my parents for several years. Since I recently successfully completed a huge project and now have some spare time, I thought it would be nice to visit my parents. Everything went well. We were glad to see each other after a long time and had a nice day together. My father works as a security guard and had to go to work early in the evening. So I stayed alone with my mother.
In the evening my mother went to bed earlier than usual because she didn't feel well. I wished her a good night and wanted to surf the internet. But somehow I had a strange feeling (maybe a premonition) and after 5 minutes I went into her bedroom to bring her a glass of water and at this very moment she suffered a heart attack. I threw it all away and called 911 immediately. I shouted the address into the phone, screamed emergency, heart failure, unconscious while trying to start resuscitation at the same time. Fortunately, the ambulance was nearby, arrived in just a few minutes, pushed me aside and started the resuscitation procedure. It took more than an hour and dozens of electric shocks to even get a pulse.
The ambulance took her to the hospital for further medical treatment. I was in the hospital all night until at least she had a stable pulse.
As soon as I returned to my parents' house (the car was still warm, hardly 3 minutes have passed), my father, who had returned from work a few minutes earlier, suddenly suffered a thrombosis in his leg. The whole leg was slowly turning black. I immediately dragged him into the car and drove him as fast as I could to the hospital.
It's Sunday now. I haven't slept since Thursday and I've been in the hospital all the time. Both are in a coma, fighting for their lives. I thought it couldn't get any worse, my mother got sepsis and pneumonia today.
Now I have returned to my parents' house and pray that both of them will survive. Can't sleep even though I'm tired to death. Can't work, try to distract me somehow. Maybe I'll be able to sleep at least two hours. Then I'll go back to the hospital.
What a damn fuckin' week.45 -
Unpopular opinion about Microsoft buying GitHub.
Just putting it out there that when you made your github repos you did so under their privacy policy and terms and will be protected under those in the future, and that both GitHub and Microsoft are corporations with the goals of making money.
Are people seriously mad that their code has gone from one capitalist corporation to another, with no foreseeable change in privacy or data policy? I have respect for those that switched to self hosted long ago since that's going from corporate to private, but if you throw away the UX and community GitHub has developed because a multinational corporation (with so many branches, products and divisions, which happens to have a few products you don't like) will soon own it, are you actually making a rational, guided decision?
Also just throwing it out there that GitLab is also a company. They've also had issues with keeping data intact in the past. They do, however, have free private repos (although I can't ever trust someone who gives me "free" privacy) as well as builtin CI. There are some definite upsides to it, although the UX has a ton of differences. If you're expecting the same dashboard and workflow you've used on GitHub, don't, GitLab has cool features but the bells and whistles aren't the exact same.
If you're switching to GitLab solely because of Microsoft, step back and think, regardless of how popular it might make you to hate Microsoft, is it really worth changing your development ecosystem to go from one corporate entity to another solely because you don't like the company?
I use GitLab and GitBub as well as Bitbucket and selfhosted git on a daily basis. They each have their upsides and downsides; but I think switching from one to the other solely because of Microsoft is not only totally irrational, but really makes light of/disrespects the amazing tools and UX the teams behind each one have carefully developed. Pick your Git hosting based on features and what works out for your use case, not because of which corporate overlord has their name plastered on it.
(Also just throwing it out there that lots of devs love VS Code, and that's Microsoft owned too... They did also build and pioneer a bunch of really cool shit for devs including Typescript so it's not like they're evil or incapable in any sense?)11 -
Storytime!
This customer comes in and practically throws a computer on the counter.
Customer: This computer isn't working. I've ran the diagnostics and it says it's software. *places a dvd case with a 32 bit Windows 7 disk in it on the counter* It had Windows 10 on it, but I want Windows 7 on it.
Me: Well, you may have issues with the drivers if you put Windows 7 on it--
Customer: I don't care, I just want Windows 7.
Me: You SHOULD care. That means no wifi, no display, no mouse... Windows 7 doesn't like Windows 10 hardware.
Customer: Then... check to see Windows 7 compatibility!
Me: Alright.... *makes notes to check for Windows 7 compatibility*
Me: So has this Windows 7 been used before?
Customer: Yes, it has.
Me: On how many computers?
Customer: I've installed it on two computers and it works just fine.
Me: That's weird because Windows license keys are for one computer only. Are both of them connected to the internet?
Customer: Yes.
Me: Well, okay then... *finishes up ticket*
Customer: I work in this field and I just don't understand why they don't come with the disks anymore. How much is a Windows 10 disk?
Me: *gives price*
Customer: And do you have any?
Me: Let me check *I go to where they are, find some and come back out*
Me: Unfortunately we're out at the moment and would have to special order some back in.
Customer: OK. So then how much to fix this computer?
Me: *price of installing Windows and backing up data*
Customer: That's halfway to the price of a new one of these!
Me: Well yes, an HP at Walmart... But you do have that option if you want to take it.
Customer: Well, why does it cost that much?
Me: Well, it's $labor1 to install Windows, $labor2 to do some basic setup and drivers, and $labor3 to backup and restore data.
Customer: Oh, well I don't want data.
Me: Okay, well then it would be $total - $labor3
Customer: ...Okay, fine
Me: *updates the ticket*
When she finally left I put it on the bench and the first message said "SMART ERROR." I then did 4 different tests that said "lol, the hard drive is failing."
If you "worked in this field," you would know that a SMART error is hard drive related.
If you worked in this field, you would know that Windows is only a 1PC license, so why are you lying about installing it with no issues on other computers?
If you worked in this field, you would know you would want a 64bit Windows on your computer.
If you worked in this field, you would know how to find a Windows 10 installation media online.
If you worked in this field, you would know that HPs are not good computers to get.
IF YOU FUCKING WORKED IN THIS FIELD YOU WOULDN'T BE SUCH A FUCKING CUNT.17 -
For people who think/find that open source solutions are always better than commercial/paid/proprietary ones, you are not going to like this rant.
I'm starting to get really fucking fed up with people always, whenever I see someone (including myself) mentioning that an open source solution which is an alternative to a closed source one, saying that it's shit.
I've had countless encounters on here (also irl) where someone mentions that an open source solution (GIMP or Libre Office for example) is shit by default while they've maybe (or probably?) not even used it themselves.
Also people going "you can't even compare those two as for what they can do/features/functions". I'm definitely not saying that those open solutions are perfect. But to call them worthless or shit and/or to say that you literally 'cannot compare them' or that the open solution just doesn't work as a *FACT* is fucking bullshit.
Let's take GIMP for example, the use case of a friend of mine:
- He works both with macOS and Linux Mint, he *needs* a design/photo editing tool which is cross platform. (or at least one which works on macOS+Linux)
- He does not mind paying for software but he prefers to use software which is free as in freedom because he also likes to tinker with the software (a lot of people find this argument bullshit, I noticed on here. Why is that? It's a valid reason. Maybe not for you but we're not talking about you right now).
- He likes Photoshop but due to Linux incompatibility and the fact that he can't tinker around with the code, it's not an option for him.
- He'd gladly go for paid software but GIMP fills all his design/photo editing needs (also the more advanced ones but don't ask them to me because I have no fucking clue how that shit works)
- GIMP *just works* for him, he never has trouble with it.
Let's take Libre Office, my own use case:
- It *NEEDS* to work on Linux, which Libre does.
- It *HAS* to be open source, ethic/moral thingy; Libre Office is open source.
- It doesn't need to work complete magic but it needs proper basic document and 'excel' sheet functionalities which is the case with Libre and it works *for me*.
- I don't mind paying for it, will probably donate in the future (seeding the macOS+windows+linux versions fulltime at the moment)
See, for our use cases, it works very well. So why go into "it's no match for proprietary alternatives" mode right away? It actually is, as you see in the examples above.
Please stop saying that those solutions *don't work* or *are shit* because they do work and are useful for me and loads of people around the world.
Do they have *ALL* the features which their proprietary alternatives have? Maybe, maybe not, maybe they're missing some and maybe they even have some features which the proprietary alternatives don't have, I haven't checked out every feature.
I'm not saying that it works for you, for the record, I'm just saying that just because for you it is a fact that they're bad/shit/hardly working, doesn't mean they are for others.21 -
this.title = "gg Microsoft"
this.metadata = {
rant: true,
long: true,
super_long: true,
has_summary: true
}
// Also:
let microsoft = "dead" // please?
tl;dr: Windows' MAX_PATH is the devil, and it basically does not allow you to copy files with paths that exceed this length. No matter what. Even with official fixes and workarounds.
Long story:
So, I haven't had actual gainful employ in quite awhile. I've been earning just enough to get behind on bills and go without all but basic groceries. Because of this, our electronics have been ... in need of upgrading for quite awhile. In particular, we've needed new drives. (We've been down a server for two years now because its drive died!)
Anyway, I originally bought my external drive just for backup, but due to the above, I eventually began using it for everyday things. including Steam. over USB. Terrible, right? So, I decided to mount it as an internal drive to lower the read/write times. Finding SATA cables was difficult, the motherboard's SATA plugs are in a terrible spot, and my tiny case (and 2yo) made everything soo much worse. It was a miserable experience, but I finally got it installed.
However! It turns out the Seagate external drives use some custom drive header, or custom driver to access the drive, so Windows couldn't read the bare drive. ffs. So, I took it out again (joy) and put it back in the enclosure, and began copying the files off.
The drive I'm copying it to is smaller, so I enabled compression to allow storing a bit more of the data, and excluded a couple of directories so I could copy those elsewhere. I (barely) managed to fit everything with some pretty tight shuffling.
but. that external drive is connected via USB, remember? and for some reason, even over USB3, I was only getting ~20mb/s transfer rate, so the process took 20some hours! In the interim, I worked on some projects, watched netflix, etc., then locked my computer, and went to bed. (I also made sure to turn my monitors and keyboard light off so it wouldn't be enticing to my 2yo.) Cue dramatic music ~
Come morning, I go to check on the progress... and find that the computer is off! What the hell! I turn it on and check the logs... and found that it lost power around 9:16am. aslkjdfhaslkjashdasfjhasd. My 2yo had apparently been playing with the power strip and its enticing glowing red on/off switch. So. It didn't finish copying.
aslkjdfhaslkjashdasfjhasd x2
Anyway, finding the missing files was easy, but what about any that didn't finish? Filesizes don't match, so writing a script to check doesn't work. and using a visual utility like windirstat won't work either because of the excluded folders. Friggin' hell.
Also -- and rather the point of this rant:
It turns out that some of the files (70 in total, as I eventually found out) have paths exceeding Windows' MAX_PATH length (260 chars). So I couldn't copy those.
After some research, I learned that there's a Microsoft hotfix that patches this specific issue! for my specific version! woo! It's like. totally perfect. So, I installed that, restarted as per its wishes... tried again (via both drag and `copy`)... and Lo! It did not work.
After installing the hotfix. to fix this specific issue. on my specific os. the issue remained. gg Microsoft?
Further research.
I then learned (well, learned more about) the unicode path prefix `\\?\`, which bypasses Windows kernel's path parsing, and passes the path directly to ntfslib, thereby indirectly allowing ~32k path lengths. I tried this with the native `copy` command; no luck. I tried this with `robocopy` and cygwin's `cp`; they likewise failed. I tried it with cygwin's `rsync`, but it sees `\\?\` as denoting a remote path, and therefore fails.
However, `dir \\?\C:\` works just fine?
So, apparently, Microsoft's own workaround for long pathnames doesn't work with its own utilities. unless the paths are shorter than MAX_PATH? gg Microsoft.
At this point, I was sorely tempted to write my own copy utility that calls the internal Windows APIs that support unicode paths. but as I lack a C compiler, and haven't coded in C in like 15 years, I figured I'd try a few last desperate ideas first.
For the hell of it, I tried making an archive of the offending files with winRAR. Unsurprisingly, it failed to access the files.
... and for completeness's sake -- mostly to say I tried it -- I did the same with 7zip. I took one of the offending files and made a 7z archive of it in the destination folder -- and, much to my surprise, it worked perfectly! I could even extract the file! Hell, I could even work with paths >340 characters!
So... I'm going through all of the 70 missing files and copying them. with 7zip. because it's the only bloody thing that works. ffs
Third-party utilities work better than Microsoft's official fixes. gg.
...
On a related note, I totally feel like that person from http://xkcd.com/763 right now ;;21 -
Me: Hi Guys, theres no docs on our custom push notification / deeplinking implementation. I've tried to work backwards from a QA testing doc to add new links. Can someone tell me if this is all ok? It seems to behave a little weird.
Dev: Looks ok, but we've moved to the braze platform for sending notifications. You'll need to trigger braze notifications now. Test that it works ok with that <confluence-link>
*hour later*
Me: I've tried the debugging tool, both with my payload and one of the samples from the link. It displays on the phone, but tapping it doesn't trigger the deeplinking.
Dev: No it works, try one of these <screenshot of samples I used>
*hour later*
Me: Tried it again on the real device to make sure, as well as on develop and master. Not working with those samples or mine.
Dev: No it does. It comes in here in this library <github link to line of code>
Me: ... Nope, debugged it, it doesn't get passed the next 'if' check on the next line as its missing a key/value. The whole function does nothing.
Dev: Oh do you want to send a braze notification?
Me: ..... you told me I had too .... yes I guess.
Dev: ok for a braze notification it works different, send this <entirely different sample no where on the link>
Me: ...... but ..... this is only for braze notifications ..... why .... all the samples have deeplink url's .... but they don't ....... are you ..... FFS!!!!! !@#?!
(╯°□°)╯︵ ┻━┻
┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻
(ノಠ益ಠ)ノ彡┻━┻
┌П┐(ಠ_ಠ)1 -
aslkfjasf. i've spent 12 hours today (and lots more over the past two days) trying to reproduce a bug that my [sort of] coworker insists is present. I haven't seen any proof of it anywhere, let alone steps to reproduce it.
I've poured through the code, following all of its tangled noodles of madness from start to fuck-this-shit. I've read and reread the pile of demon excrement so many times i can still read the code when i close my eyes. so. not. kidding.
anyway, the coworker person is getting mad because i haven't fixed the bug after days, and haven't even reproduced it yet. This feature is already taking way too fucking long so I totally don't blame him. but urghh it's like trying to unwind a string someone tied into a tight little ball of knots because they were bored.
but i just figured out why I haven't been able to reproduce it.
the stupid fucking unreliable dipshit ex-"i'm a rockstar and my code rocks"-CTO buffoon (aka API Guy, aka the `a=b if a!=b`loody pointless waste of mixed spaces and tabs) that wrote the original APIs ... 'kay, i need to stop for breath.
The dumbfuck wrote the APIs (which I based the new ones on mostly wholesale because wtf messy?), but he never implemented a very fucking important feature for a specific merchant type. It works for literally every type except the (soon-to-be) most common one. and it just so happens that i need that very specific feature to reproduce this bug.
Why is that one specific merchant type handled so differently? No fucking idea.
But exactly how they're handled differently is why I'm so fking pissed off. It's his error checking. (Some) of his functions return different object types (hash, database object, string, nullable bool, ...) depending on what happened. like, when creating a new gift, it (eventually...) either returns a new Gift object or a string error basically saying "ahhh everything's broken again!" -- which is never displayed, compared against, or recorded anywhere, ofc. Here, the API expects a Hash. That particular function call *always* returns a Hash, no matter what happens in the myriad, twisting, and interwoven branches the code could take. So the check is completely pointless.
EXCEPT. if an object associated with another object associated with the passed object (yep) has a type of 8. in which case, one of the methods in the chain returns a PrintQueue that gets passed back up the call stack. implicitly, and nested three levels in. ofc.
And if the API doesn't get its precious Hash, it exclaims that the merchant itself is broken, and tells the user to contact support. despite, you know, the PrintQueue showing that everything worked perfectly. In fact, that merchant's printer will be happily printing away in the background.
All because type checking is this guy's preferred method of detecting errors. (Raise? what's that? OOP? Nah, let's do diverging splintered-monolithic with some Ruby objects thrown in.)
just.
what the crap.
people should keep their mental diarrhea away from their keyboards.
Anyway. the summary of this long-winded, exhaustion-fueled tirade is that our second-most-loved feature doesn't work on our second-most-common merchant type.
and ofc that was the type of merchant i've been testing on. for days. while having both a [semi] coworker and my boss growing increasingly angry at me for my lack of progress.
It's also a huge feature, and the boss doesn't understand that. (can't or won't, idk)
So.
yep.
that's been my week.
...... WHAT A FUCKING BUFFOON!rant sheogorath's spaghetti erroneous error management vomit on her sweater already your face is an anti-pattern dipshit api guy two types bad four types good root swears oh my3 -
I think I've finally realized something:
my boss does not actually listen to me.
Quite often during out weekly conference calls, he asks me questions about things I had just covered. I always assumed he couldn't hear because a) i'm rather quiet, and b) freeconferencecall.com bloody sucks.
But it happens for written things, too. I type an update on something in Slack, and an hour later he asks me for an update on it. I always assumed (likely correctly) that he has nearly zero reading comprehension. He writes like a 5th grader and only remembers a few nouns and one verb from anything he reads. But I swear he actively skips reading anything I write.
Now, however, I have frigign' proof that he ignores me. We have both been trying to get ahold of {Clover contractor} via email for months. We have gotten three replies, but twice scheduling prevented setting up a meeting, and once I simply missed the email amongst the flood of log spam I haven't been allowed to address.
I have asked the boss multiple times for the guy's phone number -- in emails, in Slack, and in front of everyone during our weekly conference calls -- and he has totally ignored me every. single. time.
Here's a transcript of my seventh(!) attempt:
Boss [2:13 PM]
Have you and {Clover contractor} met yet? If not make it happen. Stop letting it not happen. GIve specific dates and times. {Clover contractor} let's talk Tuesday 2pm or Wednesday 4pm which works better for you.
Root [2:14 PM]
For the seventh and last time, give me his phone number.
Getting ahold of him via email has not worked.
Boss [2:14 PM]
I am sendning one more, from that I want you to make the meeting happen asap.
Root [2:14 PM]
if i call him, setting up a meeting will be _easy_
Give me his phone number and I will handle this.
It is now 3:00pm and I haven't gotten a response.
Either he doesn't want it to happen, wants me to fail for some reason, or he's totally fucking oblivious. Yet ofc it's me who earns all of the blame when this meeting doesn't happen, and I'm likely to get yelled at in front of everyone, fucking again.
I'm really beginning to hate this guy.
I can't wait to walk out on him and watch the company come crashing down in my absence. It'll be sad to watch, but bloody hell does he deserve it for his arrogant incompetence.14 -
Two nginx config files for two different sites.
Both exactly the same except for the fastcgi location, document root and virtual host.
THE MOTHERFUCKING GET VALUES DOESN'T REWRITE PROPERLY WITH ONE OF THEM BUT IT WORKS PER-FUCKING-FECTLY WITH THE OTHER ONE.
GO SUCK A COCK NGINX. AND NO I'M NOT SWITCHING TO APACHE.20 -
so here's a little story:
yesterday i decided to buy a shiny new gtx 1070 since my pc is getting very old, i come back from the store and i realize that my case is slightly too small to fit the card.
'No bg deal' i think to myself, i run out to buy a saw and after some work i made some space to fit the card in by sawing off some hard drive bays i was not using. I plug in the card, i wire up the pc, and it does not boot: after some asking around (i have never really built a pc before), i relaize i need more power to the card and wire a second PCIE connector. low and behold, i power of the pc and it works! Once logged into windows tho, i realize none of my HHDs are detected...
To cut a long story short, i **did not think to unplug the hard drives before i started sawing off bits of the case and the vibrations killed both of them!** i lost ~1TB of data in the process: a lot of it was games and programs, but i have yet to tally up the damage.
I am completely bamboozled by what the fuck just happened, i think i'll go hand myself in to the nearest police station for crimes against technology... or maybe a mental clinic would be best?...
PS: my system drive was spared since its an SSD, but i may as well re-install windows at this point since i lost 90% of my software11 -
3 rants for the price of 1, isn't that a great deal!
1. HP, you braindead fucking morons!!!
So recently I disassembled this HP laptop of mine to unfuck it at the hardware level. Some issues with the hinge that I had to solve. So I had to disassemble not only the bottom of the laptop but also the display panel itself. Turns out that HP - being the certified enganeers they are - made the following fuckups, with probably many more that I didn't even notice yet.
- They used fucking glue to ensure that the bottom of the display frame stays connected to the panel. Cheap solution to what should've been "MAKE A FUCKING DECENT FRAME?!" but a royal pain in the ass to disassemble. Luckily I was careful and didn't damage the panel, but the chance of that happening was most certainly nonzero.
- They connected the ribbon cables for the keyboard in such a way that you have to reach all the way into the spacing between the keyboard and the motherboard to connect the bloody things. And some extra spacing on the ribbon cables to enable servicing with some room for actually connecting the bloody things easily.. as Carlos Mantos would say it - M-m-M, nonoNO!!!
- Oh and let's not forget an old flaw that I noticed ages ago in this turd. The CPU goes straight to 70°C during boot-up but turning on the fan.. again, M-m-M, nonoNO!!! Let's just get the bloody thing to overheat, freeze completely and force the user to power cycle the machine, right? That's gonna be a great way to make them satisfied, RIGHT?! NO MOTHERFUCKERS, AND I WILL DISCONNECT THE DATA LINES OF THIS FUCKING THING TO MAKE IT SPIN ALL THE TIME, AS IT SHOULD!!! Certified fucking braindead abominations of engineers!!!
Oh and not only that, this laptop is outperformed by a Raspberry Pi 3B in performance, thermals, price and product quality.. A FUCKING SINGLE BOARD COMPUTER!!! Isn't that a great joke. Someone here mentioned earlier that HP and Acer seem to have been competing for a long time to make the shittiest products possible, and boy they fucking do. If there's anything that makes both of those shitcompanies remarkable, that'd be it.
2. If I want to conduct a pentest, I don't want to have to relearn the bloody tool!
Recently I did a Burp Suite test to see how the devRant web app logs in, but due to my Burp Suite being the community edition, I couldn't save it. Fucking amazing, thanks PortSwigger! And I couldn't recreate the results anymore due to what I think is a change in the web app. But I'll get back to that later.
So I fired up bettercap (which works at lower network layers and can conduct ARP poisoning and DNS cache poisoning) with the intent to ARP poison my phone and get the results straight from the devRant Android app. I haven't used this tool since around 2017 due to the fact that I kinda lost interest in offensive security. When I fired it up again a few days ago in my PTbox (which is a VM somewhere else on the network) and today again in my newly recovered HP laptop, I noticed that both hosts now have an updated version of bettercap, in which the options completely changed. It's now got different command-line switches and some interactive mode. Needless to say, I have no idea how to use this bloody thing anymore and don't feel like learning it all over again for a single test. Maybe this is why users often dislike changes to the UI, and why some sysadmins refrain from updating their servers? When you have users of any kind, you should at all times honor their installations, give them time to change their individual configurations - tell them that they should! - in other words give them a grace time, and allow for backwards compatibility for as long as feasible.
3. devRant web app!!
As mentioned earlier I tried to scrape the web app's login flow with Burp Suite but every time that I try to log in with its proxy enabled, it doesn't open the login form but instead just makes a GET request to /feed/top/month?login=1 without ever allowing me to actually log in. This happens in both Chromium and Firefox, in Windows and Arch Linux. Clearly this is a change to the web app, and a very undesirable one. Especially considering that the login flow for the API isn't documented anywhere as far as I know.
So, can this update to the web app be rolled back, merged back to an older version of that login flow or can I at least know how I'm supposed to log in to this API in order to be able to start developing my own client?6 -
Background: I'm not drunk yet, BUT I'M WORKING ON IT.
okay.
I just finished a second sprint on my React app. The first was to build a merchant onboarding flow. The second was to do substantial cleanup as I learned more about react/redux, and to create a "supply order" flow -- basically purchasing marketing materials and services. I finished that in a week, and I'm pretty proud. api-guy wanted it done in a day. i laughed. he probably could have, but it would have been a copy of the code in a new repo with some lines changed.
ANYWAY. it's all done and It's super pretty and works amazingly well. It has both the onboarding flow and the ordering flow, with a nice pop-out sidebar for navigation, namespaced actions, etc. Everything is pretty clean. I even added a cart to the ordering (despite everyone telling me not to) because wtf, what if someone wants to order TWO items? dumbasses. So I made that. it's sexy.
Anyway, it's all done and shiny and fancy and wonderful and I'd *love* to share screenshots if only it didn't give away where I worked. :<
... but the point of the rant!
After the first sprint, I made a copy of the repo so I could rework it and add more functionality without touching the original. (Hey! That's what a branch is for, right? Why didn't I branch it up?
well, read on)
I knew we were going to have multiple separate flows for this app: onboard, ordering, merchant tools, admin tools, support, etc. So, I wrote its server portion (the webpack builder + http server) so it would serve the same app at whatever url the user hit, and set a cookie containing that host+url. This allows the app to serve different content (basically showing/hiding content) based on the URL and future login roles. If someone hits /order, it would hide everything but the order flow. If they're a merchant, it would show all the merchant views plus ordering, etc.
tl;dr This way I can use the same codebase for multiple sites, drastically simplifying development, branding, and what have you. This new app could obv also be a drop-in replacement for the original onboarding project because of the above.
HOWEVER. this apparently isn't good enough for api-guy. He's terrified that adding/updating future components will affect all the existing content somehow.
so.
now we have three repos for basically the same codebase. 1) onboard aka "surfboard", 2) ordering, 3) merchant tools, aka "ferrari" (the "future" app).
Except.
1) "surfboard" is a very old version of the code. 3) "ferrari" is also old, since 2) "ordering" has newer content in it now.
... and somehow this is better?
fuck if i can figure out how.
His reasoning is "well, you won't be touching surfboard or ordering for 6 months, so now you don't have to worry about it." Sure, except, you know, it'll be a pain in the ass in 6 months now when I have a crapton of code and branding to redo. ffs.
Oh. We also have three Heroku pipelines for these three repos. for the same codebase.
and now you know why i'm drinking.undefined idiocy fucking hell fuck this noise api guy i'm just gonna replace everything later this codebase is as dry as the friggin ocean7 -
Update on my previous rants: finally got it working! after spending 2 days compiling the kernel and trying to fix some issues, I just reinstalled my laptop with a fresh antergos image, installed the kernel and both the speaker and headphones work just fine! no distortion, no weird chrome video speed ups, just works - it was probably just something I had installed ages ago to make external usb sound work.
I also used this opportunity to apply the missing grub theme and found this: https://gnome-look.org/content/... it's perfect with almost any custom background too.
Why is this a rant? well some asshat at gnome decided to remove the "global dark theme" option from tweaks, so now thousands of themes are broken if you want the dark theme, since the developers now have to offer the dark theme seperately, well numix-frost has had this reported since the 7th may and no response since, the hack to make it work is to replace the gtk.css with the dark equivalent gtk-dark.css for now..
31 -
Hello again, everyone. As Sunday comes to a close, and Monday is fast approaching, I'll share with you the likely cause of my death by stroke and/or heart attack:
MONDAY MORNING COFFEE OF HORROR
Disclaimer: Do NOT try this. I am a professional addict. I am not responsible for anything this brew from hell causes to you and/or those around you.
So, I wake up, feeling like I haven't slept for days, or just notice the fucking alarm clock shrieking because I pulled an all-nighter.
Step 1: Silence alarm clock via mild violence.
Step 2: Get the coffee machine to brew some filter coffee (espresso works too)
Step 3: Get milk and ice cubes from the fridge (both are needed, I don't care if you don't like milk, trust me)
Step 4: Get 2 spoonfuls (not tea spoon, and actually FULL spoonfuls) into the biggest glass you have
Step 5: Pour just a little of the warm filter coffee into the glass, just to get the instant coffee wet enough, and start mixing, until the result looks like the horror you unleashed in your toilet a few minutes ago (and will do so again in a few)
Step 6: Mix in 25-50 ml milk, just for the aesthetic change of colour of the devil-brew, and to add the necessary amount of lactic acid to react with the coffee to produce chemical X
Step 7: Add ice cubes to taste (if you are new to this, add a lot)
Step 8. Slowly add the filter coffee while mixing furiously, so that the light brown paste at the bottom get dissolved (it's harder than it sounds)
Now, take a deep breath. Before you is a disgusting brew undergoing a chemical reaction, and your moves need to be precise otherwise it will explode. Note that sugar or any other form of sweetener is FORBIDDEN, as it will block the reaction chain and the result won't be as potent.
Take a straw (a big one, not those needle-like ones that some cafeterias give to fool you into believing that the coffee is more than 150ml). Put it inside the mix, and check that the route to the bathroom is free of obstacles.
Now, clench your abs, close your nose if you are new to this, grab the straw and DRINK!
DRINK LIKE THERE IS NO TOMORROW!
THAT BROWN DEVIL'S BILE WILL HAVE YOUR INTESTINES SPASM AND DANCE THE MACARENA WHILE TWIRLING A HULA HOOP!
YOUR HEART WILL GO OVERDRIVE HARDER THAN YOUR PC'S CPU WHEN COMPILING ON ECLIPSE AND BROWSING WITH IE AT THE SAME TIME.
The combination of caffeine and lactic acid will bring out the perfectly disgusting combination of sour and bitter usually expected in rotting lemons. After you manage to chug it down (DON'T SPILL OR SPIT ANY!) you have 30 - 60 seconds max to run to the porcelain throne, where you will spend the next 30-60 minutes.
After that, nothing can stop you! You will fix bugs, write entire codebases from scratch, punch that annoying coworker, punch that boss! You will be a demigod among mortals for the next 6-8 hours!
Your recipes for Monday morning coffee?13 -
Last Friday company-wide call consisted of the sales CEO bossman, the remote contractor dev, and myself. The only topic of discussion was CTO-bashing (bossman's favorite). Neither person had much of anything to say about their week, and they didn't want to hear my rather-lengthy summary either (I did a lot). All they wanted to do was bash the CTO (API Guy).
The CEO asked how many hours I had worked, and seemed annoyed when I said less than 40. Well screw you. Monday was Christmas, and Sunday was Encroaching Estranged Asshole Day. (Earlier rant)
I've been spending most of my time trying to learn the steaming mountain of rancid hippo shit that API Guy squeezed out, since he's leaving forever in 10 days. Sure, CEO bossman says he'll still be around to answer questions, but even with him right next to me in the office he's less than useful. After he's gone and finally feeling free of this farce? It'll be worth fuck-all.
So bossman is mad at me for both not working enough over Christmas, and not pumping out features at a frantic pace despite multiple explanations of why this is a bad idea. And he didn't care about what work I actually did do.
My every interaction with him makes me angry. Whenever I -- or anyone else -- does something he doesn't approve of, seemingly no matter the reasoning, he makes it out to be a failure on their part, and like he can't trust them as much now.
Well I'm sorry we're trying to make sure our websocket works perfectly before putting it in the hands of our customers who rely on it for cash processing.
I'm sorry I'm trying to recall printers that aren't configured properly, which also prevent customers from using our goddamn service they're paying for.
I'm sorry I'm trying to learn how everything works while I still have someone to talk to and ask questions of.
I'm sorry I'm preparing for the day I have to take over and have you breathing down my neck. Once API Guy's gone I'll be responsible for everything, and you'll be yelling at me and having a @Root bashing session instead if I don't know how to fix everything right away.
But no. All you care about is that I talk to you about what's going in so you can micromanage development despite having zero fucking understanding of goddamn anything. All you ever fucking want is the next shiny feature you can push to make more sales / keep your current contacts happy. Doesn't fking matter if it makes development awful later; that's tomorrow's problem. And yet you have the gall to bash API Guy over and over and over again for the codebase being a mess? Sure he's a terrible programmer, but been putting up with this exact same shit for five years. No wonder it's a mountain of rancid hippo shit. That's as much your fault as his, asshole.
I'm so sorry you "have serious concerns" about me. I don't want to put up with your shit either.
Fuck off and die.22 -
i was asked to start a new project, and another dev was brought onto the team shortly after. as soon as he joined, straight away he started an entirely new project and worked on it through the whole weekend, then came back on monday and just sort of pasted his files into/over the code i had already started and was working on, with no regard for folder structure or naming conventions or anything. his work was even split between 2 almost identically named namespaces (both of which were completely different to the existing project namespace) and his shit broke everything i did in the first place. the cherry on top is that none of his work was even functional, it was purely dummy/mockup web pages that weren't linked to any sort of backend.
when i asked him wtf he thought he was doing, he kept saying "i didnt touch your code" and refused to acknowledge that pasting a project over a different project can break stuff, then said it "wasn't his fault that i'm slow and not keeping up". and just kept saying vague bullshit about how i have to do it his way because he "has more experience"
he had no idea what my previous experience was, he had never asked and i had never told him, he just decided that he had more experience than me.
i dug through the shit and found out that he didn't just break my work, he had actually purposely deleted it when he realised it was getting in the way of his spaghetti. i showed him the commit and confronted him with it and all the cunt said was "well the good news is, you know the fix" and kept trying to dismiss me in the most disrespectful ways he could think of. i eventually snapped at him (long overdue at this point) and told him that any experienced developer would not commit code that didn't even fucking compile, especially when they're the one who broke it, and that he needs to grow up. of course he then complained that i was being unprofessional.
our manager decided we should go with fuckfaces """code""" without even looking at the work either of us had done, purely because fuckface is older than me and that's how the world works.
in the end i just told my manager that i refuse to work with the guy and he could either take him or me off the project (guess who he picked) or i quit.
after a few months of the guy failing to deliver any of even the basic functionality that was asked for, the entire project got scrapped, and the dude just quit once everyone realised he was literally just larping as an experienced dev but couldn't accomplish simple tasks.
i never received an apology from anybody involved.5 -
tl;dr: Bossmang blaming my code for a database connection issue thrown from outside of my code. Bossmang doesn’t listen. Bossmang doesn’t want to believe it’s a connection issue.
———
Bossmang: The code you wrote is causing insane spec failures in the release branch! It’s hard to follow because it’s so insane, but the cause is your code not properly handling undefined settings! Look at this! <spec>
Me: Specs pass on my machine. I ran it with both a set and nil value. <screenshots>
Bossmang: It works when you set it to nil.
Me: But a setting that doesn’t exist returns nil? <screenshot>
Bossmang: Not seeming to.... So this is the spec failure from the release: “No connection pool with id primary found. <stacktrace that starts outside of my code>”
Me: ... That’s a DB connection error. It’s also being thrown outside of my code, and from a `super` call to Rails.
Bossmang: But <unrelated> and <unrelated> and <other spec> is failing, and if I set the version, it has <other failure> instead! That calls your code first.
Me: It’s a database error. Also: <explains probable, unrelated cause of other failures, like someone didn’t mock a fucking external api call>
Bossmang: But if I restore a DB backup, it fails again.
Me: Restoring uses a dB connection, which could be exhausting the pool depending on the daemons you have running.
Bossmang: perhaps.
...
Bossmang: I still think it’s related to spec ordering.
🤦🏻♀️🤦🏻♀️🤦🏻♀️🤦🏻♀️🤦🏻♀️
This is tiring.12 -
Dear Managers,
This is not efficient:
Boss: * calls *
Me: * answers *
B: there's a bug in feature ABC! The form doesn't work!
M: ABC uses a lot of forms. Is it Form A, B, or C?
B: Umm... let's just go on a Zoom call!
* 5 minutes trying to set up a Zoom call *
* 3 more minutes trying to find the form *
B: This form in here.
M: It works fine for me. What data are you inputting?
B: * takes 5 minutes trying to reproduce the bug * (in the meantime, the call is basically an awkward silence)
You spent 5 minutes wasting both of our times trying to set up a Zoom meeting, and another 8 wasting MY tine trying to find the bug.
This is efficient:
B: There is a bug in form C. If I try to upload this data, it malfunctions.
M: Thank you. I'll look into it.
You saved me 8 minutes of staring at a screen and saved us both another 5 minutes of setting up a meeting.6 -
I built a feature. I asked questions for days. Nobody helped. I built it anyway, and while I'm not sure it's quite right, it works.
During a code review, I asked for clarification on who the fuck it's for. Simple fucking question. Didn't get an answer. I did get the same crap response twice, though. It's great because it both doesn't answer my question and makes things worse.
Let's refer to this as "branding." Here we go!
------
Root: "Should this be changed to blue? I'm not sure who the end-user is."
TC: "should be purple, then call it something more convenient" (...what?)
Root: "Better phrasing: if we use the feature, it should match our colors and be blue. If customers use it, it should match their colors and be red. It shouldn't be both. I looked through everything again, and i'm convinced that it's only for us, so it should be blue so it matches everything."
TC: "this should be purple, and then call it something [sic] red" (...what!? also: lolcopypaste)
------
But like, that's wrong in every single way. It's internal, not external. Doing both makes it confusing. Doing both and calling it external is fucking stupid. Did she even read the PR? or any of my questions? ugh.
I swear, it's like arguing with a boulder and expecting it to listen. An ugly, oversized boulder that comically resembles Jabba the Hutt. No joke.
Whatever, it can be purple. Later, if someone complains that it's confusing, I'll just link them to the damned PR. Then again, almost everything here is confusing AF, so I doubt anyone will actually notice.
Screw this place. So glad I'm on my way out.rant thundercunt the ugly boulder responds jabba the hutt root asks questions root has a code review6 -
So I used to do some freelancing in web development last year, nothing too fancy just some simple PHP websites. Comes the worst meeting in my life. So I am from India and we have a lot of long lasting business here being passed on over generations. TL;DR the guy was the owner of a very old business which was actually very huge and the guy was educated too, so I assumed that he'll be sensible as compared to other people.
The meeting was in an expensive cafe and he paid for it, he even told me upfront that meeting is on him. Great, right? So we sit down, order some coffee and then start discussing what he needed.
The guy needed an ecommerce website built with backend and logistics system integrated. We discussed possible designs for the website and stuff too and so far the deal looked promising to both of us.
I explained him the cost estimate and told him that I would email him the final quote from myself once we discussed server cost and shit.
So now comes the bargaining part where he asked me to give him server and domain for free.
At this point, I suspected that he didn't know that servers and domains are not something that you make. You have to purchase and renew them periodically.
So I told that guy that he didn't understand the cost estimation and explained to him that X is the cost of making this fucking thing and Y is its monthly maintenance cost, if he wanted annually could be done too. And this Y did not include server and domain costing.
Now came the fucking tide, the guy straight up turned to his shit and told me I am lying and trying to con him. So I gently asked him if he had ever gotten any website made. To which, he said No, but he knows how the costing works.
I was like "Bitch?". So I calmly tried to explain that that's not how websites are done, delivered and maintained.
He didn't seemed to be understanding and kept on fucking repeating that he knows his shit and blah blah.
At this point, I was like "Okay. Fuck this dude then. I can find another project. " and then I told him that he'll need to find someone according to his needs.
Interestingly enough, the guy called someone and then walked out of the cafe while talking on phone. I waited for 5 minutes and he didn't come back so I decided I would pay for my coffee and leave. Turns out the guy had paid his bill before my arrival and ditched me with the excuse of the call.
But oh well, I think working with such an idiot would have been much worse than paying for that coffee.4 -
Fuck that fucking company three way while dozens of homeless HIV crack junkies puke and shit their diarrhea on the three bosses!
I can't put it in words how stupid they are!
Let me try to tell you the latest story while I try not to get multiple strokes.
Backstory: We are three devs, all with a TCCI certification. One has been working for us for almost a year, the other one has been working for us since one and a half year. Both are good friends of mine, btw. I have been working there for almost three years.
Fortunately, I am allowed to work on a reasonable computer. The other devs work on PC's with Windows 7 and 8!
One has just 400 MB space left on his drive and has to delete every month some shit because he does not want to be able to call up websites anymore... How awful?!
The PC of the other great Dev Crashes three to six times a day and needs about 30 minutes to start up!
We can be so productive, but...
We told that in February one of our bosses and asked him to buy new hardware. His answer: yes, of course, I understand that, it's my turn (he always says that "ich bin da dran")
We got a new colleague in the middle of this fucking month. She is responsible for conception.
She works on an old notebook, but today she gets a fucking new PC to work on while the devs are trying to weld with a sparkler! Better hardware than every other Dev PC!!!
Guess what? She is the daughter of a friend of one of our bosses!
We are the only devs at this company.
Fuck that fucking company! Fuck that fucking bosses!
I think we don't go to work for that fucking company anymore!6 -
EXCEL YOU FUCKING PIECE OF SHIT! don't get me wrong, it's usefull and kt works, usually... Buckle up, your i for a ride. SO HERE WE FUCKING GO: TRANSLATED FORMULA NAMES? SUCKS BUT MANAGABLE. WHATS REALLY FUCKED UP IS HTHE GERMAN VERSION!
DID YOU HEAR ABOUT .csv? It stands for MOTHERFUCKING COMMA SEPERATED VALUES! GUESS WHAT SOME GENIUS AT MICROSOFT FIGURED? Hey guys let's use a FUCKING SEMICOLON INSTEAD OF A COMMA IN THE GERMAN VERSION! LET'S JUST FUCK EVERY ONE EXPORTING ANY DATA FROM ANY WEBSITE!
The workaround is to go to your computer settings, YOU CAN'T FUCKING ADJUST THIS IN EXCEL!, change the language of the OS to English, open the file and change it back to German. I mean, come on guys, what is this shit?
AND DON'T GET ME STARTED ON ENCODING! äöü and that stuff usually works, but in Switzerland we also use French stuff, that then usually breaks the encoding for Excel if the OS language is set to German (both on Windows and Mac, at least they are consistent...)
To whoever approved, implemented or tested it: FUCK YOU, YOU STUPID SHITFUCK, with love: me7 -
I finally got Redux-Form’s `initialValues` to work! Wooooo~!
/giphy confetti cheering
It turns out I haven’t actually been doing anything wrong for the past week. I mean, I've been working on other things during that week, too, but I've been trying to solve this the entire time.
The cause? ReduxForm made a breaking change awhile ago (v5; we’re using v7) that prevents the `initialValues` prop from working if you decorate your form component in the wrong order. Many examples online are incorrect because of this.
Basically, the decorators `reduxForm` and `connect` do not commute:
Incorrect:
`reduxForm(...)( connect(..., {...})(form) )`
vs Correct:
`connect(..., {...})( reduxForm(...)(form) )`
But what really pisses me off is that the fucking documentation specifically fucking states that you may decorate your component IN ANY [FUCKING] ORDER.
/giphy that is [fucking] false
So, I've been following example after [fucking] example that either list these in the wrong order, or I just don't notice the different order because it doesn't matter. AND because of that NONE OF THE [...] EXAMPLES WORK.
ARGH.
I've been pacing around the office trying to figure this out for days. I've rewritten my code three times to try to solve this. I've written two workarounds for it only to rip them out and try again because they both broke some other part of the UX. (e.g. causing false validation errors after rerender)
just. hafhsldkjhgjkhagklwhsdjfkahslf. 😡
/giphy angry hades
You know how I discovered this?
I found it in a github ticket. One solitary, untagged ticket from October of last year. Not a single goddamn post anywhere else mentioned this. And the [...] documentation specifically [...] states the [...] opposite!
Bloody [...] hell.
but it finally works.
as;kgjhaekl;gahgjkdflssdafh.
I could scream.6 -
Old story, and yeah, it's all true, I shit you not!
So here I am at about age 11 (more or less). At the time, I had an almost brand new 333MHz beast, with 8 MB RAM, 2 (!!!) MB video card and (I think) about 300 MB of storage (yeah, I'm old :)) ).
Connected to this monster was sitting a 14" CRT monitor, mechanical keyboard and a 2 button, ball "powered" mouse.
There was no optical tracking tech at the time.
One evening, I notice my mouse starts lagging. Test it to see if Win95 is stuck. Nope, just mouse problems...
Fiddle with it a little, and at some point it stops working at all.
My room was dark now, so I got up to turn on the lights, sat down in front of the PC, and moved the mouse by instinct.
Surprise! It's working again!
My brother comes in and turnes off the lights. Mouse non responsive.
I tell him to turn them on again, mouse works again.
At this point, we were both scratching our heads at this mystery...
I decided to confirm it again using a desc light.
Conclusion: my 2 button, ball tracking, non light sensitive mouse was working only if light was shining directly oh it AND on my 14" crt monitor at the same time!!!
To this day I have no ideea why.
I kept them both for posterity, and they are still there in my parent's attic.
Fin.6 -
Just thought I'd share my current project: Taking an old ISA sound card I got off eBay and wiring it up to an Arduino to control its OPL3 synth from a MIDI keyboard. I have it mostly working now.
No intention to play audio samples, so I've not bothered with any of the DMA stuff - just MIDI (MPU-401 UART) and OPL3.
It has involved learning the pinout of the ISA bus connectors, figuring out which ones are actually used for this card, ignoring the standards a little (hello, amplifier chip that is wired up to the +12V line but which still happily works at +5V...)
Most of the wires going to it are for each bit of the 16-bit address and 8-bit data. Using a couple of shift registers for the address, and a universal shift register for the data. Wrote some fairly primitive ISA bus read/write code, but it was really slow. Eventually found out about SPI and re-wrote the code to use that and it became very fast. Had trouble with some timings, fixed those.
The card is an ISA Plug and Play card, meaning before I could use it I had to tell it what resources to use. Linux driver code and some reverse-engineering of the official Windows/DOS drivers got me past this stage.
Wired up IRQ 5 to an Arduino interrupt to deal with incoming MIDI data, with a routine that buffers it. Ran into trouble with the interrupt happening during I/O and needing to do some I/O inside the handler and had to set a flag to decide whether to disable/re-enable interrupts during I/O.
It looks like total chaos, but the various wires going across the breadboard are mainly to make it easier to deal with the 16-bit address and 8-bit data lines. The LEDs were initially used to check what addresses/data were being sent, but now only one of them is connected and indicates when the interrupt handler is executing.
There's still a lot to do after that though - MIDI and OPL3 are two completely different things so I had to write some code to manage the different "channels" of the OPL3 chip. I have it playing multiple notes at the same time but need to make it able to control the various settings over MIDI. Eventually I might add some physical controls to it and get a PCB made.
The fun part is, I only vaguely know what I'm doing with the electronics side of this. I didn't know what a "shift register" was before this project, nor anything about the workings of the ISA bus. I knew a bit about MIDI (both the protocol and generally how the MPU-401 UART works) along with the operation of a sound card from a driver/software perspective, but everything else is pretty new to me.
As a useful little extra, I made some "fake" components that I can build the software against on a PC, to run some tests before uploading it to the Arduino (mostly just prints out the addresses it is going to try and write to).
46 -
Getting told that technology is bullshit and that humans have forgotten how to interact with each other (meaning being social) by people from the same age bracket that throw a fit because they can't use said technology is both hilarious and infuriating.
Seriously, aren't these old farts more concerned with things such as starbucks not putting "merry Christmas" on their fucking red cups? Am I supposed to take their shit seriously? No the fuck I am not, and neither should you.
If your old ass can't work how your fucking smartphone works, or have a haaaaard time trying to select Netflix from your smart tv app selection then the problem is not my generation. Its your dumbass for not keeping up.
Its fine if you don't want to use technology, fuck if I care. But you ain't winning this shit because of your preferences regarding technology.
Also, telling me that I am wrong for wearing my headphones at the gym to shut people off. Wtf dude, not everyone wants to fucking talk to others all the time, specially during gym time. I am there to work out and get sexy af, not to ask you how your fucking day went, I don't know u, i don't want to know you, you already showed me how fucking close minded and uninteresting you can be, why the fuck should I give that shit a chance?
Fuck outta here with that shit. He went on to tell me that software is made by people with 0 social skills. Booooooy I would have your granddaughter(she is my age) any day of the fucking week and you can tell me if we lack "social skills"
Foh13 -
So following from this rant:
https://devrant.io/rants/618679/...
Warning long rant ahead
I resigned and my last day is tomorrow, I've released the app updates a week ago, patched a couple bugs for iOS.
My boss and the idiot who can't open an email on his phone go off to use the app as part of some training thing for the company.
I got a call yesterday saying the Android app has issues and I proceeded to ask my boss what type of phone they have:
"Samsung and Huawei"
I thought okay I need more info "what type of phone..." He responds with wouldn't have a clue....
I can't see the phone, didn't get a screenshot or anything like that but I'm expected to just know what the phone is.
My boss goes on to say yeah it's the app (he is literally the most computer illiterate person I could think of aside from guy who can't open emails on phone, how the fuck do you know that?)
Me: "From all the testing I've done the app works"
Look if you want a more robust error free update hire more than one developer I can't test every single fucking use case to determine the app is 100% bug free, I've tested on at least 10 phones before releasing the update just to be absolutely sure I got everything done and okay I missed something.
So I proceed to get my boss to tell the guy who has the issue I'll sign him up to the testing app to find out the cause and hopefully fix the issue, I setup crashlytics send the email and get a call from my boss saying the guy didn't get the email.
Well okay is it my problem that we have two emails for the same person where one of them is a typo? No it's the guy who asked and wrote down the email instead of actually forwarding a blank email from him to be absolutely sure, I sent the email to both just to be on the safe side.
I swear if he is another idiot who can't open emails on his phone well I can't help him, app works on my phone and the phones at work.
I need a phone where it doesn't work so I can get a solution I know works but if I have to deal with these idiots that can't even check an email how the fuck do I do that?
Sorry about the formatting just needed to get this off my chest before I start work.
Oh and I get asked "so who'll fix the bugs when you're gone" well I can't (in reality I'm not working for free, I'm not traveling 1 1/2 commute time to fix one bug for free, go hire someone you think will love to work for minimum wage and let's see if this guy can do what I did)8 -
First company I worked for, built around 40 websites with Drupal 7...in only a year (don't know if it's a lot for today's standards, but I was one guy doing everything). Of course I didn't have the time to keep updating everything and I continually insisted to the boss that we need more people if we are going to expand. Of course he kept telling me to keep working harder and that I "got this". Well, after a year a couple of websites got defaced, you know the usual stuff if you've been around for some time. Felt pretty bad at the time, it was a similar feeling to having your car stolen or something.
Anyways, fast forward about 2 years, started working on another company, and well...this one was on another level. They had a total of around 40 websites, with about 10 of them being Joomla 1.5 installations (Dear Lord have mercy on my soul(the security vulnerabilities from these websites only, were greater than Spiderman's responsibilities)) and the others where WordPress websites, all that ON A SINGLE VPS, I mean, come on... Websites being defaced on the daily, pharma-hacks everywhere, server exploding from malware queing about 90k of spam emails on the outbox, server downtime for maintenance happening almost weekly, hosting company mailing me on the daily about the next malware detection adventure etc. Other than that, the guy that I was replacing, was not giving a single fuck. He was like, "dude it's all good here, everything works just fine and all you have to do is keep the clients happy and shit". Sometimes, I hate myself for being too caring and responsible back then.
I'm still having nightmares of that place. Both that office and that VPS. -
Hi everyone, long time no see.
Today I want to tell you a story about Linux, and its acceptance on the desktop.
Long ago I found myself a girlfriend, a wonderful woman who is an engineer too but who couldn't be further from CS. For those in the know, she absolutely despises architects. She doesn't know the size units of computers, i.e. the multiples of the byte. Breaks cables on the regular, and so on. For all intents and purposes, she's a user. She has written some code for a college project before, but she is by no means a developer.
She has seen me using Linux quite passionately for the last year or so, and a few weeks ago she got so fed up with how Windows refused to work on both her computers (on one of them literally failing to run exe's, go figure), that she allowed me to reinstall both systems, with one of them being dualbooted Windows 10 + Linux.
The computer that runs Linux is not one she uses very often, but for gaming (The Sims) it's her platform to go. On it I installed Debian KDE, for the following reasons:
- It had to be stable as I didn't want another box to maintain.
- It had to be pretty OOTB, as first impressions are crucial.
- It had to be easy to use, given her skill level.
- It had to have a GUI abstraction to apt, the KDE team built Discover which looks gorgeous.
She had the following things to say about Linux, when she went to download The Sims from a torrent (I installed qBittorrent for her iirc).
"Linux is better, there's no need to download anything"
"Still figuring things out, but I'm liking it"
"I'm scared of using Windows again, it's so laggy"
"Linux works fine, I'm becoming a Linux user"
Which you can imagine, it filled me with pride. We've done it boys. We've built a superior system that even regular users can use, if the system is set up to be user-friendly.
There are a few gripes I still have, and pitfalls I want to address. There's still too many options, users can drown in the sheer amount of distro's to choose from. For us that's extremely important but they need to have a guide there. However, don't do remote administration for them! That's even worse than Microsoft's tracking! Whenever you install Linux on someone else's computer, don't be all about efficiency, they are coming from Windows and just want it to be easy to use. I use Mate myself, but it is not the thing I would recommend to others. In other words, put your own preferences aside in favor of objective usability. You're trying to sell people on a product, not to impose your own point of view. Dualboot with Windows is fine, gaming still sucks on Linux for the most part. Lots of people don't have their games on Steam. CAD software and such is still nonexistent (OpenSCAD is very interesting but don't tell me it's user-friendly). People are familiar with Windows. If you were to be swimming for the first time in the deep water, would you go without aids? I don't think so.
So, Linux can be shown and be actually usable by regular people. Just pitch it in the right way.11 -
I’ve started the process of setting up the new network at work. We got a 1Gbit fibre connection.
Plan was simple, move all cables from old switch to new switch. I wish it was that easy.
The imbecile of an IT Guy at work has setup everything so complex and unnecessary stupid that I’m baffled.
We got 5 older MacPros, all running MacOS Server, but they only have one service running on them.
Then we got 2x xserve raid where there’s mounted some external NAS enclosures and another mac. Both xserve raid has to be running and connected to the main macpro who’s combining all this to a few different volumes.
Everything got a static public IP (we got a /24 block), even the workstations. Only thing that doesn’t get one ip pr machine is the guest network.
The firewall is basically set to have all ports open, allowing for easy sniffing of what services we’re running.
The “dmz” is just a /29 of our ip range, no firewall rules so the servers in the dmz can access everything in our network.
Back to the xserve, it’s accessible from the outside so employees can work from home, even though no one does it. I asked our IT guy why he hadn’t setup a VPN, his explanation was first that he didn’t manage to set it up, then he said vpn is something hackers use to hide who they are.
I’m baffled by this imbecile of an IT guy, one problem is he only works there 25% of the time because of some health issues. So when one of the NAS enclosures didn’t mount after a power outage, he wasn’t at work, and took the whole day to reply to my messages about logins to the xserve.
I can’t wait till I get my order from fs.com with new patching equipment and tonnes of cables, and once I can merge all storage devices into one large SAN. It’ll be such a good work experience.
7 -
For being a community based around developers, the amount of people managing to fuck up Windows and then blaming the OS while both my 9 year old brother and the old next door lady keeps theirs running perfectly fine will always be a mystery to me. If you are a developer stop making excuses of how a operating system works and get clever enough to work with it instead of against it. I've been using and developing on Windows for the past 7 years and to be frank rarely do I ever encounter the shit some people post here, mind boggling I would even say pebcak. And just to be clear, I'm not a fanatic, Linux is a beautiful OS.
There I had to get that off my chest, have a nice day.10 -
Hopefully seeing the app that I've been working on for months officially released and on both the App store and google play store.
I say this because I've been waiting months and months for my boss and some other people at this company to be done with the privacy policy + terms of use for the app (which is needed due to how the app works) and I want to resign soon due to minimum wage + 2 hour commute twice daily + want a proper development culture (get treated as the IT guy at work) -
I'm investigating PRs for a super legacy codebase. Someone else already approved the PRs -- somebody who has never even run the code or had the project set up before.
The codebase hasn't been touched in two years, and it hasn't been updated in four. It's using CoffeeScript, Node v0, Electron v0.30, and Angular 1.x. I obviously don't have a dev environment anymore, either, and my previous dev env was on Windows, so I'll have to translate my custom build utilities from batch to bash (or much more likely: node).
To make matters worse: the PRs break both the initial project setup and the project itself (NPM can no longer find some installed packages, among other problems). And. someone already merged them into master. So: fuck.
I'm going to yell at the author and tell him to fix his shit. Why? Because when I check out my last commit prior to his PRs, everything works perfectly. Surprise!
I was so done with this project two and a half years ago. I'm still so done with it. I just don't want to maintain this anymore, or honestly even look at it. I would happily rebuild the project from scratch, but updating it from the days of IE8? No way.9 -
Well... I had in over 15 years of programming a lot of PHP / HTML projects where I asked myself: What psychopath could have written this?
(PHP haters: Just go trolling somewhere else...)
In my current project I've "inherited" a project which was running around ~ 15 years. Code Base looked solid to me... (Article system for ERP, huge company / branches system, lot of other modules for internal use... All in all: Not small.)
The original goal was to port to PHP 7 and to give it a fresh layout. Seemed doable...
The first days passed by - porting to an asset system, cleaning up the base system (login / logout / session & cookies... you know the drill).
And that was where it all went haywire.
I really have no clue how someone could have been so ignorant to not even think twice before setting cookies or doing other "header related" stuff without at least checking the result codes...
Basically the authentication / permission system was fully fucked up. It relied on redirecting the user via header modification to the login page with an error set in a GET variable...
Uh boy. That ain't funny.
Ported to session flash messages, checked if headers were sent, hard exit otherwise - redirect.
But then I got to the first layers of the whole "OOP class" related shit...
It's basically "whack a mole".
Whoever wrote this, was as dumb and as ignorant to build up a daisy chain of commands for fixing corner cases of corner cases of the regular command... If you don't understand what I mean, take the following example:
Permissions are based on group (accumulation of single permissions) and single permissions - to get all permissions from a user, you need to fetch both and build a unique array.
Well... The "names" for permissions are not unique. I'd never expected to be someone to be so stupid. Yes. You could have two permissions name "article_search" - while relying on uniqueness.
All in all all permissions are fetched once for lifetime of script and stored to a cache...
To fix this corner case… There is another function that fetches the results from the cache and returns simply "one" of the rights (getting permission array).
In case you need to get the ID of the other (yes... two identifiers used in the project for permissions - name and ID (auto increment key))...
Let's write another function on top of the function on top of the function.
My brain is seriously in deep fried mode.
Untangling this mess is basically like getting pumped up with pain killers and trying to solve logic riddles - it just doesn't work....
So... From redesigning and porting from PHP 7 I'm basically rewriting the whole base system to MVC, porting and touching every script, untangling this dumb shit of "functions" / "OOP" [or whatever you call this garbage] and then hoping everything works...
A huge thanks to AURA. http://auraphp.com/
It's incredibily useful in this case, as it has no dependencies and makes it very easy to get a solid ground without writing a whole framework by myself.
Amen.2 -
Ever heard of event-based programming? Nope? Well, here we are.
This is a software design pattern that revolves around controlling and defining state and behaviour. It has a temporal component (the code can rewind to a previous point in time), and is perfectly suited for writing state machines.
I think I could use some peer-review on this idea.
Here's the original spec for a full language: https://gist.github.com/voodooattac...
(which I found to be completely unnecessary, since I just implemented this pattern in plain TypeScript with no extra dependencies. See attached image for how TS code looks like).
The fact that it transcends language barriers if implemented as a library instead of a full language means less complexity in the face of adaptation.
Moving on, I was reviewing the idea again today when I discovered an amazing fact: because this is based on gene expression, and since DNA is recombinant, any state machine code built using this pattern is also recombinant[1]. Meaning you can mix and match condition bodies (as you would mix complete genes) in any program and it would exhibit the functionality you picked or added.
You can literally add behaviour from a program (for example, an NPC) to another by copying and pasting new code from a file to another. Assuming there aren't any conflicts in variable names between the two, and that the variables (for example `state.health` and `state.mood`) mean the same thing to both programs.
If you combine two unrelated programs (a server and a desktop application, for example) then assuming there are no variables clashing, your new program will work as a desktop application and as a server at the same time.
I plan to publish the TypeScript reference implementation/library to npm and GitHub once it has all basic functionality, along with an article describing this and how it all works.
I wish I had a good academic background now, because I think this is worthy of a spec/research paper. Unfortunately, I don't have any connections in academia. (If you're interested in writing a paper about this, please let me know)
Edit: here's the current preliminary code: https://gist.github.com/voodooattac...
***
[1] https://en.wikipedia.org/wiki/...29 -
It works. It finally works!
After an 8 hour session I got my crawler to work and give me basically every anime op/ed I long for.
All that using Elixir even though I'm still fairly inexperienced with both elixir and functional programming
I'll try to create an API and eventually Maybe even a database tomorrow (or rather in a couple of hours)5 -
Highlights from my week:
Prod access: Needed it for my last four tickets; just got it approved this week. No longer need it (urgently, anyway). During setup, sysops didn’t sync accounts, and didn’t know how. Left me to figure out the urls on my own. MFA not working.
Work phone: Discovered its MFA is tied to another coworker’s prod credentials. Security just made it work for both instead of fixing it.
My merchant communication ticket: I discovered sysops typo’d my cronjob so my feature hasn’t run since its release, and therefore never alerted merchants. They didn’t want to fix it outside of a standard release. Some yelling convinced them to do it anyway.
AWS ticket: wow I seriously don’t give a crap. Most boring ticket I have ever worked on. Also, the AWS guy said the project might not even be possible, so. Weee, great use of my time.
“Tiny, easy-peasy ticket”: Sounds easy (change a link based on record type). Impossible to test locally, or even view; requires environments I can’t access or deploy to. Specs don’t cover the record type, nor support creating them. Found and patched it anyway.
Completed work: Four of my tickets (two high-priority) have been sitting in code review for over a month now.
Prod release: Release team #2 didn’t release and didn’t bother telling anyone; Release team #1 tried releasing tickets that relied upon it. Good times were had.
QA: Begs for service status page; VP of engineering scoffs at it and says its practically impossible to build. I volunteered. QA cheered; VP ignored me.
Retro: Oops! Scrum master didn’t show up.
Coworker demo: dogshit code that works 1 out of 15 times; didn’t consider UX or user preferences. Today is code-freeze too, so it’s getting released like this. (Feature is using an AI service to rearrange menu options by usage and time of day…)
Micromanager response: “The UX doesn’t matter; our consumers want AI-driven models, and we can say we have delivered on that. It works, and that’s what matters. Good job on delivering!”
Yep.
So, how’s your week going?1 -
I just tried to sign up to Instagram. I made a big mistake.
First up with Facebook related stuff is data. Data, data and more data. Initially when you sign up (with a new account, not login with Facebook) you're asked your real name, email address and phone number. And finally the username you'd like to have on the service. I gave them a phone number that I actually own, that is in my iPhone, my daily driver right now (and yes I have 3 Androids which all run custom ROMs, hold your keyboards). The email address is a usual for me, instagram at my domain. I am a postmaster after all, and my mail server is a catch-all one. For a setup like that, this is perfectly reasonable. And here it's no different, devrant at my domain. On Facebook even, I use fb at my domain. I'm sure you're starting to see a pattern here. And on Facebook the username, real name and email domain are actually the same.
So I signed up, with - as far as I'm aware - perfectly valid data. I submitted the data and was told that someone at Instagram will review the data within 24 hours. That's already pretty dystopian to me. It is now how you block bots. It is not how Facebook does it either, at least since last time I checked. But whatever. You'd imagine that regardless of the result, they'd let you know. Cool, you're in, or sorry, you're rejected and here's why. Nope.
Fast-forward to today when I recalled that I wanted to sign up to Instagram to see my girlfriend's pictures. So I opened Chromium again that I already use only for the rancid Facebook shit.. and it was rejected. Apparently the mere act of signing up is a Terms of Service violation. I have read them. I do not know which section I have violated with the heinous act of signing up. But I do have a hunch.
Many times now have I been told by ignorant organizations that I would be "stealing" their intellectual property, or business assets or whatever, just because I sent them an email from their name on my domain. It is fucking retarded. That is MY domain, not yours. Learn how email works before you go educate a postmaster. Always funny to tell them how that works. But I think that in this case, that is what happened.
So I appealed it, using a random link to something on Instagram's help section from a third-party blog. You know it's good when the third-party random blog is better. But I found the form and filled it in. Same shit all over again for info, prefilling be damned I guess. Minor convenience though, whatever.
I get sent an email in German, because apparently browsing through a VPS in Germany acting as a VPN means you're German. Whatever... After translating it, I found that it asks me to upload a picture of myself, holding a paper in my hands, on which I would have a confirmation code, my username, and my email address.. all hand-written. It must not be too dark, it must be clear, it must be in JPEG.. look, I just wanted to fucking sign up.
I sent them an email back asking them to fix all of this. While I was writing it and this rant, I thought to myself that they can shove that piece of paper up their ass. In fact I would gladly do it for them.
Long story short, do not use Instagram. And one final thing I have gripes with every time. You are not being told all the data you'll have to present from the get-go. You're not being told the process. Initially I thought it'd just be email, phone, username, and real name. Once signed up (instantly, not within 24 hours!) I would start setting up my account and adding a profile picture. The right way to ask for a picture of me! And just do it at my own pace, as I please.
And for God's sake, tackle abuse when it actually happens. You'll find out who's a bot and who isn't by their usage patterns soon enough. Do not do any of this at sign-up. Or hell, use a CAPTCHA or whatever, I don't fucking care. There's so many millions of ways to skin this cat.
Facebook and especially Instagram. Both of them are fucking retarded.6 -
Alright. Two dead Commodores.
Over 15 years before I was born? ✅
No idea how BASIC works? ✅
Internet at the ready? ✅
So far I've checked various chips for visible damage, and nothing except a blown fuse on both machines. Apparently it takes dual 9vAC and single 5vDC. The 9 powers the SID and the video output, the VIC-II heatsink is off, and I've tested the PSU voltages and one of the 9v's is dead. I'll be getting new fuses and a new PSU soon. Any recommendations on other things to check or things to do when they're done? Pic included because why not.
12 -
I was reading the post made by another ranter in which he was basically asked to lower the complexity of an automation script he wrote in place of something everyone else could understand. Another dev commented that more than likely it had to do with the company being worried that ranter_1 would leave and there would be no one capable of maintaining the code.
I understood this completely from both perspectives. It makes me worry how real this sometimes is. We don't get to implement X tech stack because people are worried that no one would be able to maintain Y project in the event of someone leaving. But fuck man, sometimes one wants to expand more and do things differently.
At work I came to find out that the main reason why the entirety of our stack is built in PHP is because the first dev hired into the web tech department(which is only about 12 years old in my institution) only knew PHP. The other part that deals with Java is due to some extensions to some third party applications that we have, Java knowledge (more specifically Spring and Grails) is used for those, the rest is mostly PHP. And while I LOVE PHP and don't really have anything against the language I really wonder what would it be of the institution had we've had a developer with a more....esoteric taste. Clojure, Elixir, Haskell, F# and many others. These are languages and tech stacks that bring such a forward way of thinking into the way we build things.
On the other hand, I understand if the talent pool for each of these stacks is somewhat hard to come up with, but if we don't push for certain items then they will never grow.
The other week I got scolded by the lead dev from the web tech department for using Clojure to create the demo of an application. He said that the project will most likely fall into his hands and he does not know the stack. I calmly mentioned that I would gladly take care of it if given the opportunity as well as to explain to him how the code works and provide training to everyone for it :D I also (in all of my greatness) built the same program for him in PHP. Now, I outrank him :P so the scold bounced out of the window, plus he is a friend, but the fact remains that we reached the situation in which the performance as well as the benefits of one stack were shadowed by the fact that it holds a more esoteric place in the development community.
In the end I am happy to provide the PHP codebase to him. The head of the department + my boss were already impressed with the fact that I was able to build the product in a small amount of time using a potent tech stack, they know where my abilities are and what I can do. That to me was all that matters, even if the project gets shelved, the fact that I was able to use it at work for something means a lot to me.
That and I got permission to use it for the things that will happen with my new department + the collective interest of everyone in paying me to give support even if I ever leave the institution.
Win.13 -
I know a developer who works for a Mortgage Company, and he is dangerously incompetent. He used to work for my boss before I did and we both told his new boss how unqualified he is, but because he's able to get things "done" they think he does a good job. But I've been in the code and their entire system could any day just completely Fall Apart and they could be in a lot of trouble and we tell them this and they don't listen to us.5
-
My Sunday Morning until afternoon. FML. So I was experiencing nightly reboots of my home server for three days now. Always at 3:12am strange thing. Sunday morning (10am ca) I thought I'd investigate because the reboots affected my backups as well. All the logs and the security mails said was that some processes received signal 11. Strange. Checked the periodics tasks and executed every task manually. Nothing special. Strange. Checked smart status for all disks. Two disks where having CRC errors. Not many but a couple. Oh well. Changing sata cables again 🙄. But those CRC errors cannot be the reason for the reboots at precisely the same time each night. I noticed that all my zpools got scrubbed except my root-pool which hasn't been scrubbed since the error first occured. Well, let's do it by hand: zpool scrub zroot....Freeze. dafuq. Walked over to the server and resetted. Waited 10 minutes. System not up yet. Fuuu...that was when I first guessed that Sunday won't be that sunny after all. Connected monitor. Reset. Black screen?!?! Disconnected all disks aso. Reset. Black screen. Oh c'moooon! CMOS reset. Black screen. Sigh. CMOS reset with a 5 minute battery removal. And new sata cable just in cable. Yes, boots again. Mood lightened... Now the system segfaults when importing zroot. Good damnit. Pulled out the FreeBSD bootstick. zpool import -R /tmp zroot...segfault. reboot. Read-only zroot import. Manually triggering checksum test with the zdb command. "Invalid blckptr type". Deep breath now. Destroyed pool, recreated it. Zfs send/recv from backup. Some more config. Reboot. Boots yeah ... Doesn't find files??? Reboot. Other error? Undefined symbols???? Now I need another coffee. Maybe I did something wrong during recovery? Not very likely but let's do it again...recover-recover. different but same horrible errors. What in the name...? Pulled out a really old disk. Put it in, boots fine. So it must be the disks. Walked around the house and searched for some new disks for a new 2 disk zfs root mirror to replace the obviously broken disks. Found some new ones even. Recovery boot, minimal FreeBSD Install for bootloader aso. Deleted and recreated zroot, zfs send/recv from backup. Set bootfs attribute, reboot........
It works again. Fuckit, now it is 6pm, I still haven't showered. Put both disks through extensive tests and checked every single block. These disks aren't faulty. But for some reason they froze my system in a way so that I had to reset my BIOS and they had really low level data errors....? I Wonder if those disks have a firmware problem? So that was most of my Sunday. Nice, isn't it? But hey: calm sea won't make a good sailor, right?3 -
Yknow, I want to make an android app that I have in my mind for about half a year now and I already tried twice, both with Kotlin and with Java but everytime I try it's just pain and suffering and frustration...
No it's not because of the language, I like Java and I like Kotlin too and I'd say I'm at least decent at Kotlin and really good in Java...
No no.. the issue is the fucking Android SDK and the mix-and-match documentation available online!!!
Every fucking time I want to implement some sort of UI element, user action or a background service and I start googling how to do it It comes with with at least 3 different stack overflow solutions, all of them saying "that way of doing it is deprecated, instead you should X" and looking up the OFFICIAL FUCKING DOCS it will just make me roll up in the corner and cry because of how fucking inconsistent it is and the retarded domain language it uses... fucking transactions for fucking fragments inside fucking activities... because I guess the word "screen"/"view"/"template" or something similar natural just was too mainstream for the all knowing alphabet soup that google is...
And then you start looking up what the fucking difference even is and how to code it up only to find out there's at least 12 other opinions on how fragments should be used and what should be an activity and what should be a damn fragment...
But that's not all, that's just the base... I get a headache even thinking about how the fucking inflating of templates and the entire R. notation works. You want to open a fucking tiny corner menu with the settings options? WELL THEN YOU FUCKING BETTER REMEMBER TO IMPLEMENT IT THROUGH SOME SORT OF EVENT AND INFLATE THE MENU YOURSELF EVEN THOUGH ITS THE SAME FUCKING THING WITH STATIC STRINGS...
AND WHY THE FUCK DO I NEED LIKE 4 NEW FILES TO IMPLEMENT A FUCKING LISTVIEW...
also talking about ListViews... what was wrong with "ListView"... Why do we need a "RecyclerView"... oh right... because the fucks fucked the fuck up and all the legacy components were designed by a monkey and are next to useless! SO WE NEEDED A NEW NAME FOR THE FIXED VERSION, CANT NAME IT LISTVIEW AGAIN... FUCK YOU...
honestly... if I got a dolar for every "what the fuck android" I said during trying to understand that mess I'd be richer by a few hundred...
oh oh oh, but you know what? You don't like the android SDK? that's fine, you can use fucking React or Flutter or something... yeah.. because instead of torturing myself with the android SDK I want to torture myself with an abstraction of the same SDK and JavaScript as the fucking cherry on top... HAVE YOU FUCKING SEEN THE CODE FLUTTER SHOWS ON THEIR WEBSITE AS THE "Introduction" ?!!!
Look at this piece of shit:
[code in attached image, we could really use a proper Markdown support at least for rants]
THAT'S NOT EVEN THE ENTIRE THING, THAT'S JUST THE *REALLY* UGLY PART...
The fucking nesting... What is it with JS and all the fucking nesting everytime?! It looks like shit.... It reads like shit as well...
WHY, in the name OF FUCK, IS THERE MORE THAN 5 ANDROID FRAMEWORKS and ALL of them... used this FUCKING NOVEL idea of programming using A FUCKING BRACKET WALL
It always looks like:
(code(code[code{code(code{code()})}]));
If I wanted to make a fucking app or a website using fucking Haskell I'd do that.... at this point reading assembly code feels like heaven compared to this retardation... Why is this so popular?! WHAT DO YOU PEOPLE SEE IN IT?! Clearly it's not the aesthetics... it looks like a fucking frog vomit running down an emus leg, fuck that.... I don't even hate classic JavaScript, it's a good enough language and it does what I tell it to... but these ugly fucking frameworks like react, angular and whatever else uses this fucking format can go fuck right off. This is not the way JS is gonna get a better name for itself...
So:
Fuck Google
Fuck the marionette that designed the Android SDK
Fuck the Hellspawn the came up with the "functional-like" way of using JavaScript
Fuck everyone that thinks "JavaScript everywhere" is a good thing
And deeply future-fuck everyone that makes a new framework following any of these standards, stucks a .js at the end of the name and releases his hairball.js of an invention into the fucking world....
It's a mess... fuck everything android related...
14 -
Game Streaming is an absolute waste.
I'm glad to see that quite a lot of people are rightfully skeptical or downright opposed to it. But that didn't stop the major AAA game publishers announcing their own game streaming platforms at E3 this weekend, did it?
I fail to see any unique benefit that can't be solved with traditional hardware (either console or PC)
- Portability? The Nintendo Switch proved that dedicated consoles now have enough power to run great games both at home and on the go.
- Storage? You can get sizable microSD cards for pretty cheap nowadays. So much so that the Switch went back to use flash-based cartridges!
- Library size/price? The problem is even though you're paying a low price for hundreds of games, you don't own them. If any of these companies shut down the platform, all that money you spent is wasted. Plus, this can be solved with backwards compatibility and one-time digital downloads.
- Performance on commodity hardware? This is about the only thing these streaming services have going for it. But unfortunately this only works when you have an Internet connection, so if you have crap Internet or drop off the network, you're screwed. And has it ever occurred to people that maybe playing Doom on your phone is a terrible UX experience and shouldn't be done because it wasn't designed for it?
I just don't get it. Hopefully this whole fad passes soon.19 -
Flash has made Java programs look desirable. And anyone keeping up with me knows I despise Java and C#, despite having written C# and currently working on deciphering a Java server to create documentation.
Before I begin, I want to make this clear: IT IS TWO THOUSAND AND FUCKING EIGHTEEN. 2018. WE HAVE BETTER TECH. JAVASCRIPT HAS TAKEN OVER THIS BITCH. So, firstly, FUCK FLASH. Seriously, that shit's a security liability. If you work for a company that uses it, find a new job and then fucking quit, or go mutany and get several devs to begin a JS-based implementation that has the same functionality. There is no excuse. "I'm fired?" That's not an excuse - if there is a way to stop the madness, then fucking hit the brakes on that shit or begin job hunting. Oh, and all you PMs who are reading this and have mandated or helped someone else to mandate work on an enterprise flash program, FUCK YOU. You are part of the problem.
The reason for this outburst seems unreasonable until you realize the hell I went through today. At my University, there is a basic entry-level psychology course I'm taking. Pearson, a company I already fucking hate for some of the ethically sketchy shit they pulled with PARCC as well as overreach in publishing to the point they produce state tests here in the US - has a product called "My PsychLab" and from here on out, I'm referring to it as MPL. MPL has an issue - it is entirely fucking Flash. Homework assignments, the textbook, FUCKING EVERYTHING. So, because of that, you need to waste time finding a browser that works. Now let me remind all of you that just because something SHOULD WORK does NOT mean that it actually does.
I'm sitting on my Antergos box a few days ago: Chromium and Firefox won't load Flash. I don't know why, and don't care to find out. NPAPI and whatnot are deprecated but should still run in a limited mode or some shit. No go on Antergos.
So, today I went to the lab in the desolated basement of an old building which is where it's usually empty except a student hired by the university to make sure nobody fucks things up. I decided - because y'all know I fuckin' hate this - to try Windows. No go in Chrome still - it loaded Flash but couldn't download the content. So I tried Firefox - which worked. My hopes were up, but not too long - because there was no way to input. The window had buttons and shit - but they were COMPLETELY UNRESPONSIVE.
So the homework is also Flash-based. It's all due by 1/31/18 - FOUR CHAPTERS AND THE ACCOMPANYING HOMEWORK - which I believe is Tuesday, and the University bookstore is closed both Saturday and Sunday. No way to get a physical copy of the book. And I have other classes - this isn't the only one.
Also, the copyright on the program was 2017 - so whoever modded or maintained that Flash code - FUCK YOU AND THE IRRESPONSIBLE SHIT YOUR TEAM PULLED. FUCK THE SUPERIORS MAKING DECISIONS AS WELL. Yeah, you guys have deadlines? So do the end users, and when you have to jump through hoops only to realize you're fucked? That's a failure of management and a failure of a product.
How many people are gonna hate me for this? Haters gonna hate, and I'm past the point of caring.6 -
So recently I did a lot of research into the internals of Computers and CPUs.
And i'd like to share a result of mine.
First of all, take some time to look at the code down below. You see two assembler codes and two command lines.
The Assembler code is designed to test how the instructions "enter" and "leave" compare to manually doing what they are shortened to.
Enter and leave create a new Stackframe: this means, that they create a new temporary stack. The stack is where local variables are put to by the compiler. On the right side, you can see how I create my own stack by using
push rbp
mov rbp, rsp
sub rsp, 0
(I won't get into details behind why that works).
Okay. Why is this even relevant?
Well: there is the assumption that enter and leave are very slow. This is due to raw numbers:
In some paper I saw ( I couldn't find the link, i'm sorry), enter was said to use up 12 CPU cycles, while the manual stacking would require 3 (push + mov + sub => 1 + 1 + 1).
When I compile an empty function, I get pretty much what you'd expect just from the raw numbers of CPU cycles.
HOWEVER, then I add the dummy code in the middle:
mov eax, 123
add eax, 123543
mov ebx, 234
div ebx
and magically - both sides have the same result.
Why????
For one thing, there is CPU prefetching. This is the CPU loading in ram before its done executing the current instruction (this is how anti-debugger code works, btw. Might make another rant on that). Then there is the fact that the CPU usually starts work on the next instruction while the current instruction is processing IFF the register currently involved isnt involved in the next instruction (that would cause a lot of synchronisation problems). Now notice, that the CPU can't do any of that when manually entering and leaving. It can only start doing the mov eax, 1234 while performing the sub rsp, 0.
----------------
NOW: notice that the code on the right didn't take any precautions like making sure that the stack is big enough. If you sub too much stack at once, the stack will be exhausted, thats what we call a stack overflow. enter implements checks for that, and emits an interrupt if there is a SO (take this with a grain of salt, I couldn't find a resource backing this up). There are another type of checks I don't fully get (stack level checks) so I'd rather not make a fool of myself by writing about them.
Because of all those reasons I think that compilers should start using enter and leave again.
========
This post showed very well that bare numbers can often mislead.
21 -
Advice to new coders? I got multiple, unrelated to each other.
1. Start with the FUCKING BASICS !! Invest some time with fundamentals, don't just directly jump on frameworks like React or Angular.
2. You and everyone else are always going to blame your technical skills if you're unable to land a job. But you have to realize that is not always the case. Your attitude and energy towards the interviewer plays a vital role too.
3. You're gonna have to take a hit to your salary expectations starting out. It's just the way this industry works.
4. Think of yourselves as a freelancer working for companies. Those who call themselves Employees get stagnant and dependent on their company pretty fast.
5. Your objective is either to learn or earn. If there is both, amazing job. If there is either it's good enough. If there is none, time to jump ship !!
6. HR is there to protect the company from you not the other way around. Be better at spotting crocodile tears.
7. Try to find a WFH job over a WFO job. If you have an urgency, then either works but keep applying to WFH jobs. It's the best thing.
8. Focus on what you're building instead of what you're building it with. Devs have a tendency to fight over what tech stack they should use instead of focussing on the larger picture.
9. You're gonna get overwhelmed at some point when you're gonna get terms thrown at you like XML, JSON, API, Figma, Git, SOAP, REST. Don't worry though you'll get there.
10. You should know how to google your solutions, like really. This is like 60% of the job.16 -
! exactly dev
I'd ditched Windows and spent a while exploring the Linux ecosystem for content creation. And I have to say, it was not a nice experience.
As much as I respect the Linux mantra of "free as in freedom" and "you need to roll up your sleeves and figure out stuff on your own", it just isn't good enough for non-dev work. Sorry guys, but I need software that gets out of my way and at least does what it's supposed to do. I can't stand a horrible UI or delays and random crashes, which is exactly what happens with most things under Linux.
To replace my Windows workflow I used the following:
1. Windows -> elementaryOS (because Debian/Ubuntu repositories seem to have the best software support, and elementaryOS is the least horrible looking thing that supports that) and then Arch, because, well, Arch.
2. Blender + Maya -> Blender + Maya on Linux.
3. Reaper + FL Studio -> Ardour + LMMS.
4. Photoshop -> GIMP + Krita + Inkscape.
5. ZBrush -> nothing :(
As you can see, my use cases are pretty much all over the spectrum.
Firstly, installing and configuring stuff. A pleasure on Windows, an absolute pain on Linux. Everything just worked on Windows, I had to wrestle with library versions and patches and unstable audio layers (Linux audio just sucks, except for JACK) on Linux.
Out of these, Blender and Maya were the best experience. But even then, both would suffer from random crashes that just didn't happen on Windows.
Ardour is actually really nice when it works. Its use of JACK for routing makes it really really flexible, but it just isn't stable enough to depend on. LMMS is utter crap. I'm sorry, but I just hate the UI. Can't stand it.
GIMP, Krita, and Inkscape can't beat Photoshop, even when you consider them together. Adobe software workflow is just so much better and more intuitive.
Blender 3D sculpting is not bad, but it's nowhere as good as ZBrush.
Also, if you're a C++ dev like me, nothing beats Visual Studio 2017. Nothing. That IDE just blows everything else out of the water. Even VSCode. And it's not slow at all, it handled a fairly large project (PBRTv3) just fine on my Windows development VM. Yes, a VM.
So...I ditched Linux and went back to Windows, but I keep Linux as a VM for when I actually want to mess with Blender or Ardour. Or some dev stuff which Windows sucks at (which is becoming less frequent because of WSL).
Out of all the above, the only one I'd consider ready for production use would be Blender. Developers of open source software, please learn from Blender. Kickass UI and user friendly operation is extremely important, you can't make a random window with GTK buttons and text boxes and arcane config files and expect people to use it for serious work.
Also, Windows beats Linux hands down as an everyday OS. It's always been rock solid, if you take care of it properly (and that goes for any OS). Updates hardly take any time because I run it on a SSD. As for all the advertising and marketing bullshit, you can block a large amount of stuff. And for what can't be blocked, well, I just have to live with it, because the alternative is compromising on my creative output, which is too much for me.
I still run Linux on my server, though. And on my embedded devices (Pi, BeagleBone, etc.). It absolutely rocks there.
I realize that Linux software is not going to improve unless we do something about it, so I'll be contributing fixes and code (the joys of being a C++ dev, yay). Still, I feel that the platform and software as a whole is just not mature enough.18 -
TLDR: Read the post.
Bare with me here, I am new to all of this jazz. But I wanted to tell a story.
I have been a programmer for a while now, working on various projects with various companies, doing various things. I know that sounds vague, but it's the truth.
I never work on the same thing, ever, I never work with any fancy IDE, because I don't need one. I personally believe no developer works with the massive huge code base all at once, but instead works on it in pieces. That's a story for another day.
I have seen the shittiest of the shittiest and some how survived, I have been beaten down by code bases that were out sourced yet some how managed to stand up and gain my baring and fight back. I have dealt with clients, bosses and idiots from A-Z. Watching them all scramble around for their pennies like greedy rich white men seeking more pennies to swim in.
Some how I survived all this. I started working from home almost 3 years ago, the freedom is exhilarating. The ability to fuck off for most of the day and work at night, or work all morning and fuck off. There's nothing better.
As you work from home you think, this will be amazing. Until the crippling loneliness takes over and even the 6th bottle of beer doesn't quench the thirst of human contact. The pain of being trapped in the four white walls of your office makes that bottle of tequila, to numb out the emptiness inside look more satisfying.
At some point, you crawl out of your space to find people to interact with, refusing to be beaten down by both shit code and loneliness only to find all your friends, family and significant others are working, in offices, where they cant just fuck off for a day with you. The silence of the house, the office, the what ever becomes deafening.
its crawling all over you like bugs that pick away at your mind, breaking you, hating you. So you decide that a coffee shop is the best place, only to sit there and people watch or check Facebook or what ever else people do at coffee shops that isn't actually work.
The point in all of this, is that working from home is both a positive and a negative. It has destroyed me, created a workaholic and, probably, an alcoholic. There isnt a day I dont wish that I could sleep away the deafening silence of the world around me as every one busies off to the office.
One might think: get an office job, but I have become accustomed to my misery, pain and suffering of working from home, isolated and medicated by vaping and alcohol. the freedom, from what I have found, is worth more then the sacrifice of it - to work around people I slowly begin to hate, people that make me want to overdose on anything rather then see their smug faces and be beaten down by their idiotic words, code bases and money grubbing hands...
I guess I'll get back to work now, in my house, with my cats, my vape and my beer. Here's to freedom and the sacrifices that go along with it.5 -
OBS is advertised as the expert's screen recording and streaming tool, every list on the internet makes it out to be some incredibly difficult program not recommended for newbies.
It's also the only linux screen recorder that works out of the box on Pipewire, records both microphone and system sounds and all configuration was to
1. select recording as my main use case in the setup wizard which is a very verbose English popup, then accept all defaults
2. add a new source, following the instructions written in the box which are also the only instructions on screen after application launch
3. set the output directory (optional) by going to File > Settings > Output > Recording Path, all of which were the first items I guessed. If I had not done this, it would've written everything to my home folder which is a bit dumb but not confusing at all
4. click Start Recording
5. click Stop Recording when done
Some newbie-oriented screen recorders have a more complicated setup procedure than this super advanced experts' tool don't touch without safety gloves and a degree in video engineering.11 -
Giant, month-and-a-half-long-ticket.
After learning six or so complicated areas of the system and updating them all to work with the new changes, make them all play nicely, etc. I finally got everything working. 95% spec coverage, though no ui tests because I haven't gotten selenium working. whatever, everything's done and works.
Second dev bases her ticket off of mine and continues working. Work elsewhere continues and there's an official release, so we both merge in master. I run tests, everything passes, and go back to working on other tickets.
She finishes her ticket.
We do end-to-end testing, and everything works perfectly. Time for a demo!
She merges in master again, and pushes her branch to two staging servers. (idk why two.)
Demo starts.
We connect to the staging servers, and... none of the UI changes exist; they aren't running the correct code!
So she runs it locally for a demo instead. Two features in my ticket no longer work. She throws me under the bus. She throws me under the bus again by criticising a rake task I scrapped because she wanted to do it. Then again because I didn't update my branch to master and push it before the demo, despite having no reason to. and despite the demo being of her branch.
Then she continues to show off and brag about how she's like the "legend" (senior dev) she envies. QAbuys it.
I'm having an emotion, and it's called anger.rant unfounded superiority complex people suck anger what the hell did you do to my project? i miss working alone8 -
I wrote a node + vue web app that consumes bing api and lets you block specific hosts with a click, and I have some thoughts I need to post somewhere.
My main motivation for this it is that the search results I've been getting with the big search engines are lacking a lot of quality. The SEO situation right now is very complex but the bottom line is that there is a lot of white hat SEO abuse.
Commercial companies are fucking up the internet very hard. Search results have become way too profit oriented thus unneutral. Personal blogs are becoming very rare. Information is losing quality and sites are losing identity. The internet is consollidating.
So, I decided to write something to help me give this situation the middle finger.
I wrote this because I consider the ability to block specific sites a basic universal right. If you were ripped off by a website or you just don't like it, then you should be able to block said site from your search results. It's not rocket science.
Google used to have this feature integrated but they removed it in 2013. They also had an extension that did this client side, but they removed it in 2018 too. We're years past the time where Google forgot their "Don't be evil" motto.
AFAIK, the only search engine on earth that lets you block sites is millionshort.com, but if you block too many sites, the performance degrades. And the company that runs it is a for profit too.
There is a third party extension that blocks sites called uBlacklist. The problem is that it only works on google. I wrote my app so as to escape google's tracking clutches, ads and their annoying products showing up in between my results.
But aside uBlacklist does the same thing as my app, including the limitation that this isn't an actual search engine, it's just filtering search results after they are generated.
This is far from ideal because filter results before the results are generated would be much more preferred.
But developing a search engine is prohibitively expensive to both index and rank pages for a single person. Which is sad, but can't do much about it.
I'm also thinking of implementing the ability promote certain sites, the opposite to blocking, so these promoted sites would get more priority within the results.
I guess I would have to move the promoted sites between all pages I fetched to the first page/s, but client side.
But this is suboptimal compared to having actual access to the rank algorithm, where you could promote sites in a smarter way, but again, I can't build a search engine by myself.
I'm using mongo to cache the results, so with a click of a button I can retrieve the results of a previous query without hitting bing. So far a couple of queries don't seem to bring much performance or space issues.
On using bing: bing is basically the only realiable API option I could find that was hobby cost worthy. Most microsoft products are usually my last choice.
Bing is giving me a 7 day free trial of their search API until I register a CC. They offer a free tier, but I'm not sure if that's only for these 7 days. Otherwise, I'm gonna need to pay like 5$.
Paying or not, having to use a CC to use this software I wrote sucks balls.
So far the usage of this app has resulted in me becoming more critical of sites and finding sites of better quality. I think overall it helps me to become a better programmer, all the while having better protection of my privacy.
One not upside is that I'm the only one curating myself, whereas I could benefit from other people that I trust own block/promote lists.
I will git push it somewhere at some point, but it does require some more work:
I would want to add a docker-compose script to make it easy to start, and I didn't write any tests unfortunately (I did use eslint for both apps, though).
The performance is not excellent (the app has not experienced blocks so far, but it does make the coolers spin after a bit) because the algorithms I wrote were very POC.
But it took me some time to write it, and I need to catch some breath.
There are other more open efforts that seem to be more ethical, but they are usually hard to use or just incomplete.
commoncrawl.org is a free index of the web. one problem I found is that it doesn't seem to index everything (for example, it doesn't seem to index the blog of a friend I know that has been writing for years and is indexed by google).
it also requires knowledge on reading warc files, which will surely require some time investment to learn.
it also seems kinda slow for responses,
it is also generated only once a month, and I would still have little idea on how to implement a pagerank algorithm, let alone code it.
4 -
Ohh man i fucked up bad. 5 days as intern, and i fuck up really bad with my ego and ignorance.
I love my this company. A great environment, lots of people to learn from , i am given reasonable tasks and i feel happy to complete them. But what happened today was weird and fucked up.
I have never worked at a place with seniors designers tech leads and more people with positions. I have also worked with a lot of competitive people who are always in a race to be first.
And how do we come first? Have a lot of knowledge, hear the smallest of detail and sprint towards goal (because the combination your knowledge, assumptions and speed is enough to make you reach to the top). You don't ask for specific details, because they are obvious. And that's me in short.
Today i fucked up.
Mistake #1 ) first i was given a small task by my senior. It was a 20 mins task max if i had done it the normal noobie way . But i am a pro in mind , i have to do it with all the architecture , even if i don't understand why. So i asked for 50 mins. They gave it and did not had a problem with my time, but with the way i wrote my code.
He was like "who told you to make it like this ? Why did you made it like this?" And was visibly irritated. And i was like super chill saying "i don't know the why, but i know its correct way of using it" , pissing him even more. In my eyes he's just a super friendly sr, more like a bro and wouldn't mind some cheeky answers. And he didnt show any
consequences for that time.
Mistake #2 this is super fucked up. Our office is going under some renovation & interns were asked to sit in the co-working spaces (outside of the office). It was already very disturbing and i had to go to office every few minutes.
So after lunch this happens : We are working on a new module that already has a tonne of screens and logics. I have made a small part which is from the middle and now we can go both in the forward or in the backward direction.(Also, its quite a new module whose idea was recently discussed and decided. And weirdly i am also being treated like a core member as the ceo once himself asked what would he my flow for doing things in this. i am in direct contact and under direction of backend , designers , ceo and My senior and many ppl are giving me tasks ) And... Aagh fuck it. .. its a long story and i don't feel like repeating it but
inshort :
got a task,
didn't understood it completely and thought its my task to figure it out, took a long time figuring it my self ,
techlead/designer somehow changed my and my sr. direction of flow even tho we were taking a different approach
I sit in a noisy and irritating place
Techlead/designer comes during the time when i am figuring out the solution(already overtime the one in point #2) nags for result.
I get in an argument with him, justifying for my time and arguing that it's difficult to think technical logics for that design
( truth be told, it WAS a difficult logic which he thought was too easy. It consisted of 3 variables and 8 states we were doing different works for 4 of them and rejecting 2 and ... I don't know, i had got that wrong . But that shouldn't had been my problem to solve. I should have gone to my senior and didn't get into argument with tech lead ). It think i might have offended him too.
After he left, i am so angry on him that after sometime my senior comes and i misbehave with him. He just asks to meet me before i go, and i do so. During the meeting we discuss this whole fuck up and how many times i showed him my ego and indiscipline. And then i realise what a fuckup i did due to my ego and lack of asking, blindly following my own over confidence and blindly following or arguing with others.
Fuck fuck fuck6 -
I fucking hate stupid accountants!
Yesterday we went to a customer to talk to the accountants because we want to remove one of their unused PC's in the office.
First, just the way they think (and talk if) they are the most important and it's absolutely critical everything works 100%. I see they are important but not 100 times more important than everybody else!
They called us their EDP-guys (EDV in German, that's the translation I found). That insulted me a bit. I'm rather called IT-guy, I don't know anything about the fucking EDP systems nor want I to. I'm there to make sure the hardware works. But whatever, fine, call me what you want.
Then they straight up threatened us, because their work is so important, they can't afford to have downtime in their systems. They don't really care, but the bosses of us both do and if we fuck up they (the bosses) will hold us responsible. There is a fucking update for your piece of shit software (datev)! I don't do the update, I'm just responsible that the update can be deployed on the hardware. I'm not responsible if this update fucks your system and frankly I don't care!
I could tell them all of this but they won't listen. They always talk in this patronising arrogant voice, because they are so important and we better don't fuck up the update.
I'm there to help. I don't want downtime for your systems. I want you to work with our systems the best you can.
But fuck you, I hope the server burns down!13 -
It's rant time again. I was working on a project which exports data to a zipped csv and uploads it to s3. I asked colleagues to review it, I guess that was a mistake.
Well, two of my lesser known colleague reviewed it and one of the complaints they had is that it wasn't typescript. Well yes good thing you have EYES, i'm not comfortable with typescript yet so I made it in nodejs (which is absolutely fine)
The other guy said that I could stream to the zip file and which I didn't know was possible so I said that's impossible right? (I didn't know some zip algorithms work on streams). And he kept brushing over it and taking about why I should use streams and why. I obviously have used streams before and if had read my code he could see that my code streamed everything to the filesystem and afterwards to s3. He continued to behave like I was a literall child who just used nodejs for 2 seconds. (I'm probably half his age so fair enough). He also assumed that my code would store everything in memory which also isn't true if he had read my code...
Never got an answer out of him and had to google myself and research how zlib works while he was sending me obvious examples how streams work. Which annoyed me because I asked him a very simple question.
Now the worst part, we had a dev meeting and both colleagues started talking about how they want that solutions are checked and talked about beforehand while talking about my project as if it was a failure. But it literally wasn't lol, i use streams for everything except the zipping part myself because I didn't know that was possible.
I was super motivated for this project but fuck this shit, I'm not sure why it annoys me so much. I wanted good feedback not people assuming because I'm young I can't fucking read documentation and also hate that they brought it up specifically pointing to my project, could be a general thing. Fuck me.3 -
It is time... to rant about macs!
No, seriously - I had such a different experience about which not many talk in real life or pretend that it never happens....
Model: 2015 mid MBP 15" with second to highest specs (don't have dedicated gpu).
Rattling fucking toy.... Yea, it rattles! If you shake/move ir sit in trait/bus - it non-stop rattles as a fucking toy. Worst part? It's confirmed issue by apple and it manifacturing issue that they are not keen on fixing!!!! WTF? We have 4 macs in our office - all of them fucking rattles... God help me how annoying that is. (Lose LCD control panel that unsticks from glue. Replacing it solves the issue for 1 month if you carry it anywhere).
Constant fucking crashing/updates.... Every morning I wake up and don't have an app that requires confirmation for restart - it's restarted. YAY, turning on all apps once again.... Why you may ask? Well, because if you tinker with software in any way - it fails to update it and hell breaks lose. It's been a long time since High-Sierra came around and the issue is still there (not running Mojave as it conflicts with soft I have... Woo!). Tried few times - updates fail. Resolution? Reinstall OS!
OS conflicts with applications - damn... People told me it works out of the box.... Yeah, as long as you don't upgrade the OS - then it breaks. Why? Well, because.
Piece of shit power supply. With 4 of our office power supplies - 2 of them failed twice withing warranty and once afterwards... Really? Not to mention that all 4 are starting to shear the sleeve or already did (mine is just wrapped with white electrical tape to give it a support... lol).
Bluetooth - who the hell needs that in mac, right? Well, people do. To start with - it conflicts with 2.4GHz wireless network - you might have one of those and not both at the same time. Next thing is using a device that needs constant connection (mouse, headphones, keyboard - non apple branded) - shit... They can't stay connected for more than an hour without any issues... Constant battle to re-connect it, to re-pair the device and all due to smart apple bluetooth settings. Hell, my mouse (logitech MX master) was even printing random symbols in some applications if moved. All of the issues went away after using a bluetooth dongle... WOO!!!!
Xcode... Ahh, you may never prepare your mac if you don't download 17GB of fucking xCode libraries that enables some tools to be installed/runned as you can NOT get them in any other way and you have to install full xCode software in order to get them... YAY! 17GB wasted on my 256GB SSD that I can't upgrade. GREAT!
OsX applications - ah, don't get offended but if you are using them and you are fine with them - you are probably a monkey that loves being told what to do. You can't customise any actions, you can't configure it the way you like - either you accept their default workflow or go kill yourself. Yep... Had issues with calendar, mail, iMessages, safari... None of them fit my needs :)
Resolution scaling... Fucking hell, the display is 2880 x 1800 but all you let me to use is 1440x900 without scaling? Am I blind to you? Scaling the resolution means that you are fucked if some applications don't support scaling very well. Looking at you Jetbrains - your IDES suck at scaling and slows down the pc to a potato....
Now the pros - keyboard is way better than the new ones, trackpad is GREAT - no need for mouse (using it on external 4k displays only), the battery life is great - getting around 6h of continues development time, 8 if using sublime instead of phpStorm and well, that's about it...
To clarify:
I've bought this device due to the fact that at that time mac and windows pc's with similiar specs costed the same while windows pc sucked with their quality of the device and trackpad... Now the situation is better and when time comes for a next upgrade - it's going to be one of these:
Razer Blade 15, Dell XPS 15, Lenovo Carbon X1 series.
And of course - LINUX. I've had enough issues with windows, and had enough of retardness of apple ecosystem, so switching it is a must for me.
Disclaimer: I might be an unhappy customer, a bit picky but I'd like my device to be setted up as I like and continue to have that until I don't like, not until the company decides to break it. Not to mention that paying almost a yearly salary in my country for one device - I'd expect it to be at least reliable and work without issues....
Rant over.
ps. You can disagree with me, this is my personal experience with MBP over the last 3 years :)8 -
So ok here it is, as asked in the comments.
Setting: customer (huge electronics chain) wants a huge migration from custom software to SAP erp, hybris commere for b2b and ... azure cloud
Timeframe: ~10 months….
My colleague and me had the glorious task to make the evaluation result of the B2B approval process (like you can only buy up till € 1000, then someone has to approve) available in the cart view, not just the end of the checkout. Well I though, easy, we have the results, just put them in the cart … hmm :-\
The whole thing is that the the storefront - called accelerator (although it should rather be called decelerator) is a 10-year old (looking) buggy interface, that promises to the customers, that it solves all their problems and just needs some minor customization. Fact is, it’s an abomination, which makes us spend 2 months in every project to „ripp it apart“ and fix/repair/rebuild major functionality (which changes every 6 months because of „updates“.
After a week of reading the scarce (aka non-existing) docs and decompiling and debugging hybris code, we found out (besides dozends of bugs) that this is not going to be easy. The domain model is fucked up - both CartModel and OrderModel extend AbstractOrderModel. Though we only need functionality that is in the AbstractOrderModel, the hybris guys decided (for an unknown reason) to use OrderModel in every single fucking method (about 30 nested calls ….). So what shall we do, we don’t have an order yet, only a cart. Fuck lets fake an order, push it through use the results and dismiss the order … good idea!? BAD IDEA (don’t ask …). So after a week or two we changed our strategy: create duplicate interface for nearly all (spring) services with changed method signatures that override the hybris beans and allow to use CartModels (which is possible, because within the super methods, they actually „cast" it to AbstractOrderModel *facepalm*).
After about 2 months (2 people full time) we have a working „prototype“. It works with the default-sample-accelerator data. Unfortunately the customer wanted to have it’s own dateset in the system (what a shock). Well you guess it … everything collapsed. The way the customer wanted to "have it working“ was just incompatible with the way hybris wants it (yeah yeah SAP, hybris is sooo customizable …). Well we basically had to rewrite everything again.
Just in case your wondering … the requirements were clear in the beginning (stick to the standard! [configuration/functinonality]). Well, then the customer found out that this is shit … and well …
So some months later, next big thing. I was appointed technical sublead (is that a word)/sub pm for the topics‚delivery service‘ (cart, delivery time calculation, u name it) and customerregistration - a reward for my great work with the b2b approval process???
Customer's office: 20+ people, mostly SAP related, a few c# guys, and drumrole .... the main (external) overall superhero ‚im the greates and ur shit‘ architect.
Aberage age 45+, me - the ‚hybris guy’ (he really just called me that all the time), age 32.
He powerpoints his „ tables" and other weird out of this world stuff on the wall, talks and talks. Everyone is in awe (or fear?). Everything he says is just bullshit and I see it in the eyes of the others. Finally the hybris guy interrups him, as he explains the overall architecture (which is just wrong) and points out how it should be (according to my docs which very more up to date. From now on he didn't just "not like" me anymore. (good first day)
I remember the looks of the other guys - they were releaved that someone pointed that out - saved the weeks of useless work ...
Instead of talking the customer's tongue he just spoke gibberish SAP … arg (common in SAP land as I had to learn the hard way).
Outcome of about (useless) 5 meetings later: we are going to blow out data from informatica to sap to azure to datahub to hybris ... hmpf needless to say its fucking super slow.
But who cares, I‘ll get my own rest endpoint that‘ll do all I need.
First try: error 500, 2. try: 20 seconds later, error message in html, content type json, a few days later the c# guy manages to deliver a kinda working still slow service, only the results are wrong, customer blames the hybris team, hmm we r just using their fucking results ...
The sap guys (customer service) just don't seem to be able to activate/configure the OOTB odata service, so I was told)
Several email rounds, meetings later, about 2 months, still no working hybris integration (all my emails with detailed checklists for every participent and deadlines were unanswered/ignored or answered with unrelated stuff). Customer pissed at us (god knows why, I tried, I really did!). So I decide to fly up there to handle it all by myself16 -
Decided to give WSL (Windows Subsystem for Linux) a chance.........it was a BAD idea.
I go to the directory of my Node project and do "yarn" to install the packages.
Bash freezes while Yarn is linking dependencies. At this point I don't even know if it's still doing its job in the background or not, so I try to Ctrl+C.
Ctrl+C doesn't work either, I have to force-close the console.
When I try to open bash again, it doesn't even open. The only way to solve this is to re-login to Windows.
I appreciate Microsoft's intent in making their OS a better home for developers, but they still have a long way to go.
P.S.: No, this isn't a Yarn issue, everything works perfectly in both Linux and Windows :)7 -
In my wallowing experience as a freelancer I've noticed that almost all C/C++ clients are perfectionist. You just can't please them by getting the job done quickly.
I got a libcurl job from one the other day to scrape data from a target website and within an hour it was ready. I notified the client and he was both amazed and confused assuming it would take the whole week.
C++Client: The code works but you need to take your time.
Me: Sorry?
C++Client: Yes, it works but you used "string" instead of "wstring"
Me: 😊 Oh okay... *converts strings to wstring*
C++Client: And also variable names should be more descriptive.
Me: 😏 *int foobar => int very_long_descriptive_foobar_01*
C++Client: And also use "shorts" for page nums it'll save some bytes
Me: 😕 *int => short...*
C++Client: And also use forloops instead of whileloops
Me: ☹️ *whileloops => forloops*
C++Client: And also use -- instead of ++ in loops
Me: 😤 *for(... i++) => for(... i--)*
C++Client: And also...
C++Client: And also...
C++Client: And also...
C++Client: And also...
C++Client: And also...
C++Client: And also...
C++Client: And also...
===> Seven "and also" days later <===
Me: *completed 10 Java projects behind the scene*
C++Client: And also use pthread instead of thread
Me: 😧 It's day 7 already!
C++Client: Oh I see, great job. You can compile and send me the archived source.
Me: 🤩
C++Client: And also...
Me: 🏃💨10 -
I've assembled enough computing power from the trash. Now I can start to build my own personal 'cloud'. Fuck I hate that word.
But I have a bunch of i7s, and i5s on hand, in towers. Next is just to network them, and setup some software to receive commands.
So far I've looked at Ray, and Dispy for distributed computation. If theres others that any of you are aware of, let me know. If you're familiar with any of these and know which one is the easier approach to get started with, I'd appreciate your input.
The goal is to get all these machines up and running, a cloud thats as dirt cheap as possible, and then train it on sequence prediction of the hidden variables derived from semiprimes. Right now the set is unretrievable, but theres a lot of heavily correlated known variables and so I'm hoping the network can derive better and more accurate insights than I can in a pinch.
Because any given semiprime has numerous (hundreds of known) identities which immediately yield both of its factors if say a certain constant or quotient is known (it isn't), knowing any *one* of them and the correct input, is equivalent to knowing the factors of p.
So I can set each machine to train and attempt to predict the unknown sequence for each particular identity.
Once the machines are setup and I've figured out which distributed library to use, the next step is to setup Keras, andtrain the model using say, all the semiprimes under one to ten million.
I'm also working on a new way of measuring information: autoregressive entropy. The idea is that the prevalence of small numbers when searching for patterns in sequences is largely ephemeral (theres no long term pattern) and AE allows us to put a number on the density of these patterns in a partial sequence, but its only an idea at the moment and I'm not sure what use it has.
Heres hoping the sequence prediction approach works.17 -
This happen to me once when I was a young kid walking home from school.
There were two other guys with me, older than me. They were talking to each other about programming languages. I have been programming from a very young age so I knew a lot about programming and I knew a few languages back then, but they were taking about Java, a language which I wasn't into yet back then, so I just listened for a while to what they had to say.
The first guy told the other, "You know I'm great at Java." The other guy responded "I can do anything in Java." Then I said as a joke "Oh, can you do hello world?". The guy said "Hello what? What do you mean?" The other guy said. "Is that a retro game?" I just laughed. Then I told them to go learn how to output text in Java.
A bit of current history about these guys:
The first now works in C# for a quiz test company, he never learned Java or languages other than C#. The second one owns and works at a scrapyard. They are both great guys, but they like to brag.3 -
Oh, $work.
Ticket: Support <shiny new feature> in <seriously dated code> to allow better “searching” (actually: generating reports, not searching)
UI: “Filter on” inputs above a dynamic JS table don’t update said table; they trigger generating a new report.
Seriously dated code: 12 years old. Rails v3-isms. Blocks access without appropriate role; role name buried in secrets configuration files. Code passes data round-trip between server/client/server/model that isn’t ever used. Has two identical reports with slightly different names, used interchangeably. Uh, I guess I’ll update both?
Reports: Heavily, heavily abstracted; zero visibility.
Shiny new feature: Some new magical abstraction layer with no documentation nor comments. Nobody in my team knows how it works. The author… won’t explain, but sent me her .ppt presentation on it (the .ppt, not a recording).
Useless specs for seriously dated code: Tests exclusively factory-generated data; not the controller, filters/lookups, UI, table data, etc.
Seriously dated code and useless spec author: the CISO.
The worst part: I’m not even surprised at any of this.2 -
Everyone and their dog is making a game, so why can't I?
1. open world (check)
2. taking inspiration from metro and fallout (check)
3. on a map roughly the size of the u.s. (check)
So I thought what I'd do is pretend to be one of those deaf mutes. While also pretending to be a programmer. Sometimes you make believe
so hard that it comes true apparently.
For the main map I thought I'd automate laying down the base map before hand tweaking it. It's been a bit of a slog. Roughly 1 pixel per mile. (okay, 1973 by 1067). The u.s. is 3.1 million miles, this would work out to 2.1 million miles instead. Eh.
Wrote the script to filter out all the ocean pixels, based on the elevation map, and output the difference. Still had to edit around the shoreline but it sped things up a lot. Just attached the elevation map, because the actual one is an ugly cluster of death magenta to represent the ocean.
Consequence of filtering is, the shoreline is messy and not entirely representative of the u.s.
The preprocessing step also added a lot of in-land 'lakes' that don't exist in some areas, like death valley. Already expected that.
But the plus side is I now have map layers for both elevation and ecology biomes. Aligning them close enough so that the heightmap wasn't displaced, and didn't cut off the shoreline in the ecology layer (at export), was a royal pain, and as super finicky. But thankfully thats done.
Next step is to go through the ecology map, copy each key color, and write down the biome id, courtesy of the 2017 ecoregions project.
From there, I write down the primary landscape features (water, plants, trees, terrain roughness, etc), anything easy to convey.
Main thing I'm interested in is tree types, because those, as tiles, convey a lot more information about the hex terrain than anything else.
Once the biomes are marked, and the tree types are written, the next step is to assign a tile to each tree type, and each density level of mountains (flat, hills, mountains, snowcapped peaks, etc).
The reference ids, colors, and numbers on the map will simplify the process.
After that, I'll write an exporter with python, and dump to csv or another format.
Next steps are laying out the instances in the level editor, that'll act as the tiles in question.
Theres a few naive approaches:
Spawn all the relevant instances at startup, and load the corresponding tiles.
Or setup chunks of instances, enough to cover the camera, and a buffer surrounding the camera. As the camera moves, reconfigure the instances to match the streamed in tile data.
Instances here make sense, because if theres any simulation going on (and I'd like there to be), they can detect in event code, when they are in the invisible buffer around the camera but not yet visible, and be activated by the camera, or deactive themselves after leaving the camera and buffer's area.
The alternative is to let a global controller stream the data in, as a series of tile IDs, corresponding to the various tile sprites, and code global interaction like tile picking into a single event, which seems unwieldy and not at all manageable. I can see it turning into a giant switch case already.
So instances it is.
Actually, if I do 16^2 pixel chunks, it only works out to 124x68 chunks in all. A few thousand, mostly inactive chunks is pretty trivial, and simplifies spawning and serializing/deserializing.
All of this doesn't account for
* putting lakes back in that aren't present
* lots of islands and parts of shores that would typically have bays and parts that jut out, need reworked.
* great lakes need refinement and corrections
* elevation key map too blocky. Need a higher resolution one while reducing color count
This can be solved by introducing some noise into the elevations, varying say, within one standard div.
* mountains will still require refinement to individual state geography. Thats for later on
* shoreline is too smooth, and needs to be less straight-line and less blocky. less corners.
* rivers need added, not just large ones but smaller ones too
* available tree assets need to be matched, as best and fully as possible, to types of trees represented in biome data, so that even if I don't have an exact match, I can still place *something* thats native or looks close enough to what you would expect in a given biome.
Ponderosa pines vs white pines for example.
This also doesn't account for 1. major and minor roads, 2. artificial and natural attractions, 3. other major features people in any given state are familiar with. 4. named places, 5. infrastructure, 6. cities and buildings and towns.
Also I'm pretty sure I cut off part of florida.
Woops, sorry everglades.
Guess I'll just make it a death-zone from nuclear fallout.
Take that gators!
5 -
!Dev
the fuck...
I'm not very good in remembering numbers. But I have lots to remember: apartment entrance code, maestrocard pin, phone pin, s few pins at work, and so on. So I remember patterns my finger mskes on a numpad instead [if you have played Ingress, you know exactly how it works].
There is a pattern for a bank card. Another one for phone pin, etc.
I've been using this technique for years... It has never failed me. I never could remember my pins, but give me a keypad and I'll enter it right away.
Last week smth happened. I forgot 2 pins from both of my bank cards... Both at the same day. And I did not have them written down anywhere for years...
Shit3 -
I tried LSD yesterday!
Backstory: I have a weird combo of bipolar type 1 and autism. During the day, my brain works inconsistently. Here how my day usually goes:
09:00. I wake up. Uninterested, cold, masculine. No thoughts in the background. No OCD.
12:00. Brain warms up. Thought process begins. Thoughts are short in their length
14:00. Thoughts start to get longer. Stress starts to accumulate. Background thoughts start, now typically 2–3 at a time.
16:00. Twitching begins. Thought chains are now 5–6 concepts long, one following the other. Perception level rises quickly. I start to feel more feminine. It is in this state that I start to spot imperfections and mistakes looking at code or text without reading it. I see it like a painting, and mistakes appear as “visually wrong” parts. This does not depend on formatting.
17:00. OCD becomes more severe. I HAVE to touch all the surfaces around me, evenly, as if my hands were text highlighters, and I had to paint everything evenly, without overlaps or spots that are brighter or darker than the others. Some surface textures become irritating, and feel quite unpleasant to the touch. If I go for a run now, like 3 km or so, I feel somewhat relieved.
18:00. Things are getting serious. Creativity levels through the roof. I speak in long, never-ending, profound sentences. Background and foreground thoughts almost become one. I appear visually drunk and happy, despite never drinking alcohol. Femininity rises even further. Sometimes, when I speak to a small group of people, especially if I go with friends to meet new people, and we go to some bar, new people ask to record my voice or to write down whatever I’m saying. To be honest, this reason alone is a huge boost to how I see yourself.
19:00. OCD is crazy now. Surfaces have soul.
21:00 <— Gotta take my meds and go to sleep here to prevent what comes at 22:00
22:00. All thoughts, both foreground and background, fully became one. Now my brain officially disobeys me and thinks on its own, and I can ride it like a surfer at best. Twitching becomes concerning. I develop a 1000-yard stare. I am officially a female. Physical strength is somewhat enhanced. Pain tolerance lowered significantly.
23:00. Derealization begins. The world around me appears two-dimensional and flat, like a picture. It is hard to get home on foot, even in close (less than one km) proximity. Brain is fully numb. All that thought monstrosity that was building up is just noise now. Zero “flops” available to think about something I want to think about, like how much money I have on me or what time it is.
I go to sleep. I see nightmares. I wake up, and the cycle repeats.
Contrary to a popular opinion, I never take any “brain-boosting” meds like antidepressants, and I think now you can see why. I consume neither alcohol nor caffeine. Neither me, nor my doctors want my brain to explode. I only take lamotrigine that helps to “lower down” mania, and quetiapine, a neuroleptic, that slows down my brain, like a neuroleptic. Both are there to slow down my brain, to kinda “throttle” my brain like a CPU to cool it down.
That said, 100ug of LSD just… brought me my usual 18:00 state, but in the morning?
All that small-dose recreational ordeal? The thing that helps people feel more energetic and creative?
People pay money… for that? To feel the way I feel every evening?10 -
Regus sent me to collections.
Jist: if you ever think about renting an office from Regus, for the love of your bank account and your credit, just don't. Go into the kitchen and pan-fry your face instead. it'll be better.
Moral: get it in writing. What is "it"? Fucking everything.
------
I needed someplace quiet away from my children to work, so I rented an office from Regus. They said they had a minimum 6-month contract, which is fine, but at the time I was pretty sure I would be moving within three to five. They said they understood and offered the quivalent of a month-to-month plan: I could cancel my contract whenever I wanted, given a few weeks' notice, and that would be that. It wasn't in writing, but both the accounts person and the regional manager were there offering it to me, and they seemed cool. Awesome! I agreed, signed the contract, and paid a hefty damage deposit.
Long story short, I ended up hating the office, and chose to bear the distractions at home instead. Seeing how much I disliked it, the accounts person I talked to originally called me and offered to cancel my contract. I agreed, and she walked me through the steps to cancel it and request my deposit back. Done. I aske her if that was it; no more payments, no more contract. "No more," she said. "You're done." I liked the sound of that. Done and done.
The next day, I check my bank account; no deposit.
Two weeks later, still no deposit.
A month later, still no deposit.
They did say it could take up to three fucking months or something, so whatever. I waited.
Another month later, and instead of my refunded deposit, I get an overdue invoice notice? Seriously?
Apparently they never cancelled my contract, don't remember offering me the month-to-month agreement, nor does the very chick I talked to remember telling me over the phone that everything was paid up and done. Apparently my contract wasn't even for six months like they originally promised, but indefinite? despite all of this? and despite the two of us fucking cancelling it? together?
But no, the legal agreement is binding and explicitly states that they are fucking assholes and due their pound of cash.
So fuck that and fuck them.
And in response, they sent me to collections.
Huge fucking surprise.
and now collections is calling me saying I owe $1900, which works out to a lot more than the couple months it's been since I cancelled that crap, AND.
AND IT'S LESS THAN THE FUCKING DEPOSIT REGUS NEVER RETURNED!
SO NOT ONLY DID THEY NEVER CANCEL MY CONTRACT, THEY CHANGED ITS TERMS (or lied up-front) AND DECIDED TO POCKET THE DEPOSIT INSTEAD OF APPLY IT TO MY FUCKING IMAGINARY BALANCE!
FUCK YOU SHADY MOTHERFUCKERS!10 -
Let's talk a bit about CA-based SSH and TOFU, because this is really why I hate the guts out of how SSH works by default (TOFU) and why I'm amazed that so few people even know about certificate-based SSH.
So for a while now I've been ogling CA-based SSH to solve the issues with key distribution and replacement. Because SSH does 2-way verification, this is relevant to both the host key (which changes on e.g. reinstallation) and user keys (ever replaced one? Yeah that's the problem).
So in my own network I've signed all my devices' host keys a few days ago (user keys will come later). And it works great! Except... Because I wanted to "do it right straight away" I signed only the ED25519 keys on each host, because IMO that's what all the keys should be using. My user keys use it, and among others the host keys use it too. But not by default, which brings me back to this error message.
If you look closely you'd find that the host key did not actually change. That host hasn't been replaced. What has been replaced however is the key this client got initially (i.e. TOFU at work) and the key it's being presented now. The key it's comparing against is ECDSA, which is one of the host key types you'd find in /etc/ssh. But RSA is the default for user keys so God knows why that one is being served... Anyway, the SSH servers apparently prefer signed keys, so what is being served now is an ED25519 key. And TOFU breaks and generates this atrocity of a warning.
This is peak TOFU at its worst really, and with the CA now replacing it I can't help but think that this is TOFU's last scream into the void, a climax of how terrible it is. Use CA's everyone, it's so much better than this default dumpster fire doing its thing.
PS: yes I know how to solve it. Remove .ssh/known_hosts and put the CA as a known host there instead. This is just to illustrate a point.
Also if you're interested in learning about CA-based SSH, check out https://ibug.io/blog/2019/... and https://dmuth.org/ssh-at-scale-cas-... - these really helped me out when I started deploying the CA-based authentication model.
19 -
I was talking to my non-tech gf about how a colleague of mine didn't understand priority queue and show led her an example, during explanation fucked up the example and duplicated priorities of 2 values but they came up in the unexpected order. She wanted to find the logic in it and blamed the computer for being dumb, but it has been ~45 minutes, she has Wikipedia about binary trees & linked list open as well as simple graphs visualising both + armed with pen and paper trying to understand how it all all works..
Achievement Earned?
P.S I am either creating a monstrosity (Frankenstein style) or recruiting a fresh mind to our ranks, either way I am proud af 😢😊😍8 -
I actually never felt the need to scream at a co-worker so let's talk about that time a co-worker screamed at me instead.
tl;dr : some asshole boss screamed and threatened me because someone else's project was shit and didn't work.
Context: I was in my third year of school internship (graded) and my experience is C, C++, C#, Python all in systems programming, no web.
I was working as an intern for a shit company that was selling a shit software to hospitals (though not medically critical, thank God) the only tech guy on site was the DBA (cool guy) the product was maintained by a single dev in VB from his house, the dude never showed up to work (you'll understand why) and an other intern who couldn't dev shit.
I was working with the DBA on an software making statistical analysis from DB exports, worked nice, no problems here if we forget the lack of specs or boundaries (except must work in ieShit).
The other intern was working on something else (don't ask me what it is) I just remember it was in GWT before the community revived it. His webapp was requesting the company http server for a file instead of having one of it's java servlet to fetch it (both apps ran on sane server) which caused a lot of shit especially CORS error. That guy left (end of contract) and leaves his shit as is, boss asked me to deploy the app, I fiddle with it to see if it works and when I find out it doesn't then that asshole starts screaming at me in front of every other employee present, starts threatening to burn me in the tech world and have me thrown out of my school for no goddamn reason than the other dude's project doesn't work.
After the screaming I leave and warn my school immediately.
I guess that's why the other dev never came to work.
I had three weeks of internship left, that I did from home and worked probably less than 2 hours a day so suck it asshole.
Still had a good grade because I was reviewed by the DBA and he was happy with the work I did.
It was only later that I realized that what he did was categorizing as harassment (at least in France) and decided that never again this would happen without a response from my lawyer.1 -
So my boss run 2 different companies, the one that hired me and the one that I work for like 40% of the time (through the first one).
This second company is now having a client that's asking for educational qualification for both my boss and me (?)
I mean, even if I didn't study, why would you need that? The product is up and running and works, so wtf do you want?11 -
tl;dr - why you no read this?
Here I am pondering why I continue to return to my job everyday when we are currently at month 13 of a 4 month project... yea let that set in for a minute... which is still at least 3-4 months away from being deployed due to annual leave of key stake holders and the whole Christmas period creeping up and things just not going as planned every step of the way.
There's no greater demotivater - is that even how you spell it - then being stuck in a project for so long you really just don't give a shit if it works or not anymore.
This has gone from a simple - relatively speaking - project to some monolithic mayhem of requirement changes and process adjustments, that have not only delayed our team, but 3rd party vendors needing to change things as well, or the requirements being wrong early so when you get up to business testing it's like "nope, that's not what we wanted" .... despite all the sessions of you personally giving the PM all the damn requirements.
But in saying that, they (3rd party) aren't innocent either, we have found nothing but issue after issue with their product since we started this project that who ever signed off on going forward with the thing should have been shot from both sides - it's not designed for the scale we will be using it yet we didn't find that out till we got so far into the rabbit hole we had a chance to be able to do load testing.
Meh, guess I'll go to work Monday and spend another week in misery trying to deliver something that just doesn't want to know what the finish line is.4 -
Weee both projects from yesterday went perfect...
Usual most of my projects end up fucked up because I want to do stuff I don't know how to... (well, I'm learning so I don't get frustrated, just pick up another idea).
Air cooler for power people V 1.1 works perfect. Today we will get almost 40 C and I feel the cold air in my face.
2 -
I'm amazed how some people either think I'm fucking jesus or a god or both.
App XY not working.
Yeah. We're talking about how App XY and it's exhaustion of the connection pool since a year....
It's not working, what can we do?
Well. I don't know. Tried restarting?
Not working.
Well... Nothing I can do, you're responsible for developing the app and we've talked many times how complex the problem is.
It's not working, can u do something?
<Me just fed up increasing the connection count>
Well. I've increased the connections.
This will not work. It's a band aid. The app needs really a complete migration.
Ok. But it works.
No it doesn't work.. For fucks sake... It still exhausts the connections for unknown reasons, this is a band aid.
But it works....
-.-
This conversations was over then....
Well. Have fun.
I reverted the change I did.
May this crappy piece of shit die a thousand deaths, I:m now working on something else.
Goodbye mother fucking bitches, habe fun with the nightmare you created.
I'll cry over the other fucking nightmares I at least can solve, cause what you created in this App is beyond irresponsible and dumb.4 -
Trigger warning:
Emotional !dev love life rant
I think this is not the right place to pour my heart out, but despite its more recent infights I still consider devRant to be a special community to me. And I guess if devRant is my goto place for support that's an issue. But maybe I just need to shout into a void because this is not about you solving this for me.
I have been in this relationship for ~6 years. My first great love. In the beginning, everything was perfect - a love story like from a cheesy movie. We've been through a lot to be together: Long distance, moving countries, a ton of bureaucracy (as she's from another country). So many memories.
It came as a surprise to me when she ended things. It really shouldn't have been. We've talked a lot about the reasons and I now see how much I've taken her for granted and neglected our relationship. I see now how I've been avoiding my problems and how I didn't work on my (mental and physical) health issues as good as I need to - not just for any relationship, but for myself. The regret/shame/guilt of not giving it 100% and of neglecting her weights heavily on me (besides the loss) and I am not sure what is worse.
Besides our relationship withering because of neglecting emotional needs, she also questioned our compability. We certainly have differences and different interests and we're both somewhat uncertain whether we really fit, if we ignore our history/emotions. It is actually a question that popped up in my head before sometimes, but I was too afraid to look into it for fear the answer is no. But here we are and ignoring that didn't help.
For now, we both need time to think about what we really want and whether this includes the other. We agreed that we need some distance to process the feelings. We still live in the same flat but for now she's staying with a friend most of the time and I'll also have a friend's place available soon. If in some time we both feel like we want to be together, we can date again - however she was also clear that she doesn't want to give any false hope and her current vision doesn't include me. If not, well have to hire a divorce lawyer. (Why you need a lawyer for that if both agree is beyond me.)
I am shattered. When it became clear to me that the relationship is over (and I ruined it), I got nauseous to the point that I threw up constantly for 6 hours. For the following 2 days I only cried and haven't eaten. Third day I started cleaning up the flat (long overdue!) - mostly for her tbh but I know it's good for myself, so better do the right thing with wrong motivation than sob all day -
talked to my psychiatrist and she brought some lunch which I could eat. Today (fourth day) she came over and we cooked lunch. I am still feeling terrible but the first days have been the worst I've ever felt and I've been trough quite a bit of (physical & chronic) pain - emotional pain hits different.
Let's see how this works out. In any case I now know very clear that I can't continue like before and need to work on my issues (for my own sake). I want be my best self, even if right now I don't have a lot of energy and am very depressed. I got an appointment with a therapist tomorrow - something I should have done years ago but I was overwhelmed with anxiety and analysis paralysis. I hope the future will be brighter and while I still wish to wake up from this nightmare and realize my faults without this breakup, I also know that I have to face reality.
PS: I do feel better now after writing this out. Thanks for listening, I guess.27 -
Great (but clueless) client. I went to a meeting with the client to discuss a way forward for his website revamp. First off he showed me his idea, which was a visual of the Windows desktop, with folders for different sections of the website, click on a folder and it opens revealing the different website pages. It went on basically describing how windows works. When he'd finished I said, with a cheeky smile, "that must be one of the fucking shityest ideas I've ever heard". We both started laughing.3
-
So fuck this. Fucking fuckers fuck this.
We've been having massive performance issues with a nested drag and drop component. I built this abomination about a year ago and had to rush through it due to my colleague not thinking the change was necessary, even though the previous revision was even worse. It's been going strong for a while, but since a month ago it has started to perform badly. Makes sense, because it was hacked together, and wasn't made for the amount of data that it's handling now.
So the other day I presented the issue to my colleague, telling him exactly what the problem was, and that we'll have to rewrite quite a bunch of the code to get it working. Today when I bring it up again he is really negative towards the changes because they are so big, and don't really want me to do them. He is, however, super stressed about the performance issues and starts digging around in the code himself. Code that he's never touched, don't understand how it works, and has said he's not interested in learning about. He even says he sucks at frontend and Vue himself. So we sit there from morning to lunch, digging through the code together (I had to do it as well because he came nowhere). And what do you think the conclusion was? The same thing I told him a few days ago.
So what now then? He still don't want me to do the changes, but still wants it solved! How the fuck is that supposed to happen?!?
Worst part is that we're the only two developers in the company, and our boss has little IT experience. That puts me and my colleague at the same hierarchical level, so all decisions has to be cool with the both of us.
So fuck this. Fucking fuckers fuck this.7 -
The saddest and funniest side of our industry is (atleast in India): someone works hard and makes it to the best colleges, do great projects on AI, ML; get a good score on Leetcode, codechef; gets a job in FAANG-like companies...
Changes colors in CSS and texts in HTML.
And, why is there so much emphasis on Data Structures and Algorithms? I mean, a little bit is fine, but why get obsessed with it when you never write algorithms in production code?
Now, don't tell me that, we use libraries and we should know what we are doing, no, we don't use algorithms even in libraries.
Now, before you tell me that MySQL uses B-tree for maintaining indexes, you really don't need to solve tricky questions to be able to understand how a B-tree works.
It's just absurd.
I know how to little bit on how design scalable systems.
I know how to write good code that is both modular and extensible.
I know how to mentor interns and turn them into employees.
I know how to mentor junior engineers (freshers) and help them get started.
Heck I can even invert a binary tree.
But some FAANG company would reject me because I cannot solve a very tricky dynamic programming question.4 -
So, first: I'm a bit of a perfectionist when it comes to code and love to think I know everything.
We had a group project at university and me being laid back but unknown to the other people, the "rest" of them was together with me in a group. We got to know each other and actually we were a pretty cool group. I guess "the rest" in a computer science course means you get the cool guys.^^
1/6 of us did ever code in C# and 2/6 even knows what an engine is and how unity works. I was in both sixths, got group leader somehow (if you'd know me from school. Omg. I was that one guy not knowing what went on, saying my two sentences at the presentation and took the B-.:D), so what to do to have a nice 2 weeks with them?
We did a crash course, I taught them some basics and everything.
The point is, i was hella nervous and i really get anxious if something is expected from me.
Long story short, I talked a whole week for 5-7 hours straight without real pauses and eating wayyy less a man should. Dude I was literally dead on my way home on friday evening. I felt like I would fall over any fucken second, i was all shakey, dizzy as hell, weird vision, everything. It felt like I was about to die on the spot.
I got home though, ate like 1/2 kilograms of pasta and felt myself coming back to life.:D
What to learn from this:
Keep the fuck calm, do pauses, drink and eat enough and don't rush all in for a fucken week without real rest..^^
It fucks you up and doesn't do anything good for your productivity.
We got an A btw, so in the end, all went good.(: -
For those who use Windows, have a desktop and notebook computer and want to use the same keyboard and mouse on both.
Windows has a program called "Mouse without Borders" that let you use the mouse and keyboard of one computer on another like a dual monitor setup. It's works via LAN and I have to say that I haven't any lag. You can copy text from one computer and paste into another and you can drag files too (that are copied to a special folder).
My desktop computer has a big monitor and of course it's better than my notebook and I don't want to spend money in another monitor, so this is a life saver for those who are in the same situation.
Cheers!5 -
I already wrote a rant about this yesterday, but since I'm a sysadmin trying to convert to dev.. I dunno, maybe it's not a bad idea to muddy the waters a bit and talk about why not to be a sysadmin.
Personally I think it's that the perceived barrier to entry is just too high, while it isn't. You don't need a huge Ceph cluster and massive servers when you're just starting out. Why overbuild an appliance like that if it's gonna start out at maybe 5 requests a minute?
Let's take an example - DNS servers! So there's been this guy on the bind-users mailing list asking how to set up a DNS server on 2 public servers, along with a website. Nothing special I guess - you can read the thread here: https://0x0.st/ZY-d. Aside from the question being quite confusing, there was advice to read RFC's, get a book, read the BIND ARM, etc etc. And the person to deny this? No one less than Stephane Bortzmeyer, one of the people who works for nic.fr (so he maintains the .fr TLD) and wrote some of those RFC's as part of the DNSOP working group in the IETF. As for valid reasons to set up a DNS server? Could just be to learn how the DNS works, or hell even for fun. As far as professional DNS servers go.. this (https://0x0.st/ZYo9) is the nugget that powers the K root server, one of the 13 root servers that power the root zone of the internet, aka the zone apex. 2 RJ45 connections, and a console connection. The reason why this is possible is the massive recursor networks that ISP's, Google DNS, Cloudflare DNS, Quad9, etc etc provide. Point is, you don't need huge infrastructure to run a server!
Or maybe your business needs email. How many thousands of emails per second are you gonna need to build your mail server against? How many millions will you need to store? If your business has 10 employees and all of those manage about 10k emails total.. well that's easy, 100k emails total. Per second? Hundreds of emails per second per employee? Haha, of course not. Maybe you'll see an email a minute at most. That is not to say that all email services are like this - it is true that ISP's who offer email to their customers, and especially providers like Microsoft and Google do need massive mail servers that can handle thousands of emails per second. But you are not Microsoft or Google. So yeah, focus on the parts of email that are actually hard.. and there is plenty.
Among sysadmins you have this distinction between "professional" sysadmins and homelabbers. I don't mind the distinction itself but I think both augment each other. If you've started out by jumping into a heap of legacy at an established company, you will have plenty of resources, immediately high complexity, and probably a clusterfuck right away. But you will have massive amounts of resources. If you start out with a homelab, you will have not many resources, small workloads, and something completely new for you to build and learn with. And when running a server like that, you'll probably find that the resources required are quite small, to provide you with your new services. My DHCP servers take 12MB memory each. My DNS servers hover around the 40MB mark. The mail server.. to be fair that one consumes around 150. But if you'd hear the people saying that you need huge servers.. omg you need at least a TB of RAM on your server and 72 cores, massive disks and Ceph!1!
No you don't. All that does is scaring people away and creating a toxic environment for everyone. Stop it.1 -
Hey, been gone a hot minute from devrant, so I thought I'd say hi to Demolishun, atheist, Lensflare, Root, kobenz, score, jestdotty, figoore, cafecortado, typosaurus, and the raft of other people I've met along the way and got to know somewhat.
All of you have been really good.
And while I'm here its time for maaaaaaaaath.
So I decided to horribly mutilate the concept of bloom filters.
If you don't know what that is, you take two random numbers, m, and p, both prime, where m < p, and it generate two numbers a and b, that output a function. That function is a hash.
Normally you'd have say five to ten different hashes.
A bloom filter lets you probabilistic-ally say whether you've seen something before, with no false negatives.
It lets you do this very space efficiently, with some caveats.
Each hash function should be uniformly distributed (any value input to it is likely to be mapped to any other value).
Then you interpret these output values as bit indexes.
So Hi might output [0, 1, 0, 0, 0]
while Hj outputs [0, 0, 0, 1, 0]
and Hk outputs [1, 0, 0, 0, 0]
producing [1, 1, 0, 1, 0]
And if your bloom filter has bits set in all those places, congratulations, you've seen that number before.
It's used by big companies like google to prevent re-indexing pages they've already seen, among other things.
Well I thought, what if instead of using it as a has-been-seen-before filter, we mangled its purpose until a square peg fit in a round hole?
Not long after I went and wrote a script that 1. generates data, 2. generates a hash function to encode it. 3. finds a hash function that reverses the encoding.
And it just works. Reversible hashes.
Of course you can't use it for compression strictly, not under normal circumstances, but these aren't normal circumstances.
The first thing I tried was finding a hash function h0, that predicts each subsequent value in a list given the previous value. This doesn't work because of hash collisions by default. A value like 731 might map to 64 in one place, and a later value might map to 453, so trying to invert the output to get the original sequence out would lead to branching. It occurs to me just now we might use a checkpointing system, with lookahead to see if a branch is the correct one, but I digress, I tried some other things first.
The next problem was 1. long sequences are slow to generate. I solved this by tuning the amount of iterations of the outer and inner loop. We find h0 first, and then h1 and put all the inputs through h0 to generate an intermediate list, and then put them through h1, and see if the output of h1 matches the original input. If it does, we return h0, and h1. It turns out it can take inordinate amounts of time if h0 lands on a hash function that doesn't play well with h1, so the next step was 2. adding an error margin. It turns out something fun happens, where if you allow a sequence generated by h1 (the decoder) to match *within* an error margin, under a certain error value, it'll find potential hash functions hn such that the outputs of h1 are *always* the same distance from their parent values in the original input to h0. This becomes our salt value k.
So our hash-function generate called encoder_decoder() or 'ed' (lol two letter functions), also calculates the k value and outputs that along with the hash functions for our data.
This is all well and good but what if we want to go further? With a few tweaks, along with taking output values, converting to binary, and left-padding each value with 0s, we can then calculate shannon entropy in its most essential form.
Turns out with tens of thousands of values (and tens of thousands of bits), the output of h1 with the salt, has a higher entropy than the original input. Meaning finding an h1 and h0 hash function for your data is equivalent to compression below the known shannon limit.
By how much?
Approximately 0.15%
Of course this doesn't factor in the five numbers you need, a0, and b0 to define h0, a1, and b1 to define h1, and the salt value, so it probably works out to the same. I'd like to see what the savings are with even larger sets though.
Next I said, well what if we COULD compress our data further?
What if all we needed were the numbers to define our hash functions, a starting value, a salt, and a number to represent 'depth'?
What if we could rearrange this system so we *could* use the starting value to represent n subsequent elements of our input x?
And thats what I did.
We break the input into blocks of 15-25 items, b/c thats the fastest to work with and find hashes for.
We then follow the math, to get a block which is
H0, H1, H2, H3, depth (how many items our 1st item will reproduce), & a starting value or 1stitem in this slice of our input.
x goes into h0, giving us y. y goes into h1 -> z, z into h2 -> y, y into h3, giving us back x.
The rest is in the image.
Anyway good to see you all again.
20 -
Here is my idea for a time machine which can only send one bit of information back in time.
@Wisecrack has asked me about it and I didn’t want to write it in comments because of the character limit.
So here we go.
The DCQE (delayed-choice quantum eraser) is an experiment that has been successfully performed by many people in small scale.
You can read about it on wikipedia but I'll try to explain it here.
https://en.wikipedia.org/wiki/...
First I need to quickly explain the double slit experiment because DCQE is based on that.
The double slit experiment shows that a particle, like a photon, seems to go through both slits at the same time and interfere with itself as a wave to finally contribute to an interference pattern when hit on a screen. Many photons will result in a visible interference pattern.
However, if we install a detector somewhere between the particle emitter an the screen, so that we know which path the particle must have taken (which slit it has passed through), then there will be no interference pattern on the screen because the particle will not behave as a wave.
For the time machine, we will interpret the interference pattern as bit 1 and no interference pattern as bit 0.
Now the DCQE:
This device lets us choose if we know the path of the particle or if we want wo erase this knowledge. And we can make this decision after the particle hit the screen (that is the "delayed" part), with the help of quantum entanglement.
How does it work?
Each particle send out by the emitter will pass through a crystal which will split it into an entangled pair of particles. This pair shares the same quantum state in space and time. If we know the path of one of the particle "halves", we also know the path of the other one. Remember the knowledge about the path determines if we will see the interference pattern. Now one of the particle "halves" goes directly into the screen by a short path. The other one takes a longer path.
The longer path has a switch that we can operate (this is the "choice" part). The switch changes the path that the particle takes so that it either goes through a detector or it doesn't, determining if it will contribute to the intererence pattern on the screen or not. And this choice will be done for the short path particle-half because their are entangeld.
The path of the first half particle is short, so it will hit the screen earlier.
After that happened, we still have time to make the choice for the second half, since its path is longer. But making the choice also affects the first half, which has already hit the screen. So we can retroactively change what we will see (or have seen) on the screen.
Remember this has already been tested and verified. It works.
The time machine:
We need enough photons to distinguish the patterns on the screen for one single bit of information.
And the insanely difficult part is to make the path for the second half long enough to have something practical.
Also, those photons need to stay coherent during their journey on that path and are not allowed to interact with each other.
We could use two mirrors, to let the photons bounce between them to extend the path (or the travel duration), but those need to be insanely pricise for reasonable amounts of time.
Just as an example, for 1 second of time travel, we would need a path length about the distance of the moon to the earth. And 1 second isn't very practical. To win the lottery we would need at least many hours.
Also, we would need to build the whole thing multiple times, one for each bit of information.
How to operate the time machine:
Turn on the particle emitter and look at the screen. If you see an interference pattern, write down a 1, otherwise a 0.
This is the information that your future you has sent you.
Repeat this process with the other time machines for more bits of information.
Then wait the time which corresponds to the path length (maybe send in your lottery numbers) and then (this part is very important) make sure to flip the switch corresponsing to the bit that you wrote down, so that your past you receives that info in the past.
I hope that helps :)9 -
Wondering how many people use git cmd and how many use different git clients.
I regularly use git cmd. I made a transition from clients a while back because I wanted to learn more about how it actually works and it works just fine for me, except when I have to google something I don't remember (like how to revert local commit)
Git clients will for sure do abstraction which can be both good and bad, but I'm wondering if there are any definitive pros for clients.12 -
I seriously don't fucking understand those people who like programming iDevices.
I mean, in my personal experience you have:
- iPhone not connecting to a WiFi (while working on a network project)
- Mac, while using multiple desktops on 2 monitors: I have the 3rd desktop active on the 2nd monitor, search for terminal to open it and it opens in the 1st desktop of the first monitor
- while making an app (ionic or unity), is about 5 to 15 times slower compared to the same android apps (same exact code, but gotta go throught XCode, y'know?)
- takes YEARS to download XCode, but is necessary to even just build for lastest iPhones updated
- takes years to upload to AppStore and when it's done it just tells you "oh bitch, you know what? you forgot that fucking icon for tablets, how about you rebuild it all? and NO, you have to change the build number or I won't accept it"
- App quality was so pedantic on the first publish but then always fucks it up at the second upload, like "hey we checked it the first time, now we can just 100% trust it works and doesn't use anything scammy"
- code+compiled app for iOS is like 1GB while android vode+build is like 100MB WTF do you even put in those 900MB? random trash? WHY?
- I'm not even gonna get into the forums or the amount of money you have to pay for both product and services
- MacOS works ALMOST like Linux, but takes all the worst from both windows and linux to give you the worst performance with the best graphics, but it looks cool, so doesn't matter
A good world would be a world where Apple goes bankrupt after Steve Jobs died1 -
Time for a rant about shitstaind, suspend/hibernate, and if there's room for it at the end probably swappiness, and Windows' way of dealing with this.
So yesterday I wanted to suspend my laptop like usual, to get those goddamn fans to shut up when I'm sleeping. Shitstaind.. pinnacle of init systems.. nope, couldn't do it. Hibernation on the other hand, no problem mate! So I hibernated the laptop and resumed it just now. I'm baffled by this.
I'll oversimplify a bit here (but feel free to comment how there's more to it regardless) but basically with suspend you keep your memory active as well as some blinkenlights, and everything else goes down. Simple enough.. except ACPI and I will not get into that here, curse those foul lands of ACPI.
With hibernation you do exactly the same, but on top of that, you also resume the system after suspending it, and freeze it. While frozen, you send all the memory contents to the designated swap file/partition. Regarding the size of the swap file, it only needs to be big enough to fit the memory that's currently in use. So in a 16GB RAM system with 8GB swap, as long as your used memory is under 8GB, no problem! It will fit. After you've moved all the memory into swap, you can shut down the entire system.
Now here's the problem with how shitstaind handled this... It's blatantly obvious that hibernation is an extension of suspend (sometimes called S3, see e.g. https://wiki.ubuntu.com/Kernel/...) and that therefore the hibernation shouldn't have been possible either. The pinnacle of init systems.. can't even suspend a system, yet it can hibernate it. Shitstaind sure works in mysterious ways!
On Windows people would say it's a hardware issue though, so let's talk a bit about that clusterfuck too. And I'll even give you a life hack that saves 30GB of storage on your Windows system!
Now I use Windows 7 only, next to my Linux systems. Reason for it is it's the least fucked up version of Windows in my opinion, and while it's falling apart in terms of web browsing (not that you should on an EOL system), it's good enough for le games. With that out of the way... So when you install Windows, you'll find that out of the box it uses around 40GB of storage. Fairly substantial, and only ~12GB of it is actually system data. The other 30-ish GB are used by a hibernation file (size of your RAM, in C:\hiberfil.sys) and the page file (C:\pagefile.sys, and a little less than your total RAM.. don't ask me why). Disable both of those and on a 16GB RAM system, you'll save around 30GB storage. You can thank me later.
What I find strange though is that aside from this obscene amount of consumed storage, is that the pagefile and hibernation file are handled differently. In Linux both of those are handled by the swap, and it's easy to see why. Both are enabled by the concept of virtual memory. When hibernating, the "real" memory locations are simply being changed to those within swap. And what is the pagefile? Yep.. virtual memory. It's one thing to take an obscene amount of storage, but only Windows would go the extra mile and do it twice. Must be a hardware issue as well.
Oh, and swappiness. This is a concept that many Linux users seem to misunderstand. Intuitively you'd think that the swappiness determines what percentage of memory it takes for the kernel to start swapping, but this is not true. Instead, it's a ratio of sorts that the kernel uses when determining how important the memory and swap are. Each bit of memory has a chance to be put into either depending on the likelihood of it being used soon after, and with the swappiness you're tuning this likelihood to be either in favor of memory or swap. This is why a swappiness of 60 is default most of the time, because both are roughly equally important, and swap being on disk is already taken into account. When your system is swapping only and exactly the memory that's unlikely to be used again, you know you've succeeded. And even on large memory systems, having some swap is usually not a bad idea. Although I'd definitely recommend putting it on SSD in a partition, so that there's no filesystem overhead and so that it's still sufficiently fast, even when several GB of memory are being dumped in.6 -
my company is "pivoting" way too goddamn fast; they are pulling devs from other projects and throwing them into something that is a fragile system (was supposed to be replaced already) and is using a completely different stack than most of them usually work with. they keep promising 3rd parties that we will knock out their requirements within a week or two, and as such they are pushing haphazardly merged feature branches into production with absolutely no regression testing.
then when shit explodes and operations grinds to a halt, they tell the half of the team that actually knows how the system works to drop everything and fix it, and leave the diverted devs to continue to develop shit based on requirements drawn on a cocktail napkin, and then they fucking push both the hotfixes and the newest features at the same time.
I probably have the most tribal knowledge at this company, and they are paying me ok, so it's enough for me to just pour some rye and suck it up for the time being and milk the gig. but this can't be sustainable, right? i'm passively looking around for other work, as I've already had enough being here for over 3 years, but i'm finding most places to be slow on the application/hiring process lately due to covid.
Edit: i think i used the wrong tag here, but what the fuck ever. i haven't figured out how to tag shit properly on any platform3 -
*deploys another few Telegram userbots for my other Telegram accounts*
*finds a warning in a module it depends on, dev is a friend of mine so report it I guess, low priority as it doesn't affect anything*
*both of us agree that it still works and might very well be a clusterfuck in the bot*
*proceeds with deploying the bot*
Bot> Your API ID cannot be empty, refer to READ THE FUCKING DOCS.io for more information.
Well fuck you too bot!1 -
//First rant
So I've been working trying to get a file exporter for a binary file format mostly reverse engineered - 2001 Super Monkey Ball 2 (GameCube) if anyone's interested.
Everything works fine, goals show up in the right places, wormholes work as intended, etc. That is everything, except every single level you create will be invisible, or crash (Depending on which version of Dolphin emu you use).
This happens whenever trying to specify object names for 3D objects. I checked, all the many offsets seem correct, Object names are correct. Tried both null terminated strings and fixed 80 character strings - nothing.
Some other guy also made an exporter that works, however the code is an absolute mess - basically unreadable. It also lacks some newer parts of the file spec, which is the main reason as to why I'm rewriting it.
And as I'm working with an almost entirely unheard of file format, there are few people to go to for help. The 2 I know who are also familiar with the LZ file format have no idea either...
Sigh.1 -
Reanimated an old e-ink tablet today.
First, I didn't even know it needed to be reanimated. I just copied my books there, but it didn't find them. When I connected it again, they were gone.
Factory reset. Format storage. The memory seems empty, but after rebooting I see that everything is still intact.
Ok, imma hit forums then. They tell me I need to replace the internal memory. But isn't that something you need soldering for? Wrong! The internal memory IS JUST A MICRO SD CARD on the motherboard. The card is some cheap no name one, and people tell the similar story of it burning out after like four years of use.
Damn! The vendor has the AUDACITY to charge for signing their firmware to be flashed to a new micro sd card.
But I won't go down this easily. I hit forums again, and apparently there is a tool to sign the firmware yourself, but you need to find the card's serial number. To do that, you have to flash a bootleg tool, boot from that card, and it will show you the data you need. Then, you have to insert them into some shady .ini file (why is everything touching bootleg firmware runs only on windows?).
So I do that. The problem is, I need an image for my book. I find some shady one online, sign & flash it — touchscreen doesn't work. But I have the official firmware. I put two and two together and figure out that if the reader is able to display the ui, it probably has the firmware update tool working. So, immediately after flashing, I launch the firmware update utility that picks up my firmware from the second sd card (yes, they have an additional external slot).
Bingo. It works.
So, here are the steps:
1. Find a shady sd serial number detection tool
2. Flash it on a memory card with a shady vendor-specific flashing tool
3. Insert the new (now shady) card
4. Boot, write down the serial number
5. Find a shady boot image online
6. Edit a shady .ini file of a shady self-signing tool to sign the shady boot image
7. Flash the altered shady boot image with the shady flashing tool on your memory card
8. Copy a shady firmware update on a new card
9. Insert both cards
10. Pray4 -
I just finished designing an entire asset management pipeline and christ on a fucking pogo stick, if it isn't convoluted.
Theres a lot of game engines out there, but all of them do it a little different. They all tackle a slightly different problem, without even realizing it.
1. asset management
2. asset change management
3. behavior change management
4. data management
5. combinatorial design management.
6. Combinatorial Behavior management
7. Feature completion
ASSET MANAGEMENT is exactly what it says on the tin.
ASSET CHANGE management can be thought of handling the import, export, formatting, platform specific packing, and versioning (including forking) of an asset.
BEHAVIORAL CHANGE management is a subset of asset management, because code is a subset of assets (depending on how you define 'assets'). The oldest known example of this is commenting and uncommenting code.
Or worse, printf debugging.
This can be file versioning, basic undo services, graph management of forks and mergers, toggles for features or modules, etc.
DATA management is about anything that doesn't fall into the other categories, everything from mission text to npc dialogues, quests, location names, item stats, the works. Anything you'd be tempted to put in a database, falls under this category. Haven't yet seen many engines offer this as an explicit built in tool as of yet, because the other problems are non-trivial as is, so this is a bit of low hanging fruit that gets handled by external tools, or loaded from formats as simple as json.
COMBINATORIAL DESIGN management is the idea of prefabbing, blueprints of broader object design using nested prototypes of existing game objects, to create more complex, reusable set pieces. Unity did this well. GM does this in part.
COMBINATORIAL BEHAVIOR management is entity-component systems, plus tooling to make it easy to add, remove, and configure components and their values on entity blueprints, also not uncommon. Both stencyl and unity do this. GM has a precursor to this in the form of configurable fields, but these fields are not based on component scripts attached to objects.
FEATURE COMPLETION is that set of gameplay mechanics or styles of design that an engine naturally makes easier to include or build in a game.
I don't think I'm aiming for all that, but I think at minimum a good engine has to do asset management, behavioral change management, prefabs, and entity-component systems with management tools for that. And ideally, asset change management.8 -
I might be new to webdev , but wtf is wrong with imports in js ?
html seems to get the only decent way of dealing with js: all the files mentioned in subsequent <script> tags can access the functions of previous file
but when it comes to those generated html content(aka react projects) and servers, nobody seems to come to an agreement : react guys uses import while server people uses require. and both of these can't be used in the same file : import works in mjs files (or usual files too if type is defined as module) while require works in cjs file (or usual js files if type is NOT defined as module)
so i kind of like imports for its elegance and resembelence to java imports. and i might have got into some errors in unrelated areas , so my package.json has type=module . i want to use some cjs package (jsonwebtoken) and that shit for the love of god won't work with import, so i gotta use it with cjs file and then the whole project can't use that crappy cjs file.
WTAF ? has web world not got matured enough to not have this shitty import export situation?should i write caveman code and convert everything to require(..) ?
fuck me6 -
I really hate PHP frameworks.
I also often write my own frameworks but propriety. I have two decades experience doing without frameworks, writing frameworks and using frameworks.
Virtually every PHP framework I've ever used has causes more headaches than if I had simply written the code.
Let me give you an example. I want a tinyint in my database.
> Unknown column type "tinyint" requested.
Oh, doctrine doesn't support it and wont fix. Doctrine is a library that takes a perfectly good feature rich powerful enough database system and nerfs it to the capabilities of mysql 1.0.0 for portability and because the devs don't actually have the time to create a full ORM library. Sadly it's also the defacto for certain filthy disgusting frameworks whose name I shan't speak.
So I add my own type class. Annoying but what can you do.
I have to try to use it and to do so I have to register it in two places like this (pseudo)...
Types::add(Tinyint::class);
Doctrine::add(Tinyint::class);
Seems simply enough so I run it and see...
> Type tinyint already exists.
So I assume it's doing some magic loading it based on the directory and commend out the Type::add line to see.
> Type to be overwritten tinyint does not exist.
Are you fucking kidding me?
At this point I figure out it must be running twice. It's booting twice. Do I get a stack trace by default from a CLI command? Of course not because who would ever need that?
I take a quick look at parent::boot(). HttpKernel is the standard for Cli Commands?
I notice it has state, uses a protected booted property but I'm curious why it tries to boot so many times. I assume it's user error.
After some fiddling around I get a stack trace but only one boot. How is it possible?
It's not user error, the program flow of the framework is just sub par and it just calls boot all over the place.
I use the state variable and I have to do it in a weird way...
> $booted = $this->booted;parent::boot();if (!$booted) {doStuffOnceThatDependsOnParentBootage();}
A bit awkward but not life and death. I could probably just return but believe or not the parent is doing some crap if already booted. A common ugly practice but one that works is to usually call doSomething and have something only work around the state.
The thing is, doctrine does use TINYINT for bool and it gets all super confused now running commands like updates. It keeps trying to push changes when nothing changed. I'm building my own schema differential system for another project and it doesn't have these problems out of the box. It's not clever enough to handle ambiguous reverse mappings when single types are defined and it should be possible to match the right one or heck both are fine in this case. I'd expect ambiguity to be a problem with reverse engineer, not compare schema to an exact schema.
This is numpty country. Changing TINYINT UNSIGNED to TINYINT UNSIGNED. IT can't even compare two before and after strings.
There's a few other boots I could use but who cares. The internet seems to want to use that boot function. There's also init stages missing. Believe it or not there's a shutdown and reboot for the kernel. It might not be obvious but the Type::add line wants to go not in the boot method but in the top level scope along with the class definition. The top level scope is run only once.
I think people using OOP frameworks forget that there's a scope outside of the object in PHP. It's not ideal but does the trick given the functionality is confined to static only. The register command appears to have it's own check and noop or simply overwrite if the command is issued twice making things more confusing as it was working with register type before to merely alias a type to an existing type so that it could detect it from SQL when reverse engineering.
I start to wonder if I should just use columnDefinition.
It's this. Constantly on a daily basis using these pretentious stuck up frameworks and libraries.
It's not just the palava which in this case is relatively mild compared to some of the headaches that arise. It's that if you use a framework you expect basic things out of the box like oh I don't know support for the byte/char/tinyint/int8 type and a differential command that's able to compare two strings to see if they're different.
Some people might say you're using it wrong. There is such a thing as a learning curve and this one goes down, learning all the things it can't do. It's cripplesauce.12 -
Here, a full retrospective of my Apple products ownership.
iPhone SE – after Android, I was absolutely amazed by how fast it worked. No UI lags, camera works absolutely instantly no matter the light conditions, all the GPU-heavy games work butter smooth.
After camera and charging port failures on Xperia flagship and CPU literally melting through screen rendering it unusable on Meizu, it was enough to make me interested in Apple products.
When I was using Meizu, I actually got a twitching eye which was triggered by UI lags. After two months of using iPhone, I noticed that something was missing – my eye wasn't twitching anymore.
iPhone actually cured me.
MacBook 12 – a 900 grams laptop with passive-cooled mobile CPU running many Chrome tabs, heavy Webpack HMR build, VSCode and Slack just fine. Yes, you can't play games, but I don't even require it from a laptop this tiny.
Butterfly keyboard that internet hates so much actually increased my typing speed and comfort compared to MX Red mechanical keyboard, and ForceTouch trackpad made me forget about mouse. I learned how to disassemble the Butterfly keyboard if I ever need this but the keyboard never failed.
I use this laptop to this day and it still even smells like the day one, a beautiful smell of a new Apple product.
iPhone X – got it because of the camera, stayed for great battery life and amazing OLED display. I use telephoto lens exclusively and it made me lay off my Canon DSLR with Helios lens which stays on my bookshelf covered in dust to this day.
True black of OLED display which is undistinguishable from the screen bezel is stunning. To this day, battery surely works for one and a half days and I watch youtube really often.
I sometimes struggled to unlock iPhone SE with wet fingers, but with FaceID, as soon as I look at the screen the phone is unlocked. Works perfect every time, never had an issue with this.
Stainless steel body feels premium compared to aluminum. Stereo sound is a major selling point if you're like watching videos and playing games on your phone. Overall amazing product and a huge improvement over SE.
Apple Watch series 4 – really comfortable fit. Nice battery life, once I forgot about it for like ten days during lockdown and it was still working, even though on power reserve mode. Really reliable in terms of battery life and liquid protection. Very satisfying Taptic Engine crown clicks. I run every day and Apple watch always measure my heart rate correctly, and the running app is well designed and a pleasure to use. Overall a nice accessory to have if you use iPhone.
Powerbeats Pro – great sound and battery life. I switched from Shure SE215 which was great, but it had wires. I listen to a lot of music so the sound quality is important for me. When I was choosing earphones I visited a store where you can listen to them all. I listened through earphones like Noble Audio Kaiser Encore and JH Audio Layla, and of course $4000 Laylas sound better than $249 bluetooth earphones, but the difference in sound doesn't justify the difference in price to me.
Powerbeats pro is the Apple H1 chip true wireless earphones with largest driver of them all which makes them sound better than AirPods Pro – it's just physics. Bass in Powerbeats is amazing, which is also true for my Shures, but Powerbeats also win in clarity.
It connects seamlessly to both my MacBook and my iPhone, and everyone in voice chats can hear me really good.
Huge case is a major throwback compared to AirPods, but the battery life of earphones themselves is so great that I just leave the case at home and only carry earphones and it works for me.
Apple Link bracelet in space black – really better than I expected. Intricate detailing, literally the steel that Rolex uses, top-notch finishing and polishing – all that for just 450 dollars. I only used it for several days now, but it already feels like a really satisfying product.
Before all that I was using Linux. It took a year for elementaryos devs to fix wifi for my laptop. Ubuntu looks and feels ugly. Pop OS felt like garbage. Manjaro was also just that – garbage. KDE Plasma – I don't even want to talk about that. A monstrocity where you accidentally click a wrong switch in the settings and your system won't boot up again. Also, PulseAudio. Struggles with proprietary drivers and software updates.
Windows? I serviced a lot of Windows PCs through my career and it never, never worked as intended. I'm no dumbass, I always managed the rights correctly and never installed sketchy apps. My latest ryzen gaming build with a lot of ram also lags somehow even in Windows 10 UI.
Before I switched, I defended Linux.
My life was a lie.
I'm sorry to everyone who I offended based on their opinion on Linux.33 -
so here’s the tea.
i’m a Chinese dev working in a Japanese company. they’ve got this decently sized project a full web app and backend stack and yeah, I’m handling both ends. full-stack life. not a problem. I’ve seen worse.
but the maturity level in this place? the passive-aggressiveness? is different level. have you ever worked somewhere where your coworkers act all sweet on the surface, but lowkey make it feel like everything is your fault in the most obvious way possible?
so here comes the fun part.
the Stripe exchange rate endpoint we were using? deprecated. not globally — just regionally in Japan.
i did my homework. contacted Stripe support. got the chats, screenshots, docs, confirmations, evidence, not .........vibes.
solution? easy. i integrated a third-party API that returns the same exchange rate data. built a cron job to pull and cache the values daily. stored it locally. frontend grabs the user’s currency via IP, backend returns the rate, no stress, no wasted API calls. boom. problem solved.
my manager? totally got it. said it was efficient.
but the founder? man acted like a toddler.
he flipped. said it was my fault.
told me i just "no communicate well...uh...very confuse..." like bro… what even? do I look like I own stripe or do I look like I secretly working for them? plus, i explain in full, still not understand.
he got heated in meeting, so I clapped back in the meeting: you want to argue all day and get nothing done? or you want to understand what’s going on, and let me go back to building stuff that actually works? pick one.
he didn’t like that.
pretty sure he’s shopping for my replacement now. well, doesn’t take a genius to see it.
but I’m not here to babysit egos. I’ll do my job clean, document everything, and keep it professional. meanwhile yeah, I’ve already started looking for something else.11 -
Here is a little story about why I do not like to have to purchase developer tools and libraries..
Long story short it has taken at least 10 people more than 3 months to purchase two licenses of this component library which we still do not yet have licenses for.
It all starts with this guy who works here and has the job title 'solution architect'. He saw an ad on a website about some html component library. Then he asks me and the other developer here to look at it. He is super excited saying things like if we save only x days of time the cost is nothing in comparison to developer time..
The other developer and I both spend a few days reading the docs and trying some sample code. It offers some things we can use but I suggest not bothering with it.
Despite my suggestion he goes to the technical manager and they write up a business case. After about a month our receptionist cc me on an email chain from the it commercial manager who is asking for the licensing information so they can add the component creator as a vendor in the purchasing system. I send them a link to the component website which lists all that.
Jump forward two more months to last week and I got a spam email from the component company saying they have some new version out. I am wondering what has happened so I ask our receptionist she says it is with accounts payable and waiting payment - but it is marked urgent and she will find out.
Today I am cc in an email saying they have paid for it two weeks ago. So where is the license info? Nobody knows.1 -
With a recent HAProxy update on our reverse proxy VM I decided to enable http/2, disable TLS 1.0 and drop support for non forward-secrecy ciphers.
Tested our sites in Chrome and Firefox, all was well, went to bed.
Next morning a medium-critical havock went loose. Our ERP system couldn't create tickets in our ticket system anymore, the ticket systems Outlook AddIn refused to connect, the mobile app we use to access our anti-spam appliance wouldn't connect although our internal blackboard app still connected over the same load balancer without any issues.
So i declared a 10min maintenance window and disabled HTTP/2, thinking that this was the culprit.
Nope. No dice.
Okay, i thought, enable TLS 1.0 again.
Suddenly the ticket system related stuff starts to work again.
So since both the ERP system and the AddIn run on .NET i dug through the .NET documentation and found out that for some fucking reason even in the newest .NET framework version (4.7.2) you have to explicitly enable TLS 1.1 and 1.2 or else you just get a 'socket reset' error. Why the fuck?!
Okay, now that i had the ticket system out of the way i enabled HTTP/2 and verified that everything still works.
It did, nice.
The anti-spam appliance app still did not work however, so i enabled one non-pfs cipher in the OpenSSL config and tested the app.
Behold, it worked.
I'm currently creating a ticket with them asking politely why the fuck their app has pfs-ciphers disabled.
And I thought disabling DEPRECEATED tech wouldn't be an issue... Wrong... -
New day. New legacy project that needs triage.
The project has existed since before 2000 so it all "works" and has no known business logic bugs. It does however have performance issues which sure I can have a look. It can actually be quite fun and rewarding to optimize performance.
This is a titanic dotnet framework leviathan consisting of over 12,000 cs files using razorpages, entity framework, and... nhibernate? I have my gripes with both EF and NH but they are both fine if used correctly, like any other tool. I've never seen them used together however.
As It Turns Out™, NH was implemented first and at a time when NH did not support async operations. It made sense if you look it up and it's meant to delegate commands via a separate layer, but different story.
Then for... reasons... EF came in and gradually took over.
Because of the way this is all set up, everything will faceplant if you try doing anything async, even if it has nothing to do with calling the db. Any attempt in making this work leads you down a slippery slope of having to rewrite the entire thing, which is out of the question in terms of their budget and expectations.
Sometimes it's a detriment when it works in spite of its issues.1 -
Integrating Google recaptcha into my web service. For some reason it always errors, both on a production and development environment, correct domains configured, and with he simplest setup. I'm fucking lost, documentation assumes it actually works. Similar errors on stack overflow and Google groups either got no answers or have obvious issues.
Fuck this man3 -
Daily driving alpine linux on my laptop. Excellent distro:
- Probably the most secure linux in the world, with very low attack surface and a lot of money being spent to keep it secure — alpine is the most popular linux for docker containers, and everyone uses docker nowadays
- no systemd (but openrc, way lighter)
- no apt (but apk, the fastest deps manager for linux bar none)
- no glibc (but musl, way lighter)
- no sudo (but doas, lighter)
- wayland and gnome work out of the box
- flatpak for heavy ubuntu-centric apps like some browsers. Librewolf, Firefox and Chromium don't require flatpak, they're in the main index
- I couldn't figure out secure boot in ubuntu. I read all the manuals, to no avail. GPT-4.5 couldn't figure it out either. It was a deal-breaker for me — I need secure boot. In alpine, I spent one morning (today) and got up and running relatively easily. It just works
- everything is stupid fast
- usually, in minimal distros, you expect the desktop part to work, but dev & serious parts to be a PITA. In alpine, both work flawlessly bc it's a server-oriented distro
Alpine ftw!17 -
Dependency hell is the largest problem in Linux.
On Windows, I just download an executeable (.exe) file, and it just works like a charm! But Linux sometimes needs me to install dependencies.
At one point, I nearly broke my operating system while trying to solve dependencies. I noticed that some existing applications refused to start due to some GLIBC error gore. I thought to myself "that thing ain't gonna boot the next time", so I had to restore the /usr/lib/x86_64-linux-gnu/ folder from a backup.
And then there is a new level of lunacy called "conflicting dependencies". I never had such an error on Windows. But when I wanted to try out both vsftpd and proFTPd on Linux, I get this error, whereas on Windows, I simply download an .exe file and it WORKS! Even on Android OS, I simply install an APK file of Amaze File Manager or Primitive FTPd or both and it WORKS! Both in under a minute. But on Linux, I get this crap. Sure, Linux has many benefits, but if one can't simply install a program without encountering cryptic errors that take half a day to troubleshoot and could cause new whack-a-mole-style errors, Linux's poor market share is no surprise.
Someone asked "Why not create portable applications" on Unix/Linux StackExchange. Portable applications can not just be copied on flash drives and to other computers, but allow easily installing multiple versions on a system. A web developer might do so to test compatibility with older browsers. Here is an answer to that question:
> The major argument [for shared libraries] is security, that if there is a vulnerability in a commonly-used library, then only that library has to be updated […] you don't have to have 4 different versions of a library installed
I just want my software to work! Period. I don't mind having multiple versions of libraries, I simply want it to WORK! To hell with "good reasons" for why it doesn't, and then being surprised why Linux has a poor market share. Want to boost Linux market share? SOLVE THIS DAMN ISSUE!.
Understand that the average computer user wants stuff to work out of the box, like it does in Windows.52 -
So i started an (8 month) internship in January. Team of 4 (2 senior/mid level devs + boss) plus 6 or so other people in our other office overseas. Everything was going really well IMHO. Boss's feedback for halfway through the internship was good too.
First 4/5 months were great: loved the team, got feedback and help when i needed it, wasn't stuck doing support too much, etc.
This all changed when both the devs moved to our other office. My boss works from home a lot and has frequent meetings, so i hardly see him. I have a 1 hour window first thing in the morning if i need help from the devs overseas. After that im on my own.
If i get stuck, even on something very small that a more senior dev could explain in 2 minutes, I'm stuck either unable to work or figuring it out (wasting hours of time) for the rest of the day.
On top of this, since I'm the only one around in our office, im stuck on support every week which takes hours of my time usually. Last week support ate up most of my week, which put me way behind schedule on my other work. (That was an unusually busy week of support.)
Feeling incredibly frustrated right now, just wanted to get this off my chest.12 -
Finally made my node production server stable enough that I could focus on writing tests*. I start by setting up docker, mocking cognito, preparing the database and everything. Reading up on Node test suites and following a short tut to set up my first unit test. Didn't go smoothly, but it's local and there are no deadlines so who cares. 4 days later, first assert.equal(1+1, 2) passes and I'm happy.
I start writing all sorts of tests, installing everything required into "devDependancies," and getting the joy of having some tests pass on first try with all asserts set up, feels good!
I decide to make a small update to production, so I add a test, run and see it fail, implement the feature, re-run and, it passes!
I push the feature to develop, test it, and it works as intended. Merge that to master and subsequently to one of my ec2 production servers**, and lo and behold, production server is on a bootloop claiming it "Cannot find module `graphql`". But how? I didn't change any production dependencies, and my package lock json is committed so wth?
I google the issue, but can't find anything relevant. The only thing that I could guess was that some dependencies (including graphql) were referenced*** in both, prod and dev, and were omitted when installed on a prod NODE_ENV, but googling that specific issue yielded no results, and I would have thought npm would be clever enough to see that and would always install those dependencies (spoiler: it didn't for me).
With reduced production capacity (having one server down) I decided to npm uninstall all dev dependencies anyway and see what happens. Aaaaand it works.....
So now I have a working production server, but broken local tests, and I'm not sure why npm is behaving like this...
* Yes I see the irony.
** No staging because $$$, also this is a personal project.
*** I am not directly referencing the same thing twice, it's probably a subdependency somewhere.2 -
So I know i did a best and worst case already for 2017
But apparently it's not finished yet!
This will probably a short one:
Best thing to happen to me this year: I applied for a VR game and despite at this very moment i'm in thr trial period (to see if I can do work) i've succesfully landed a job.
I've spent months rewriting and rewriting my CV applying for standard software dev jobs, either being turned down for not enough experience for Junior roles, where they want someone out of university, where I have 1 year of both iOS and android experience, that is still not good enough for their shitty little app.
After all of that effort I turned to just borrowing my head and developing my game, to the point i have bits of the game practically done (bare bones crafting and building works 100% just has bugs in some specific cases). A friend of mine got a game dev job and he helped me out by showing me what his CV and cover letter looked like, i mimiced the style (in a sense) and added my own specific additions for VR. At the exact same time i got an invite from unity connect (which i had totally forgotten about) which i then scowered through jobs until I found something awesone "a job for a unity VR developer".
After contacting the guy about the job, we ended up having a voice chat over discord and he seems pleased with the fact I tome on my hands! Sadly the job is not some hourly paid job, however from what i've seen from youtube gameplay footage it looks very well done, and that leads me to getting revenue share.
Anyways i'm just so happy that with a couple days to spare in the year LOL i got a job! Sure i won't get paid yet but I got a flipping job, it is what i wanted for christmas!!
It is a gamble being revenue share and all but i'm willing to risk it! -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
This might just be me and my OCD talking, but am I the only one who gets super annoyed with sloppy CSS formatting?
So like, if somebody writes a sloppily formatted rule like this without spacing out each property and value:
#signUpButton {color:#FFF;background:#000;float:right;clear:both;padding:5px;position:absolute;top:5px;right:20px;height:100px;width:45px;}
As opposed to something like this, which just looks much cleaner:
#signUpButton { color: #FFF; background; #000; float: right; clear: both; padding: 5px; }
The formatting makes no difference in how the CSS is evaluated and rendered, but I find the spaceless style so ugly and difficult to read/edit, whereas the spaced out style is much more appealing to the eyes and easier to read
I find myself reformatting other people's CSS that works perfectly fine just so it will be easier to read/edit for anybody else that looks at it in the future8 -
well developer life is shit in a political environment
>> Task 1 is given to sr. dev
>> Task 2 is given to jr dev
>> Sr dev gives estimate for task as 2 days. no questions asked
>> Jr dev gives estimate for task as 5 days, whole team starts negotiating (the st dev being the loudest voice"
>> jr dev ends up with a timeline of 4 days.
(btw task is heavy enough for 5 proper days)
both start work
>> jr dev does the task in 3 days, tries to clear out edges, run test cases, clear doubts (thats also a shitty side rant) and submit a perfect task by day 4
>> sr dev starts fast on day1, takes leave on day 2, works on some urgent bug fix on day 3 and delivers task somehow on day 4
>> both gets new tasks on day 5 . this time sr dev still has prod fixes while jr dev is again doing a large task in bad estimates
>> bugs come on day 6. jr dev task bugs 2. sr dev task bugs 25
>> all bugs get aligned to jr dev because sr dev is working on high priority task
wtf? why am i supposed to fix other people's shit? btw this guy is module lead (next position for SSE) now and i am still the junior dev, and we 2 joined the org on the same day :/
he can't follow proper code architecture, writes shit code and he is getting the wins. I am cleaning everyone's mess and i am getting the stick
this is shit life3 -
When I hit the endpoint from Postman it works. When I hit the endpoint from my application that pushes data to the endpoint it doesn't work, returning a 404 status code. I KNOW the endpoint is there and operational and that both Postman and my application have the same endpoint configured, letter for letter.
So lost. So confused. What the hell is going on.
I decide to install Fiddler to monitor the traffic to see if I can see anything helpful.
I initiate the request again from the application and immediately see that the request size is huge. BAM. It immediately hits me, the payload to the endpoint is too big and the server is "rejecting" it with a 404. I post a smaller request with the application and it works fine.
Yay, saved by Fiddler.
Why does the endpoint default to 404 in such scenarios. The definition of 404: "the client was able to communicate with a given server, but the server could not find what was requested"
In my case, the 404 returned was a red herring. I understand that the substatus code gives more information on why the 404 was returned, in my case the request size being too big, but 404 in general feels like the wrong status code to return because the endpoint IS there. It made me troubleshoot the wrong thing.
Thanks, IIS.4 -
Run dual boot Mac Catalina and Win 10. Got a bunch of Razer shit from wife for Bday... super stoked. Big mat, mouse, keyboard.
Works like a charm on Win.
Works for fuck all on Mac. The app to manage device is no longer supported.
Went waaay down the rabbit hole trying to sniff the packets that were being sent to the devices via USB to sync their colors and patterns.
Finally give up that route.
I have now built a VM for windows to run synergy... then a VM for Linux for Polychomatic because the keyboard is older and not supported by synergy.
And I found if I boot them both then quit them both the settings for the peripherals stay until the next reboot.
But JFC... I literally have to boot three operating systems to pull it off.
Talk about some gift of the magi shit... I was so happy with the gift and at this point it has wasted dozens of hours.
Fuck fucking Razer. Looks cool. Doesn’t work.8 -
I guess I should relate what work experience I have: my internship.
A little backstory I suppose. It's required at my school to do an internship to graduate except under certain circumstances. They encourage work experience a lot where I study. It was around time for me to apply for internships. However, the closest I got was a phone call with Amazon that I biffed when they started asking about stuff like sorting algorithms and other Big O notation stuff. So I was pretty desperate. I found a small company that were looking for internships and got an interview with them. The pay was dirt (I made more as a crew trainer at McDonalds) but I needed that internship and they were only 10 minutes away.
Immediate red flags when I showed up to the address. At first I thought I was wrong, But I noticed the sign of the company pointing up some stairs that were installed on the side of the house I was in front of.
Interview was a bit weird. It was with the CEO and the marketing manager. Again red flags. I show up for work a week later.
Turns out, they have no full time developers. 1st day was getting my workstation ready and 2nd day I was running Ethernet cables to the basement where the phones were connected. Spent around a week doing that.
This was supposed to be a Software Engineering internship?? Excuse me?? I came here to learn how working on Software is supposed to be like! I was also their "tech support" both for their computers and their crappy software that was built 16 years ago that people still pay for that I had NO idea how it worked because I just started and NOBODY taught me anything! To make matters worse, even if I wanted to delve into the code to see how it works it was all made in ancient Perl which didn't make things any easier.
But I needed that internship to graduate. And thus begun my 9 months with them and boy howdy I have stories to tell. Stay tuned in the future.3 -
I’ve been in a sabbatical for the last few months and it’s been incredibly enlightening!
One of the things that I discovered is that I can still enjoy working with computers!! Just because something has been done doesn’t mean that I can do it again. It’s been done, but not by me yet. I’m not claiming is objectively better or anything like that, I’m just saying that is mine!
Together with that I’m also finding out that making things “my own way” is very motivating and satisfying! I don’t think this would work on a team, but it certainly makes programming a creative endeavor, which I think is why it sucks so much to work in the tech industry nowadays! Creativity is risky and dangerous and so, if Facebook became a million dollars company using ______ then let’s call that “industry standard” and do it everywhere, even if all it is is distilled excrements that only works because of the billions…
I guess the bottom line is that I’ve found out that I like programming because I’m a creative and places that force me to program while killing my creativity are both toxic and miserable… and I never wanna go back! -
!!rant life toptags bottags
My tags seem to be okay. Let's go.
I'm 14. I live in a place where nobody smart lives, and the school I go to has no coders.
Last year, all my friends moved. The only friend I had left now hates me, simply because they yelled at me everyday and I yelled at them once.
I am in the middle of my exams. I also have the flu, but thankfully it's not the e-flu, otherwise you guys should prepare for 24/7 headaches.
Due to the medications I am taking, I'm half-asleep all the time, and I probably am messing up all of my grades.
My entire extended family is in India, and I go there 2 times a year. I miss them so much right now :(.
At the same as doing exams, I am trying to keep my laptop (primary) and PC (secondary, desk) configuration and setup approximately synchronized. In order to do that, I am setting up my dotfiles repository.
Except that all my laptop config (which works) is written horribly, and I need to rewrite it all.
At the same time, I have 3 other projects going on: An OS written in D, a source-based package management system written in D, a small website (not online), and a whatever's cooking in my mind at this moment.
Right now, I'm supposed to be studying for my French exam.
Instead, I'm here, typing this out on my phone.
I have a classmate in school who can type QWERTY at 80WPM. I'm learning Dvorak (Programmer's!) and my current speed is 33WPM, after about 2 months of half-hearted practise during work time and at school.
Sometimes, I look at the world we have here, and what we're doing to it, and I wish that sometimes we could simply be content with life. Let's just live, for once.
I find ~60 random songs in one go, simply by finding a song I know on YouTube and going to the 'Mix - <song>' playlist. I download them all (youtube-dl), and I listen to them. Sometimes, I find this little part in a song (Mackelmore & Ryan Lewis - Can't Hold Us beginning instrumentals, or Safe and Sound chorus instrumentals) that make me feel so happy I feel like all's good in the world. Then the song moves on and with it, my happiness.
I look at Wayland, and X, and I think - Why can't we have one way of doing things - a fixed interface to express anything, so that one common API exists for everything of that type? And I realise it's because they feel that they're missing something from the others. Perhaps it's a bug nobody's solved or functionality that's missing, and they think that they can do better than that. And I think - Well, that's stupid. Submit a fucking bug report or pull request instead of reinventing the wheel. And then I realise that all the programming I've ever done in my life IS simply reinventing the wheel. And some might say, "Well, that guy designed it with spokes and wood. I designed it with rubber and steel," but that doesn't work, because no matter what how you make it, it's just a wheel. They both do the same thing. Both have advantages and disadvantages, because nothing's perfect. We're not perfect because we all have agendas and wants and likes and dislikes and hates and disgusts and all kinds of other crap, and our DNA's not perfect because it manages to corrupt copy operations (which is basically why we die of old age, I think).
And now I've lost my train of thought and this is too large to scroll over so I'm just going to move on to the next topic. At this point (.), I have 1633 letters left.
I hate the fact that the world's become so used to QWERTY because of stuff that happened 100 years ago that Dvorak is enough of a security to stop most people from being able to physically use my laptop.
I don't understand why huge companies like Google want to know about me. What would you do with this information? Know how to take over my stuff when the corporation-opocalypse comes around? Why can't they leave me alone? Why do I have to flash a ROM onto my phone so that Google cannot track me? What do you want, Google?
I don't give a shit any more, so there's my megarant.
Before anybody else (aside from myself) tells me that this is too big, all these topics are related simply because my train of thought went this way. There's a connection between each of these things, but I just don't know what it is.
Goodnight, world. 666 is the number of characters I have left. So is 42, for that matter (thanks, Douglas Adams!). Goodbye.rant life story current project ugh megarant why are you doing this to me life schrodinger's tags 🐈 life3 -
!rant
The new end to the idiotic code snippet head scratchers interviews (awkward for both parties but nobody is willing to admit it)?
Hometasks.
Infinite internet access, use whatever tools you want, do as much as you can in 2-3 hours.
The best non-toxic way to see how someone works as a dev.
This is the way I expect you to work, so this is the way I will interview you.
Sorry silicon valley, we don't need people who can write up a binary search algo from rote memory.3 -
Keyboard layouts/localization seem like something went horribly wrong and nobody decided to clean up the mess.
And now we have multiple layouts where the fucking alt key doesn't even work exactly the same between them, how is that even possible? And who thought it was a good idea to differentiate between left and right alt, shift and control keys, leading to subtle issues nobody asked for?
In Vim I made a keyboard shortcut with alt and on the British layout it only works with the left alt key, on the US layout on both. Wat. -
So my friend had an idea for a game and asked me if I could help him develop it. Now, he understands how the code works and can even write quite a bit himself. On several occasions (including today) this happened:
*writes code*
*tests code*
Me: Hmm... this isn't working like it's supposed to
Friend: It looks pretty good, maybe check to see if everything is in the right order
*checks code*
*tries alternative solution*
*checks again*
Me and friend: Well this is even worse than before
*presses ctrl+z a lot to go back to the original*
*opens new project*
*writes new code for same purpose*
*checks code*
Both of us: IT WORKS!!!
*checks again just to be sure*
Both of us: IT STILL WORKS!!!
*compares new code to original code*
Me: It's the exact same code with different variable names!!! Why did this not work before?
Friend: No idea
*puts new code into main program*
*it still doesn't work*
Reasons Java makes me cry sometimes4 -
So while exploring some new ideas, I decided to figure out if I could use variables in the known set to determine the bounds of variables in the unknown set.
The variables in question are algebraic identities derived from the semiprimes, so you already know where this is going.
The existing known set is 1194 identities.
And there are, if I recall, roughly two dozen unknowns.
Many knowns have the unknowns as their factors. The d4 product set for example is composed of variables d4a, d4u, d4z, d4z9, d4z4, d4alpha, d4theta, d4omega, etc.
The component variables themselves are unknown, just their products are known. Anyway.
What I've found interesting is if you know the minimum of some of these subsets, for example d4z is smallest out of the d4's for some semiprimes, then you know the upperbound of both the component variables d4 and z.
Unless of course either of them is < 1.
So the order of these variables, based on value, changes depending on the properties of the semiprime, which I won't get into. Most of the time the order change is minor, but for some variables they can vary a lot between semiprimes, rapidly shifting their rank in the known set. This makes it hard to do anything with them.
And what I found myself asking, over and over again, was if there was a way to lock them down? Think of it like a giant switch board, where flipping one switch lights up N number of others, apparently at random. But flipping some other switch completely alters how that first switch works and what lights it seemingly interacts with. And you have a board of them thats 1194^2 in total. So what do you do?
I'd had a similar notion a while back, where I would measure relative value in the known set, among a bunch of variables, assign a letter if the conditions were present, and generate a string, called a "haplotype."
It was hap hazard and I wrote a lot of code to do filtering, sorting, and set manipulation to find sets of elements in common, unique elements, etc. But the 'type' strings, a jumble of random letters, were only useful say, forty percent of the time. For example if a semiprime had a particular type starting with a certain series of letters, 40% of the time a certain known variable was guaranteed to be above a certain variable from the unknown set...40%~ of the time.
It was a lost cause it seemed.
But I returned to the idea recently and revamped the entire notion.
Instead what I would approach it from a more complete angle.
I'd take two known variables J and K, one would be called the indicator, and the other would be the 'target'.
Two other variables would be the 'component' variables (an element taken from the unknown set), and the constraint variable (could be from either the known or unknown set).
The idea was that relationships between the KNOWN variables (an indicator and a target variable) could be used to indicate the rank relationship between the unknown component variable and the constraint variable.
You'd think this wouldn't work either, but my intuition was there were so many seemingly 'random' rank changes of variables in the known set for any two semiprimes, that 1. no two semiprimes ever shared the same order for every variable, and 2. the order of the known variables had to be leaking information about the relationships of the unknown variables.
It turns out my intuition was correct.
Imagine you are picking a lock, and by knowing the order and position of the first two pins, you are able to deduce the relative position of two pins further back that you can't reach because of the locks security features. It doesn't let you unlock the lock directly, but by knowing this, if you can get past the lock's security features, you have a chance of using information about the third pin to get a better, if incomplete, understanding about the boundary position of the last pin.
I would initiate a big scoring list, one for each known element or identity. And then I would check it in tandem like so:
if component > constraint and indicator > target:
indicator[j]+= 1
This is a simplication, but the idea was to score ALL such combination of relationship, whether the indicator was greater than the target at the same time a component was greater than a constraint, or the opposite.
This worked out to four if checks and four separate score lists.
And by subtracting one scorelist from another, I could check for variables that were a bad fit: they'd have equal probability of scoring for example, where they were greater than the target one time, and then lesser than it for another semiprime.
So for any given relationship, greater or lesser between any unknown variable and constraint variable, I could find any indicator variable and target variable whose relationship strongly correlated to the unknown's.14 -
I'm really trying my best to improve but the work I'm doing (both the code and the business theme) is so god damn boring that I feel like I'm torturing myself just trying to keep up. How am I supposed to learn and build myself when everything is so dull and gray? I can't even talk semi-passionately about the work I do, its all just picking up user stories with lengthy business specs on them updating old code or writing up some new code to fit some business / API standard I know nothing about. Occasionally I'll review other code from a developer doing the same thing and sift through trying to find some way to improve a project I don't care about. Hold down the nausea that comes from fighting off the mental fatigue as I struggle to find the words to explain how a component I made works in terms I don't understand too people that know and care much more than I do...
I'm exhausted, I'm burnt out. This isn't me, and every day I wake up and tell myself that my salary makes me happy because it gives me the ability to do the things I enjoy and live on my own and provide for loved ones, and then struggle to swallow the lump in my throat as I drive in the cold to a giant corporate office with a thousand other Me's doing the same shit but better and improving.
I honestly love what my company offers me as compensation, I'll likely not find any better. But once I have some experience under my belt and some debt paid off I have GOT to find a jobs somewhere that doesn't drain the will to live out of me2 -
I'm shitting there hammering out some code butchering some real problems when I suddenly realise I'm surrounded. I look around and yes it's the bloody committee.
The committee is what I call the rest of the department and it is dominated by the old guard which comprises of the programmers that have been around for longer.
None of the old guard can program particularly well but because they had been around the longest they'd all grown senior. The committee had free reign but anyone else doing anything differently has to get approval from the committee.
The only way to code otherwise was to copy and paste existing code then to primarily rename things. If anyone did anything that hadn't been seen before then it would have to be approved by the committee. Individual action was not permitted unless you were old guard.
I swept my headphones away expecting it to be something unimportant. It was.
First things first they announce. We're going to add extraneous commas to the last element of all possible lists separated by comma including parameters or so they say. Ask but why so I do.
Because the language now supports it. They added support for it so it must be the right way someone proclaimed. Does it? I didn't realise we were waiting for it. Why do we want it though?
Didn't you hear? It's all over the blogosphere. It massively improves merge requests. But how I ask?
Five minutes later I grow tired of the chin stroking, elbow harnessing, slanted gazes into the yonder and occasionally hearing maybe its because and ask if they mean when you for example add an element the last element registers as changed from adding a comma. Turns out that's all it is.
How often do we see that tiny distraction and isn't it pointless to make the code ugly just for a tiny transient reduction in diff noise I ask. Everyone's stumped. This went on and on and got worse and worse. But it makes moving things around easy half of them say in unison like the bunch of slobs that they are. I mean really. It doesn't make expanding and contracting statements from multiline to single line easy and it's such a stupid thing. Is that all they do all day? Move multi-line method parameters up and down all day? If their coding conventions weren't totally whack they wouldn't have so many multiline method prototypes with stupid amounts of parameters with stupidly long types and names. They all use the same smart IDE which can also surely handle fixing the last comma and why is that even a concern given all the other outrageously verbose and excessive conventions for readability?
But you know what, who cares, fine, whatever. Lets put commas all over the shop and then we can all go to the pub and woo the ladies with how cool and trendy we are up to date with all the latest trends and fashions then we go home with ten babes hanging off each arm and get so laid we have to take a sick day the following to go to the STD clinic. Make way for we are conformists.
But then someone had to do it. They had to bring up PSR. Yes, another braindead committee that produces stupid decisions. Should brackets be same line or next line, I know, lets do both they decided. Now we have to do PSR and aren't allowed to use sensible conventions.
But why, I ask after explaining it's actually quite useful as a set of documents we can plagiarise as a starting point but then modify but no, we have to do exactly what PSR says. We're all too stupid apparently you see. Apparently we're not on their level. We're mere mortals. The reason or so I'm told, is so that anyone can come in and is they know PSR coding styles be able to read and write the code. That's not how it works. If you can't adjust to a different style, a more consistent style, that's not massively bizarre or atypical but rather with only minor differences from standard styles, you're useless. That's not even an argument, it's a confession that you've got a lump of coal where your brain's supposed to be.
Through all of this I don't really care because I long ago just made my own code generators or transpilers that work two ways and switch things between my shit and their shit but share my wisdom anyway because I'm a greedy scumbag like that.
Where the shit really hit the fan is that I pointed out that PSR style guide doesn't answer all questions nor covers all cases so what do we do then. If it's not in PSR? Then we're fucked.4 -
Damn. I am so blessed to have friends that i have. 90% of them don't even care if you live or die (60% of them would be the first to throw me in fire if that's benefitting to them) remaining 10% would be someone that slightly care, but will move on pretty quickly.
But the best thing about 1 of them is that he is bluntly honest , and willing to share his opinion.
Today we were just talking about stuff when i see this placement offer in my mail.
I have been recently feeling bad about my grades, my choice of persuing android , my choice of leaving out many other techs (like web dev or data sciences , whose jobs are coming in so much number in our college) and data structures, and my fear of not getting a good career start.
This guy is also like me in some aspects. He is also not doing any extreme level competitive programming. He doesn't even know android , web dev, ai/ml or other buzz words. He is just good in college subjects. But the fascinating thing about him,is that he is so calm about all of this! I am losing my nuts everyday my month of graduation , aug2020 is coming . And he is so peaceful about this??
So i tried discussing this issue with him .Let me share a few of his points. Note that we both are lower middle class family children in an awful, no opportunity college.
He : "You know i feel myself to be better than most of our classmates. When i see around , i don't see even 10 of them taking studies seriously. Everyone is here because of the opportunity. I... Love computer science. I never keep myself free at home. I like to learn about how stuff works, these networking, the router, i really like to learn."
"That's why i dont fear. Whatever the worst happens , i have a believe that i will get some job. Maybe later, maybe later than all of you , but i will. Its not a problem."
me: "but you are not doing anything bro! I am not doing anything ! So what if our college mates suck , Everyone out there is pulling their hairs out learning data structures, Blockchain, ai ml , hell of shit. But we are not! Why aren't you scared bro? Remember the goldman sach test you gave ? You were never able to solve beyond one question. How did you feel man? And didn't you thought maybe if i gave a year to that , i will be good enough? Don't you too want a good package bro? Everyone's getting placed at good numbers."
Him : "Again, its your thoughts that i am not doing things. I am happy learning at my own pace. Its my belief that i should be learning about networking and how hardware works first , then only its okay to learn about programming and ai ml stuff. I am not going to feel scared and start learning multiple things that i don't even wanna learn now."
"My point is whatever i am doing now, if its related to computers , then someday its gonna help me.
And i am learning ds too , very less at a time. Ds algo are things for people with extreme knowledge. We could have cleared goldman sachs if we had started learning all this stuff from 1st year, spend 2-3 years in it and then maybe we could have solved 2 -3 questions. I regret that a little, but no one told us that we should be doing this."
"And if i tell you my honest thoughts now, you ar better off without it. You are the only guy among us with good knowledge of android , you have been doing that for last 2 years. Maybe you will get better opportunity with android then with ds/algo."
"You know when i felt happy? When we gave our first placement test at sopra. I was thinking of going there all dumb. But at 11 am in night i casually told my brother about this ,and he said that its a good company. So i started studying a little and next day i sat for placement. And i could not believe myself when they told me that am selected. I was shit scared that night, when my dad came and said " you don't even want that job. Be happy that you passed it on your own". And then i slept peacefully that night and gave the most awesome interview the next day."
"Thus now i am confident that wherever my level of skills are, it is enough to get into a job . Maybe not the goldman sachs ,but i will do well enough with a smaller job too."
"Bro you don't even know... All my school mates are getting packages of 8LPA, 15LPA, 35LPA. You see they are getting that because they already won a race. They are all in better colleges and companies which come there, they will take them no matter what (because those companies want to associate themselves with their college tags). But if worst comes to worst, i won't be worried even if i have to go take 4lpa as job offer in sopra"
Damn you Aman Gupta. Love you from all my heart. Thanks for calming me down and making me realise that its okay to be average3 -
My day couldn't start in a worse day.
We are having a demo this week and I worked yesterday after hours to get the product ready. Tested everything and we were all set for the demo content.
Today we installed the new version with my fixes and nothing worked. Today's version should be the golden version to prep the demo! Obviously everyone starts looking at me as to why nothing works both worried and eager to help. But I got so stressed I just wanted to dig a hole.
Luckily after going through the logs a colleague of mine pieced together something he heard about another colleague on another location we have submitted a fix (without telling our location) that f**ked up the whole system.
Luckily we reverted it since the system was better without it and got it stable again but after all of that I had to go rest because until we found the answer I was starting to think I couldn't get one thing right. I think it was the most stressful moment in 5+ years on this job4 -
Sooo a coworker and I tonight were working on some software and somehow got side tracked on discussion regarding our thinking process, and how one of our other coworkers always things so strangely always defensive etc.. which then lead us to saying it would be nice if we could like see and feel how another persons brain is and how they draw conclusions and think..
this conversion immediately changed to the inner-monologue discussion.
And holy shit went go distracted for 4 hours tonight!
I have inner monologue, visual, auditory, symbolic and non symbolic abstract thinking in my mind, and it’s all happening at the same time, like a million miles a minute.
The other coworker has no inner monologue at all.
4 hours questioning each other trying to understand how the other one things then debating what we believe how the one perticular Coworker thinks. And then placing bets on what we think all the other coworkers are.
I’ve never had such a deep discussion on how my brain works nor how someone else thinks.
Like I was like joking but serious not in a bad way I’m not crazy my brain switches thinking depending on the situation I don’t have to. Try or think about it just occurs..
Like remembering things I’ll daisy chain and hop pictures, words and thoughts to bring back things but no effort it just occurs.
When a song is playing I can remember the last time I heard that song or part of the song I can feel how it was, I can see what I was doing what was happening in the world etc.
In the shower or driving I will have debates in my mind and play scenarios out in my mind on how a conversation or situation will go. I visually see and hear and feel the conversation that did or did not occur at that time. And I can jump to “playing” each person.
Or when a large decision is to be made or brainstorming an idea to me I like having the British parliament in a room, and debating the topic.
When people are talking I visually see what they are saying.
I thought EVERYONE was like this.. apparently not lol.
But this conversation did bring up a lot of realization of why I can quickly jump to conclusions or quickly move thru a conversation or concept but my coworker is lagging behind. Or having a hard time visualizing what I’m saying, thus me drawing it very fast and him/them saying how did you come up with that that quickly... ugh because in my mind I’ve already drew it up I’m just drawing what I see. Almost having to slow down and go back in time to explain something to them.
THEN we called a few of my “Star” interns haha and asked them, apparently they are all think the same way I do or atleast somewhat, which explains why some people I work i able to express ideas and continue thru a topic very quickly. While others I must slow down.
We need more of these discussions until now I had no idea there was “a different way people mentally process things” the entire conversation was very enlightening for the both of us, now I know what I must do differently and so does the other one.
But then we thought what caused this? Is this a learned trait from experience as a child? Or evaluation? Or just the deck of cards we are delt? Is this left hand people or right hand? I’m left hand and the two interns are left hand and they think the same, but the other coworker in the discussion was a right hander.. then we thought was this a result of imaginary friends as a young child? Was this a result of reading as a young child? Is one version better at math than the other.. music etc... is this a result of hyperactive brain? Drugs? Could drugs induce it? What does alcohol do to it...
Yeah we questioned all these things and more seriously went down the rabbit hole tonight... lmfao, tomorrow we will be surveying the rest of the team to see if we can draw any spurious informer conclusions and how accurate our bets were based on what we know personality wise of the other coworkers
SOOOOO thoughts???? Hahah
How many of y’all knew the other type existed? What type are you? And are you introverted or extroverted? Any rational relations we can connect to better explain this shit?9 -
This is a part rant-part question.
So a little backstory first:
I work in a small company (5 including me) which is mostly into consultation (we have many tech partners where we either resell their products or if there is a requirement from one of our clients, we get our partners to develop it for them and fulfill the client requirements) so as you can see there is a lot of external dependencies. I act as a one-hat-fits-all tech guy, handling the company websites, social media channels, technical documentation, tech support, quicks POCs (so anything to do with anything technical, I handle them). I am a bit fed up now, since the CEO expects me to do some absurd shit (and sometimes micro manages me, like WTF I am the only one who works there with 100% commitment) and expects me to deliver them by yesterday.
So anyway long story short, our CEO finally had the brains to understand that we should start having our own product (which i had been subtly suggesting him to do for a while now!).
Now he came up with a fairly workable concept that would have good market reach (i atleast give him credits for that) and he wanted me to suggest the best way to move forward (from a both business and technical point of view). The concept is to have an auction-based platform for users to buy everyday products.
I suggested we build a web app as opposed to a mobile one (which is obvious, since i didnt want to develop a seperate website and a mobile app, and anyway just because we can doesnt mean we have to make a mobile app for everything), and recommended the Node/react based JS tech stack to build it.
At first he wanted me to single handedly build the whole platform within a month, I almost flipped (but me being me) then somehow calmed down and finally was able to explain him how complicated it was to single-handedly build a platform of such complexity (especially given my limited experience; did I mention that this is my first job and I am still in college, yeah!!) and convinced him to get an experienced back-end dev and another dev to help me with it.
Now comes the problem, I was to prepare a scope document outlining all the business and technical requirements of the project along with a tentative cost, which was fairly straightforward. I am currently stuck at deciding the server requirements and the system architecture for the proposed solution (I am thinking of either going with AWS - which looks a bit complicated to setup - or go with either Digital Ocean or Heroku):
I have assumed that at peak times we would have around 500-1000 users concurrently
And a daily userbase of 1000 users (atleast for the first few months of the platform running)
What would be the best way forward guys?
I did some extensive (i mean i read through some medium blogs! and aws documentation) research and put together the following specs (if we are going through AWS):
One AWS t3.medium ec2 instance for the node server (two if we want High Availability by coupling with the AWS load balancer and Elastic Beanstalk)
The db.t3.small postgres database
The S3 Storage bucket (100gb) for the React Front end hosting
AWS SNS for email/sms OTP and notification
And AWS CloudMonitor for logging amd monitoring.
Am I speculating the requirements properly, where have I missed??
Can u guys suggest what is the best specification for such a requirement (how do you guys decide what plan to go with)?
Any suggestions, corrections, advices are welcome3 -
Tl;dr Why would someone preconfigure a hardware raid on a server AND NOT TELL ME?
Recently we got a refurbished server that has some nice specs and works quite well. It had six 2.5 bays and came with two 248gb HDDs. But it only included 2 rails, so we needed more, and we got more.
I installed windows on it (yes, some of the software we use is windows only), and for some odd reason the forth HDD (this was the second one that was pre shipped) wouldn't show up in the disk management, which was odd especially considering the fact that the SAS did detect it, and would get pissed at me if I took it out. I was in a rush so I left it alone for then.
I had needed to setup a raid for these, and while I was trying to figure out what was wrong, I noticed that windows can do a software raid so I set it up on the third HDD (which is the first pre included HDD). I haven't actually used it yet.
At some point I stated to mess with the HDD that wasn't showing up (switching them around, etc.), when I noticed that windows saw the raid was setup on both of the HDDs, which made me wonder what was going on.
So I decided to check the SAS to see if there was something wrong there, as it was booting, bios let me know that there was a raid that was in the process of rebuilding, so then I thought "oh cool, windows actually does a hardware raid!" Well actually it doesn't, as I was looking I saw that this raid was only setup on the two HDDs that were acting funny, and therefore it was only coming up as one device in windows. I wasted an hour trying to find that! -
There were many issues that came about during my entire employment, but I woke up today with some, honestly, quite bizarre questions from my manager that made me open an account here. This is just the latest in many frustrations I have had.
For context, my manager is more of a "tech lead" who maintains a few projects, the number can probably be counted in one hand. So he does have the knowledge to make changes when needed.
A few weeks ago, I was asked to develop a utility tool to retrieve users from Active Directory and insert them into a MSSQL Database, pretty straight forward and there were no other requirements.
I developed it, tested it, pushed it to our repository, then deployed the latest build to the server that had Active Directory, told my manager that I had done so and left it at that.
A few weeks later,
Manager: "Can you update the tool to now support inserting to both MSSQL and MySQL?"
Me: "Sure." (Would've been nice to know that beforehand since I'm already working on something else but I understand that maybe it wasn't in the original scope)
I do that and redeploy it, even wrote documentation explaining what it did and how it worked. And as per his request, a technical documentation as well that explains more in depth how it works. The documents were uploaded as well.
A few days after I have done so,
Manager: "Can you send me the built program with the documentation directly?"
I said nothing and just did as he asked even though I know he could've just retrieved it himself considering I've uploaded and deployed them all.
This morning,
Manager: "When I click on this thing, I receive this error."
Me: "Where are you running the tool?"
Manager: "My own laptop."
Me: "Does your laptop have Active Directory?"
Manager: "Nope, but I am connected to the server with Active Directory."
Me: "Well the tool can only retrieve Active Directory information on a PC with it."
Manager: "Oh you mean it has to run on the PC with Active Directory?"
Me: "Yeah?"
Manager: "Alright. Also, what is the valid value for this configuration? You mentioned it is the Database connection string."
After that I just gave up and stopped responding. Not long after, he sent me a screenshot of the configuration file where he finally figured out what to put in.
A few minutes later,
Manager: "Got this error." And sends a screenshot that tells you what the error is.
Me: "The connection string you set is pointing to the wrong database schema."
Manager: "Oh whoops. Now it works. Anyway, what are these attribute values you retrieve from Active Directory? Also, what is the method you used to connect/query/retrieve the users? I need to document it down for the higher ups."
Me: "The values are the username, name and email? And as mentioned in the technical documentation, it's retrieving using this method."
The 2+ years I have been working with this company has been some of the most frustrating in my entire life. But thankfully, this is the final month I will be working with them.21 -
If you ask any sane person "hey, do you want to get some disease with fever, headache and potential risk of dying?", I doubt anyone will say "yes".
But if there exist a way to prevent it with a proven efficacy from both evidence-based medicine and science, why not get it today? I'm not even talking about covid. Why people are not getting their flu shots? How's that logic works? You mean you don't want disease, but you also don't want to take any measures to prevent it?
Every time in late autumn people get cold. For a sane person, one such case with themselves is enough to say "hey, I don't want this to happen again the next autumn". Yet people do nothing.
I can't understand this.
And this is only a flu. Hepatitis will destroy your liver and potentially will destroy your whole life, so why avoid vaccination?6 -
continuation of "testing is not needed" series
https://devrant.com/rants/4407958
a second former colleague (which works as backend dev) was seeking frontender, and remembered about the React frontender we both worked with.
I decided to warn him:
> *Giggles* According to his words, front is not like back. Git and testing aren't required there.
I received next replies:
> actually I don't need tests as well
> I did not write them all this time
> I have testers in a team for that, which do the testing for me
> I think I'll need it in cv though.
My comments:
I am trying to imagine their code... architecture, and I am a bit scarried to see how it looks like, are you?3 -
Heres some research into a new LLM architecture I recently built and have had actual success with.
The idea is simple, you do the standard thing of generating random vectors for your dictionary of tokens, we'll call these numbers your 'weights'. Then, for whatever sentence you want to use as input, you generate a context embedding by looking up those tokens, and putting them into a list.
Next, you do the same for the output you want to map to, lets call it the decoder embedding.
You then loop, and generate a 'noise embedding', for each vector or individual token in the context embedding, you then subtract that token's noise value from that token's embedding value or specific weight.
You find the weight index in the weight dictionary (one entry per word or token in your token dictionary) thats closest to this embedding. You use a version of cuckoo hashing where similar values are stored near each other, and the canonical weight values are actually the key of each key:value pair in your token dictionary. When doing this you align all random numbered keys in the dictionary (a uniform sample from 0 to 1), and look at hamming distance between the context embedding+noise embedding (called the encoder embedding) versus the canonical keys, with each digit from left to right being penalized by some factor f (because numbers further left are larger magnitudes), and then penalize or reward based on the numeric closeness of any given individual digit of the encoder embedding at the same index of any given weight i.
You then substitute the canonical weight in place of this encoder embedding, look up that weights index in my earliest version, and then use that index to lookup the word|token in the token dictionary and compare it to the word at the current index of the training output to match against.
Of course by switching to the hash version the lookup is significantly faster, but I digress.
That introduces a problem.
If each input token matches one output token how do we get variable length outputs, how do we do n-to-m mappings of input and output?
One of the things I explored was using pseudo-markovian processes, where theres one node, A, with two links to itself, B, and C.
B is a transition matrix, and A holds its own state. At any given timestep, A may use either the default transition matrix (training data encoder embeddings) with B, or it may generate new ones, using C and a context window of A's prior states.
C can be used to modify A, or it can be used to as a noise embedding to modify B.
A can take on the state of both A and C or A and B. In fact we do both, and measure which is closest to the correct output during training.
What this *doesn't* do is give us variable length encodings or decodings.
So I thought a while and said, if we're using noise embeddings, why can't we use multiple?
And if we're doing multiple, what if we used a middle layer, lets call it the 'key', and took its mean
over *many* training examples, and used it to map from the variance of an input (query) to the variance and mean of
a training or inference output (value).
But how does that tell us when to stop or continue generating tokens for the output?
Posted on pastebin if you want to read the whole thing (DR wouldn't post for some reason).
In any case I wasn't sure if I was dreaming or if I was off in left field, so I went and built the damn thing, the autoencoder part, wasn't even sure I could, but I did, and it just works. I'm still scratching my head.
https://pastebin.com/xAHRhmfH25 -
I did a little bit of finger practice in Unity, nothing fancy just two spheres and a capsule-guy under Newtonian gravity and a force-driven player control script that works on spheres.
I will never understand how C# libraries spontaneously decide that some operations will be nonvirtual methods while others will be static methods. It is the exact same thing! You're just ruining intellisense for no conceivable reason!
Also, transform has a right but no left, the float return value of Vector3.SignedAngle is not the same unit as Transform.Rotate(Vector3, float), Transform has LookAt(Vector3 position) but not Look(Vector3 direction), to do that you need to
transform.rotation = Quaternion.LookRotation(Vector3.ProjectOnPlane(transform.up, direction).normalized(), direction)
you can't discover whether a collision encountered sticky or dynamic friction, you need to infer that by calling RigidBody.GetPointVelocity on both RB-s at the collision point, which has its own quirks. Apparently this is to keep the API engine agnostic, but any serious project will have its own physics materials which already specify the sticky friction coefficient. A simulation that works correctly with physics materials but doesn't discover the kind of friction as an intermediate result is not possible.
RigidBody's velocity isn't displayed in the GUI, so you can't give it an initial value without a dedicated script. I have a script on this fucking moon that does nothing but add a force in Start.
Is it just me or does Unity feel cheap somehow? Like a hastily written library for a research project that was never rounded out with the obvious features. I understand that it's a free product that catalyzed the golden age of indie game development, but I think it's seriously struggling to keep up, not with the showy investor bait stuff, but with the standard of comfort modern tooling provides.7 -
Day 2 of my new job done. Still going over courses and doing jack shit. Today the hiring manager told me to play a game. I have to buy gifts to the girl thats in my office (lol what) and she also has to buy gifts to me in return (wtf and im still getting paid to do nothing), the company will pay for these gifts with a limited budget
Both of us had to fill out a form such as hobbies movies food drinks and if we believe in santa claus
Told this to my hot blonde gf that i have to buy gifts for another girl and she got so jealous. She literally asked me "but what do u need her for" lmao
As she should. Love seeing her jealous and mad -- but only because she disrespected me several times in the year 2023. several times caught her lying to me. Rude behavior from time to time. Always bitching and complaining with the most idiotic phrases and I'll quote "i hate how some kids younger than me are just born in a wealthy multi millionaire billionaire family and they're automatically rich and successful and dont have to do anything in life anymore while i have to struggle and work and never be successful like they are. Im so jealous of them" she keeps complaining about this majority of the time. I got really fucking annoyed. Shes stupid as fuck
And then compared to listening to that dumb shit, i met this girl, who works in the backend part, smart, beautiful, doesnt fucking bitch and complain about such obnoxious bullshit we cant control, works a 9-5 and gets her shit together. She even told me today "u dont have to buy me any of those gifts I'd be really grateful if you can just buy me some tissues for my nose cause i got a small flu haha" she even got the jokes! that was such a humble request.
Now compare that to the behavior of my spoiled blonde gf. Tf?
Im not even complaining by working a 9-5. Im actually very surprised. Everyone in the company is very nice to me and polite. Everyone is very friendly. Im getting paid even by not working shit, just sitting and watching courses to pass a devops cloud certification that the company will also pay for me
Whats going on6 -
I'm officially convinced that my computer is cursed by now:
I get a Oculus Touch Bundle. Connect it to the computer, both sensors through USB 2, HMD too. One of them on an extension cord, experimental 360 degree setup (and yes, I'm covering the lenses when not playing).
Works great for a couple weeks, then I start getting 8603 and 8609 errors (USB connection bad or too little bandwidth. Usually happens when you do something else on the same USB controller).
Trying all of the setups that comply with the setup manual, none works...
... Thinking "fuck it, can't get any worse now", I connect both sensors to the USB 3 ports on my board (A big thou shalt not according to the manual).
Works perfectly. No lag, no loss of tracking.
Well, I guess if something applies to 99.9% of all computers in the world, mine is among the 0.1%. I'm a living corner case, 🤣
Guess I'll move to the Netherlands and become a Ganja farmer.2 -
Rant time. Oh boi.
So, a bit of context: I am a university student in Greece and I have a desktop PC with elementary OS on it. When the unis closed down because of Coronavirus, I moved back to my parents', without my PC, only a usb stick with elementary OS installed on it. That was before the lockdown. My parents have a desktop PC and my old laptop, both with Windows rn. I'm only able to work using Linux, so I've been just popping that elementary OS USB stick whenever I needed to work.
All cool and good. Until the usb got full. It was a 16GB one after all. No biggie, I bought a new 64GB one from a well known Greek tech shop along with a webcam my mother needed. It was a LEXAR one.
They fucking took a week to transfer it. As if the closest shop to me was in fucking Germany. For context, the drawing tablet I bought from China the other day only did 2 weeks to come. During this time I could barely use Linux because my USB stick had only some 600MB free.
Ok, wtv I said to myself. I am a patient person after all. I received the USB stick, along with the webcam, in good condition, in their packaging. Alright. I dd'ed everything from the 16GB stick to the 64GB one and then I extend the partition. Everything works flawlessly. And it's faster too.
Next day, I boot up from it again. It boots up good. Nice, time to do some work. I open my editor. And it fucking freezes. The editor is not some VSCode or Atom or any of that heavy shit, it's just elementary OS Code. A very lightweight Gtk3 app. Strangely though, the rest of my OS (the dock autohide, eg.) Seems totally responsive. I try to open another app. No luck. Not even switching TTYs work. Good shit. I force shutdown my PC. I try to boot again from that piece of shit. And guess what! NO BOOT BITCH. Like, fuck you. I boot from my previous 16GB one. Linux won't recognize it. No /dev/sdc like I used to have. Ok, lsusb. Nope, nothing. I disconnect it and reconnect it, and lsusb. An empty entry appears.I run it a couple of times, and the it disappears again. I switch to TTY 2. I get read errors and usb error -71.
And I want to fucking explode
I call back to support for the warranty coverage. I wait for a good 10 minutes and a nice lady picks up. I tell her the issue. She says that the support team will call me for the issue this day it the next day.
I hang up.
It feels like some fucking prank. YOU MOTHERFUCKING TOOK SO LONG TO DELIVER MY SHIT. Not to mention that the shitty courier service they are working with wouldn't deliver the goods to my home because it's slightly out of town. AND NOW YOU ARE DELAYING MY WARRANTY RETURN? HOW THE FLYING FUCK DID YOU BECOME A WELL KNOWN TECH SHOP WITH SUCH SHITTY SERVICE?
IF YOUR BRAINS WERE DYNAMITE YOU WOULDN'T HAVE ENOUGH TO BLOW YOUR NOSES.
YOUR THE SERVICE EQUIVALENT OF A PARTICIPATION AWARD.
Foreigners' view of Greeks suddenly doesn't seem so unreasonable. Yes, we are fucking lazy asses. And we also hate that. We hate each other for that very reason. May this country not live any longer.6 -
So the last two weeks Ive been trying to flash lineageOS on my new OnePlus6. Ive done multiple phones with custom roms without issue, but the new A/B partitioning makes it a lot more impossible.
I followed LineageOS their official guide for the phone twice and also suggestions from both OP subreddit as LineageOS subreddit.
After every fail I end up with a black screen and a blue LED, both when booting the OS and when booting TWRP from fastboot. Then Im doing a factory reset through a windows only tool and start over.
Im getting pretty frustrated, to a level I am almost saying FUCK it I will use google, since my current phone only works while connected to a charger. Since I really hate google I hope any of you can give a suggestion of flashing my phone.6 -
Pulled my hair out over one today (and a week ago when I first saw the issue)
Setting up development environment. Created test user and test database and used mysqldump to copy data over.
MySQL was executing a function as the wrong user. Checked my config files, checked my config reader, checked my database connection, checked checked checked. Checked everything twice, I felt like Santa.
Changed the password in the config file to make sure it was logging in right. It threw an error still but not one I had expected so I figured the login still worked (My bias was that I thought the config file was not working or the mysql library was caching authentication. Both were wrong but this blinded my debugging. Foolish, I have forgotten my training)
Logged into the database directly via client. *didn't bother executing the function because I was only testing auth*
Think
Think
Think
Search entire project for database username. It's gotta be hard coded by accident SOMEWHERE.
It's not.
Why
Why
Why
Wait.
-- Flashback to how the test db was created -- What's actually in this damn script?
DEFINER `production_user` CREATE PROCEDURE `old_db`.`procedure_name`
Two issues: definer is old user (this is the error I was seeing) and its creating the procedure on the old db (this would be the next error I would have found if I kept going)
Fuck mysqldump. Install mysqldbcopy. Works
Put hair back in head. -
This is more of an advice seeking rant. I've recently been promoted to Team Leader of my team but mostly because of circumstances. The previous team leader left for a start-up and I've been somehow the acting Scrum Master of the team for the past months (although our company sucks at Scrum generally speaking) and also having the most time in the company. However I'm still the youngest I'm my team so managing the actual team feels a bit weird and also I do not consider myself experienced enough to be a Technical lead but we don't have a different position for that.
Below actions happen in the course of 2-3 months.
With all the things above considered I find myself in a dire situation, a couple of months ago there were several Blocker bugs opened from the Clients side / production env related to one feature, however after spending about a month or so on trying to investigate the issues we've come to the conclusion that it needs to be refactorised as it's way too bad and it can't be solved (as a side note this issue has also been raised by a former dev who left the company). Although it was not part of the initial upcoming version release it was "forcefully" introduced in the plan and we took out of the scope other things but was still flagged as a potential risk. But wait..there's more, this feature was part of a Java microservice (the whole microservice basically) and our team is mostly made of JS, just one guy who actually works as a Java dev (I've only done one Java course during uni but never felt attracted to it). I've not been involved in the initial planning of this EPIC, my former TL was an the Java guy. Now during this the company decides that me and my TL were needed for a side project, so both of us got "pulled out" of the team and move there but we've also had to "manage" the team at the same time. In the end it's decided that since my TL will leave and I will take leadership of the team, I get "released" from the side project to manage the team. I'm left with about 3 weeks to slam dunk the feature.. but, I'm not a great leader for my team nor do I have the knowledge to help me teammate into fixing this Java MS, I do go about the normal schedule about asking him in the daily what is he working on and if he needs any help, but I don't really get into much details as I'm neither too much in sync with the feature nor with the technical part of Java. And here we are now in the last week, I've had several calls with PSO from the clients trying to push me into giving them a deadline on when will it be fixed that it's very important for the client to get this working in the next release and so on, however I do not hold an answer to that. I've been trying to explain to them that this was flagged as a risk and I can't guarantee them anything but that didn't seem to make them any happier. On the other side I feel like this team member has been slacking it a lot, his work this week would barely sum up a couple of hours from my point of view as I've asked him to push the branch he's been working on and checked his code changes. I'm a bit anxious to confront him however as I feel I haven't been on top of his situation either, not saying I was uninvolved but I definetly could have been a better manager for him and go into more details about his daily work and so on.
All in all there has been mistakes on all levels(maybe not on PSO as they can't really be held accountable for R&D inability to deliver stuff, but they should be a little more understandable at the very least) and it got us into a shitty situation which stresses me out and makes me feel like I've started my new position with a wrong step.
I'm just wondering if anyone has been in similar situations and has any tips or words of wisdom to share. Or how do you guys feel about the whole situation, am I just over stressing it? Did I get a good analysis, was there anything I could have done better? I'm open for any kind of feedback.2 -
I bought the new dell xps15 57 days ago and now it’s ducked (pun intended).
Last week the screen stopped working. I powered off and back on. Then I get a cpu failure light sequence.
I call dell. To my surprise they have given me next day support for free. The guy comes the next day.
He says he will come between 4-6pm. at 615pm he phones me and says he will be late. I hang out at work to wait for him.
Finally at 730pm he comes and doesn’t have a screwdriver for the laptop. So he leaves to go buy one. 8pm he comes back. It takes him an hour to replace the motherboard by which time I just want to check it works and then go home. It seems good and we both leave the dark office at 930pm.
The next day I notice the sound isn’t working. He also hasn’t closed the laptop properly and there is a dent on the right hand side.
Despite dell giving me next day support it takes a week for them to come back with a solution.
I now have to send it off to them and I’ll be a week without the laptop...
It was incredible when it was working. But laptops aren’t great when they don’t work!
Perhaps I should have got a Mac...4 -
I finally managed to get my Wireguard setup to work in both ways! Beforehand I could ping from A to B, but not the other way around.
A network 10.1.0.0/16
B network 10.2.0.0/16
(both actually use multiple /24 subnets, but I reserve a /16 for each site for the sake of simplicity)
Lots of fiddling later this is my configuration:
A interface 10.1.199.1/32
A allowedIPs 10.2.0.0/16
B interface 10.2.199.1/32
B allowed IPs 10.1.0.0/16
ping from 10.1.1.1 to 10.2.1.1 => 172ms
ping from 10.2.1.1 to 10.1.1.1 => 172ms
it works, yay! now to add more sites...2 -
Can I just say, fuck app wrappers.
Why? Well let me tell you the story of cordova.
My plan was to make a leaderboard kind of thing for the tablesoccer we do at the place I'm interning at.
How it would work:
app -> create game -> API -> live feed
Buttons (flic) -> API
API -> RTU -> live feed
They use Symfony internally and externally, so that was my first go to.
I couldn't find any way to do Symfony that can do RTU without running another service.
As they really want an app but it's not their core domain I looked around for options for wrappers and decided to put RTU on the backburner.
Setting up cordova was slightly annoying but was okay. I got to building the base app.
Then I thought, maybe let's get RTU working with cordova. Looked at the options that were available. Decided to check out socketio since it had an tutorial for cordova. Tried it and it didn't work. Went over the whole internet but nobody seems to have a solution that works (the most recent post being 2017)
So I thought, let's get websockets to work instead, but again. Seems like O just can't get it to work.
So, guess what I'm going to do?
AJAX ever 1 second to the API.
Why the hell does RTU have to be so hard cordova. You are the only open source wrapper that's both multiplatform and easy to set up. Why can't you just work...
I might just call it quits on the app and just make a mobile friendly website instead.. Where socketio and websockets just work. As does SSE..
I'm tired, so sorry for the rambling I hope somebody can make sense of this mess. -
I had a pretty good year! I've gone from being a totally unknown passionate web dev to a respected full stack dev. This will be a bit lengthy rant...
Best:
- Got my first full time employment dev role at a company after being self-taught for 8+ years at the start of the year. Finally got someone to take the risk of hiring someone who's "untested" and only done small and odd jobs professionally. This kickstarted my career, super grateful for that!
- Started my own programming consulting company.
- Gained enough confidence to apply to other jobs, snatched a few consulting jobs, nailed the interviews even though I never practiced any leet code.
- Currently work as a 99% remote dev (only meet up in person during the initialization of some projects.) I never thought working remotely could actually work this well. I am able to stay productive and actually focus on the work instead of living up to the 9-5 standard. If I want to go for a walk to think I can do that, I can be as social and asocial as I want. I like to sleep in and work during the night with a cup of tea in the dark and it's not an issue! I really like the freedom and I feel like I've never been more productive.
- Ended up with very happy customers and now got a steady amount of jobs rolling in and contracts are being extended.
- I learned a lot, specialized in graph databases, no more db modelling hell. Loving it!
- Got a job where I can use my favorite tools and actually create something from scratch which includes a lot of different fields. I am really happy I can use all my skills and learn new things along the way, like data analysis, databricks, hadoop, data ingesting, centralised auth like promerium and centralised logging.
- I also learned how important softskills are, I've learned to understand my clients needs and how to both communicate both as a developer and an entrepeneur.
Worst:
- First job had a manager which just gave me the specifications solo project and didn't check in or meet me for 8 weeks with vague specifications. Turns out the manager was super biased on how to write code and wanted to micromanage every aspect while still being totally absent. They got mad that I had used AJAX for requests as that was a "waste of time".
- I learned the harsh reality of working as a contractor in the US from a foreign country. Worked on an "indefinite" contract, suddenly got a 2 day notification to sum up my work (not related to my performance) after being there for 7+ months.
- I really don't like the current industry standard when it comes to developing websites (I mostly work in node.js), I like working with static websites (with static website generators like what the Svelte.js driver) and use a REST API for dynamic content. When working on the backend there's a library for everything and I've wasted so many hours this year to fix bugs and create workarounds related to dependencies. You need to dive into a rabbit hole for every tool and do something which may work or break something later. I've had so many issues with CICD and deployment to the cloud. There's a library for everything but there's so many that it's impossible to learn about the edge cases of everything. Doesn't help that everything is abstracted away, which works 90% of the time but I use 15 times the time to debug things when a bug appears. I work against a black box which may or may not have an up to date documentation and it's so complex that it will require you to yell incantations from the F#$K
era and sacrifice a goat for it to work properly.
- Learned that a lot of companies call their complex services "microservices". Ah yes, the microservice with 20 endpoints which all do completely unrelated tasks? -
Status: Got off hour+ long call with provider teir2 tech support because their "sync service" isn't syncing. "It's all cloud controlled" they tell me. Whatever.
It does have the ability to install a Windows service to do the needful! 🎉
However the program that does the actual syncing is the "launcher" application, and the service's only job is to tell the launcher to run. 🤦♂️
Their assumption is that there will be a user that gets smacked in the face with a UAC prompt when they first log in and just shrug it away. Which is the Launcher application.
The sync service is not capable of running the sync application without a desktop session I guess?
MOTHERTRUCKERS do you understand what the point of a Windows Service is?!?
I tried relating this situation to how Windows Update works: It will update whenever the fuck it wants without the user doing anything because of the Service, and you only configure the service with the Control Panel/Settings App. You don't need the Control Panel/Settings App running in order for Windows Update to work, but it's there for status info and configuration.
Anyways, this software does not do that. It apparently *requires* both the service AND the launcher program running in order to work. Not work properly, to work *at all*.
Anyways, It's installed on a computer that's not normally logged into, but is always on (where other "always needs to be running" programs live). Normally the hackaround would be to launch the program via Scheduled Task.
This program apparently does not want to run as a scheduled task, or the Task Scheduler is being stupid and can't figure out "Hey, it's time to run this program. Do it!". Naturally it runs if told manually.
The fact that I'm even doing this at all is stupid, but even more infuriating is that it's just not working unattended. You know, what the service should be doing. But no, the service runs happily all alone, doing nothing of note, while Task Scheduler sucks its stick running OneDrive installer but not the launcher program.
Pluckin' donuts...1 -
For me Jetbrains idea based IDE/editor in part does just about everything right. Only need to really change the redo shortcut. They provide a warning now so you don't lose your undo history on ctrl+y.
On console both Emacs and vim work for me. These days I prefer vim. Nano will work when I'm a pinch but the lack of undo is really annoying. Especially when the cat walks over the keyboard. You just need start all over unless you can see what he did.
Vim has vertical block so you comment/uncommented stuff real fast. The cange word and change till are also real time savers. Vi is to basic and annoying for me, rather use nano than.
Gedit works great for me when viewing or editting a file real quick.
So yeah the situation dictates what tool suites the best.
Idea is where I can spend my time the entire day so if I had to choice one that would be it. -
I'm doing a project for uni in Omnet (C++ framework that should facilitate working with networks of queues, simulating and displaying statistics).
I needed to retrieve a random value from an exponential distribution, and the function to do so requires a random number generator as input. The framework has 2 implementations of the RNG and I picked the first one.
I spent 3 hours trying every possible thing, using both the exponential() function and its class wrapper (both provided by the framework), it was always returning 0 or NaN.
The RNG was spitting out values correctly, so I thought it was okay.
When I was almost ready to give up, I figured I could try and change to the second implementation of RNG, expecting nothing to change. And it fucking worked.
Zero reports on this behavior on Google, no apparent reason why it would work with one and not with the other when the two RNGs literally implement the same abstract class and spit out the same exact numbers... Just black magic...
Oh and cherry on top, it works with the raw function but not with the class wrapper on that same function... IF YOU GOTTA IMPLEMENT SOMETHING IN YOUR DAMN FRAMEWORK THAT DOESN'T WORK, FUCKING DON'T! 1 combination working out of 4 is not good! Or at least document it!
Sorry just had to share my pain -
HOW I CAUGHT MY CHEATING PARTNER WITH THE HELP OF SOLACE CYBER WORKSTATIONS
Solace Cyber Workstations is a tool designed to help individuals find important information about their partner's online activities without causing any disruption or breach of privacy. This software works by gathering data that is publicly available, allowing users to understand more about their partner's digital presence. It can include social media profiles, public posts, and other online interactions, making it a comprehensive solution for those seeking clarity in their relationships. Using Solace Cyber Workstations is simple and user-friendly. The interface guides users step-by-step through the process of retrieving information. There are no complicated setups or technical skills needed. Once the user inputs the relevant details, the tool quickly navigates the internet to compile the necessary data, ensuring a seamless and efficient process. This ease of use supports individuals in their quest for knowledge about their partner's online life. One of the key features of Solace Cyber Workstations is its commitment to non-intrusiveness. The tool respects privacy and ensures that all information collected is taken from public sources. This means that users can learn more about their partner without violating their privacy or crossing any ethical boundaries. Users can feel comfortable knowing they are not engaging in any harmful or invasive practices while seeking information. Moreover, Solace Cyber Workstations are particularly useful for individuals looking to enhance trust and communication in their relationships. By using this tool, users can clarify any doubts they may have about their partner's online presence. Understanding their partner’s online interactions can lead to more open discussions and strengthen the bond between both individuals, ultimately fostering a healthier environment for the relationship. In conclusion, Solace Cyber Workstations provides a reliable and respectful way to learn about a partner's online life. Its user-friendly interface and non-intrusive methods make it an ideal choice for those who want to ensure transparency while maintaining ethical standards. By utilizing this tool, users can promote understanding and trust in their relationships, which is essential for long-term success. Send a W h a t s A pp D M via: +1 2 4 0 7 4 3 7 6 8 9
Thanks.9 -
TL;DR: idiot 'team leader' does mindless merge to master. Precious time wasted in a high pressure deadline environment.
So, i work currently at one of Belgiums largest consulting company's at brussels airport, we are moving their analytics platform to the cloud.
We use puppet to manage the systems.
When i started i noticed immediately that their 'development workflow' is hardly to be named as such, because they simply change stuff directly on server , manual 'temporary' fixes everywhere, hardcoded stuff, non validated code... Basically the way one would develop in their garage, not in a consulting company as this one. But that is just the beginning.
A month ago i did a major effort to equalize all the discrepancies between the codebase and the server. Ensured entire codebase to be validated, syntax checked, parsed, tested... It works. A 'great codebase overhaul' commit was PR'ed to master and got merged.
Yesterday the team lead, i'll call him 'B-tard' from here on, has also 'equalized the discrepancies between codebase, server and the restnof the stale branches on the repo' . i was doing my other work on my branch so no fucks given. This is where i should have given some fucks.
Anyways, today. The day starts every day with merging the master branch into your working branh because you need the latest working codebase, right?
Wrong!
This fucking dipshit smug b-tard has done a mindless merge of the entire codebase, effectively removing ALL validated working code for provisioning servers. Control blocks, lookup functions, lambda's... Basically everything he did not understand.
At the same time the project is already way beyond the allotted budget in pkney and time, so there is a huge pressure to have a working 'production' environment TODAY!
THIS MOTHERFUCKING B-TARD JUST MADE THAT IMPOSSIBLE.
i'm loving this assignment, i'm loving the PM, the collegues, the environment, the location... everything. All but this fuckibg b-tard that somehow got his position by sucking dick or licking ass or both...
I wanna get out asap.
Oh... While typing this and arriving at the room of the office... It is locked, i have no key.
Fucking asshole!1 -
TLDR: I didn't & still not sure if it is..
I love bug hunting & fixing & figuring out how stuff works, but many will argue this is not even real programming..
Long version how I ended up programming:
Back in highschool, I was deciding between english and mathematics & computer science.. I filled in the form for the latter. Got a change of hearts but I already gave the extra/backup empty form to schoolmate..
Figured it's for the better because it's a hell to get a job as an english teacher/prof anyways + I dislike comunications with people + documentation (if any) is in english etc..
At the end of first year, I didn't even apply for all the exams because you had to have both programming 1&2 to pass or even be eligible to take the year again.. I figured I'd fail them, so once I actually passed both (& actually not with bad grades), I was fucked.. had to retake the year, which means I lost time + still had to pay the rent etc.. decided to drop out and return home and do the IT engineer course instead to at least have some formal education to help me find a job. Finished that without problems, I 'specialised' in network administration.
I got a job straight out of school as a web developer.. the irony.. got some conflicts with the boss and was terminated (material for another rant).
Later I sought out admin jobs, but got declined because I was overqualified and had programming experince. FML, right?
Ended up sending out mandatory job applications for IT administration & programming to not lose the bonuses & got called up to a meeting in the company I work for since then.
No qualifications for .net & MS technologies, but they liked my CV so the ended up setting up the interview anyway. I didn't know half of the technologies and concepts by proper name, but they figured I understand enough of the content to give me a try. A few years later, I got the most fucked up project they have because of my love for new thigs and trying to understand everything. It's aaaalmost bearable now.. still needs a lot of work, but I'm happy where I am. Saddly, I'm still second guessing if I'm doing a proper job as a dev, but they seem to be very ok with my work. (:6 -
Story time!
I spend few hours last Friday debugging piece of code I wrote. It was based on working code, also authored by me. It was stuff for sending some data to transmitter, all in Python, nothing horrible or tough.
I wasn't able to understand, why older piece of code works (e.g. data are transmitted) and newer don't even when function bodies were same (I was desperate, so I copied-pasted my own working function there). Both function were in same file, bot syntactically correct, newer one was definitely running but still no transmigration from there.
And then it came, enlightenment at Friday afternoon. I forgot to actually push my prepared packet to radio. Older one was encapsulated in transmitter function and newer one wasn't. I was so focused on possible error in packet creation I forgot to send it?! Seriously?! Unfortunately yes.
Moral of the story? When debugging something, try step back (or up in my case) for a while. -
Ok... Can someone explain me this?
Happen a few weeks ago.
My pc would crach on any 3D program or game.
Did some tests, was the graphic card.
Send it to repair (amd, Asus made)
Placed my old Nvidia, installed drivers all good.
My new card came, nothing repaired, nothing found, passed all stress tests.
Placed the card back ok, no OS.
Bios detects both ssds but don't start (windows 10.... Ya tryed Linux but doesn't work for my main past time in pc, Arma 3).
Loaded the USB with the windows instalation, used command line drive C is completely empty but has 160gb used.
Ended ip formating.
GC works perfectly.
So... Wtf happen?8 -
I need some advice to avoid stressing myself out. I'm in a situation where I feel stuck between a rock and a hard place at work, and it feels like there's no one to turn to. This is a long one, because context is needed.
I've been working on a fairly big CMS based website for a few years that's turned into multiple solutions that I'm more or less responsible for. During that time I've been optimizing the code base with proper design patterns, setting up continuous delivery, updating packaging etc. because I care that the next developer can quickly grasp what's going on, should they take over the project in the future. During that time I've been accused of over-engineering, which to an extent is true. It's something I've gotten a lot better at over the years, but I'm only human and error prone, so sometimes that's just how it is.
Anyways, after a few years of working on the project I get a new colleague that's going to help me on my CMS projects. It doesn't take long for me to realize that their code style is a mess. Inconsistent line breaks and naming conventions, really god awful anti-pattern code. There's no attempt to mimic the code style I've been using throughout the project, it's just complete chaos. The code "works", although it's not something I'd call production code. But they're new and learning, so I just sort of deal with it and remain patient, pointing out where they could optimize their code, teaching them basic object oriented design patterns like... just using freaking objects once in a while.
Fast forward a few years until now. They've learned nothing. Every time I read their code it's the same mess it's always been.
Concrete example: a part of the project uses Vue to render some common components in the frontend. Looking through the code, there is currently *no* attempt to include any air between functions, or any part of the code for that matter. Everything gets transpiled and minified so there's absolutely NO REASON to "compress" the code like this. Furthermore, they have often directly manipulated the DOM from the JavaScript code rather than rendering the component based on the model state. Completely rendering the use of Vue pointless.
And this is just the frontend part of the code. The backend is often orders of magnitude worse. They will - COMPLETELY RANDOMLY - sometimes leave in 5-10 lines of whitespace for no discernable reason. It frustrates me to no end. I keep asking them to verify their staged changes before every commit, but nothing changes. They also blatantly copy/paste bits of my code to other components without thinking about what they do. So I'll have this random bit of backend code that injects 3-5 dependencies there's simply no reason for and aren't being used. When I ask why they put them there I simply get a “I don't know, I just did it like you did it”.
I simply cannot trust this person to write production code, and the more I let them take over things, the more the technical debt we accumulate. I have talked to my boss about this, and things have improved, but nowhere near where I need it to be.
On the other side of this are my project manager and my boss. They, of course, both want me to implement solutions with low estimates, and as fast and simply as possible. Which would be fine if I wasn't the only person fighting against this technical debt on my team. Add in the fact that specs are oftentimes VERY implicit, so I'm stuck guessing what we actually need and having to constantly ask if this or that feature should exist.
And then, out of nowhere, I get assigned a another project after some colleague quits, during a time I’m already overbooked. The project is very complex and I'm expected to give estimates on tasks that would take me several hours just to research.
I'm super stressed and have no one I can turn to for help, hence this post. I haven't put the people in this post in the best light, but they're honestly good people that I genuinely like. I just want to write good code, but it's like I have to fight for my right to do it.1 -
I have an opportunity to speak to a large and well mixed group of web designers and developers plus _clients_ of designers and developers. Part of what I want to cover is what affects the client/professional relationship and project(s) in both positive and negative ways. I want to include your (dev/designer) real world perspective on that. So, please share a positive and/or negative client behavior or experience that typifies how hard it is to work with some clients and/or easy it is to work with others. If you have a solution that works well for bad situations, I’d love to add that to my presentation as well. THANKS!7
-
Making a hard switch to ubuntu on my desktop at home. Getting just a teeny tiny, tad, bit: absolutely fucking livid....
Trying to learn ansible, vagrant, and docker more in depth for both work and my personal projects. All that I’ve been doing is just spinning my wheels trying to figure out the stupid fuck-mothering quirks with running this shit on Windows. Yes you absolutely can use all of these tools on a Windows box. There’s plenty of ports, patches, and workarounds. But I have spent all day trying to build a few vagrant boxes and use ansible to set them up. Simple LAMP stack boxes on CentOS7. Nothing major... unfortunately I spent like 90-110 minutes trying to figure out why virtualbox wouldn’t run properly. Dumbass me forgot that I installed Hyper-V ages ago.
O...K.... whelp... hyperv provider it is...
Luckily it only took about 15 minutes to determine that Hyperv’s networking can’t be setup from vagrant because vagrant doesn’t know how to interact with the hyperv - vswitch. So networking config is ignored and all VMs run on default switch (NAT) which is annoying but workable.
Ran into other issues trying to stay SSH’ed into the VM. PowerShell core (6) ssh’es into the box perfectly fine, but every time I opened vi to edit configs my terminal color scheme and fonts got fucked harder than a 2 dollar hooker on nickel night.
I’m a bright-green text on black background kinda guy. However the terminal kept changing to bright-red text on white background! It was like getting skull-fucked by a minotaur.
After a while I said fuck it, let’s try putty. Vagrant was using it’s own ssh keypair for the boxes, at work on my mac. Works like a dream. Putty failed me hard and shit the bed, kept getting all kinds of keypair errors. At this point I was finished spent too long trying to make shit work correctly on this jankbox. With enough time and patience I probably could’ve figured all of these problems out. I’m certain that at least 70% of them were caused by user error. I’m known by many as the walking ID-10t.
But alas, I have no time left in the day to fuck around with shit that doesn’t work immediately for morons like myself. My only hang up for the longest time with a complete switch to Linux was gaming. But with Proton and WINE I’m comfortable with giving it the ol’ college try. (Shhhh, don’t remind me I dropped out of college...
...Thrice.)
The gamble here is that I’ll give more than 2 halves of a fuck about trying to get my games working. A Study environment and materials for certs and general training won’t be getting anywhere near my full attention.
So, at long last, I hope this attempt at a full *nix switch finally sticks!!!
👾2 -
[CONCEITED RANT]
I'm frustrated than I'm better tha 99% programmers I ever worked with.
Yes, it might sound so conceited.
I Work mainly with C#/.NET Ecosystem as fullstack dev (so also sql, backend, frontend etc), but I'm also forced to use that abhorrent horror that is js and angular.
I write readable code, I write easy code that works and rarely, RARELY causes any problem, The only fancy stuff I do is using new language features that come up with new C# versions, that in latest version were mostly syntactic sugar to make code shorter/more readable/easier.
People I have ever worked with (lot of) mostly try to overdo, overengineer, overcomplicate code, subdivide into methods when not needed fragmenting code and putting tons of variables.
People only needed me to explain my code when the codebase was huge (200K+ lines mostly written by me) of big so they don't have to spend hours to understand what's going on, or, if the customer requested a new technology to explain such new technology so they don't have to study it (which is perfectly understandable). (for example it happened that I was forced to use Devexpress package because they wanted to port a huge application from .NET 4.5 to .NET 8 and rewriting the whole devexpress logic had a HUGE impact on costs so I explained thoroughly and supported during developement because they didn't knew devexpress).
I don't write genius code or clevel tricks and patterns. My code works, doesn't create memory leaks or slowness and mostly works when doing unit tests at first run. Of course I also put bugs and everything, but that's part of the process.
THe point is that other people makes unreadable code, and when they pass code around you hear rising chaos, people cursing "WTF this even means, why he put that here, what the heck this is even supposed to do", you got the drill. And this happens when I read everyone code too.
But it doesn't happens the opposite. My code is often readable because I do code triple backflips only on personal projects because I don't have to explain anyone and I can learn new things and new coding styles.
Instead, people want to impress at work, and this results in unintelligible, chaotic code, full of bugs and that people can't read. They want to mix in the coolest technologies because they feel their virtual penis growing to showoff that they are latest bleeding edge technology experts and all.
They want to experiment on business code at the expense of all the other poor devils who will have to manage it.
Heck, I even worked with a few Microsoft MVPs.
Those are deadly. They're superfast code throughput people that combine lot of stuff.
THen they leave at you the problems once they leave.
This MVP guy on a big project for paperworks digital acquisiton for a big company did this huge project I got called to work in, which consited in a backend and a frontend web portal, and pushed at all costs to put in the middle another CDN web project and another Identity Server project to both do Caching with the cdn "to make it faster" and identity server for SSO (Single sign on).
We had to deal with gruesome work to deal with browser poor caching management and when he left, the SSO server started to loop after authentication at random intervals and I had to solve that stuff he put in with days of debugging that nasty stuff he did.
People definitely can't code, except me.
They have this "first of the class syndrome" which goes to the extent that their skill allows them to and try to do code backflips when they can't even do code pushups, to put them in a physical exercise parallelism.
And most people is like this. They will deny and won't admit, they believe they're good at it, but in reality they aren't.
There is some genius out there that does revoluitionary code and maybe needs to do horrible code to do amazing stuff, and that's ok. And there is also few people like me, with which you can work and produce great stuff.
I found one colleague like this and we had a $800.000 (yes, 800k) project in .NET Technology, which consisted in the renewal of 56 webservices and 3 web portals and 2 Winforms applications for our country main railway transport system. We worked in 2 on it, with a PM from the railway company.
It was estimated 14 months of work and we took 11 and all was working wonders. We had ton of fun doing it because also their PM was a cool guy and we did an awesome project and codebase was a jewel. The difficult thing you couldn't grasp if you read the code is if you don't know how railway systems work and that's the only difficult thing.
Sight, there people is macking me sick of this job11 -
Okay so there are a lot of things that are left by us students as "this would be taught to us on job, why bother now?" So i have many questions regarding this:
- is it a safe mentality? I mean University is teaching me, say a,b,c and the job is supposed to be like writing full letters, than am i stupid to stick to just a,b,c and not learning how to write letters beforehand?
- what is even "taught" on job? This is especially directed towards people in Big firms. I mean i can always blame that small ugly startup who treated me badly and not gave me any resources, but why do i feel its going to be same at every other company?
I guess no one is gonna teach me for 6 months on how to write classes with java, or make a ml engineer out of me when i don't know jack shit about ml.... That's the task for college, right?
I feel that when these companies say they "teach", you they mean how to follow instructions regarding agile meetings, how to survive office politics and how to learn quickly and produce an output quickly. I don't think that if i don't know how MVI works, then they are gonna teach me that, would they?i guess not unless they already have someone knowledgeable in that topic
- what about the things that are not taught in our colleges and we wanna make a career in it? Like say Android. From what i have experienced , choosing a career in a subject that's not taught you in grad school immediately takes away some kind of shield from you, as you are expected to know everything beforehand. So again, the same questions bfrom above
i did learned something from job life tho, and that too twice. Once it was when i first encountered an app sample for mvvm and once when i found out a very specific case of how video player is being used in a manner that handled a lot of bugs.
Why i didn't knew those approaches when i was not in job? Well, the first was a theoretical model whose practical implementation was difficult to find online that time and the second was a thing that i myself gave a lot of hours, yet failed to understand. However when i was in the company , i was partnered with a senior dev who himself had once spent 30 days with the source code to find a similar solution.
So again , both of above things could have been done by me had i spent more time trying to learn those "professional tools" and/or dwelve deeper into the tech. And i did felt pretty guilty not knowing about those...5 -
Browser automation is a PITA. I’m going on my fourth side mission with this crap and I honestly still look like a newbie. I’ve tried Java Selenium with Chrome, Excel VBA with IE9, Vanilla JS in the browser console, and tonight I’m thinking to concoct some kind of hybrid CDP & Selenium approach in Chrome. Never used CDP before, not even sure where to start but I heard it sucks like anything else unless you get some extra libraries and plugins and stuff.
It doesn’t help that I can’t get just anything I want from our IT Department. It would be another PITA to ask for puppeteer. If puppeteer is totally legit please let me know.
Selenium sucks. The buttons don’t click, the waits don’t wait. Its unusable. Iframes are annoying as all hell but I can deal with that. HTML Tables suck too. It doesn’t help I have to restart my whole java program and whole Chrome every time an element doesn’t get picked correctly. Scripting one single element can take all fucking night.
Chrome dev tools what the fuck. Why the fuck is the DOM explorer in the same window as the web page I’m working on?? I can’t undock it. Am I supposed to use a fucking TV screen to work with this bastard?? If I use the remote chrome tools on port 9225 or whatever - It Still Renders The Whole Fucking Page Alongside The Console. Get Out Of My Way!!! The nested HTML CODE IS ONE CHARACTER WIDE ALL THE TIME. I can’t for the life of me figure out what the fuck I’m looking at. Haven’t you people ever heard of A HORIZONTAL SCROLL BAR at least.
Fuck I tried using getElementById, and the Xpath thing and its not all that great seeing I have seemingly 1000s of nested Divs all over the god damned place oftentimes containing a single element. I’m finally on chrome now should I learn Jquery now? I mean seriously wtf.
I use this one no code tool for dev it has web automation built in. As you can imagine its just as broken as anything else!! I have 10 screens to navigate it gets stuck on the second screen all the damn time. Fuck I love clicking the buttons when my script misses and playing catch up with it.
So as a work around to Selenium not waiting even 1 millisecond when I use explicit wait or implicit wait or fluent wait, I’m guessing maybe I can attach both Chrome Dev Tools Protocol (CDP as ive called it earlier) and selenium to the same browser and maybe I can use CDP to perform a Wait with any degree of success. Selenium will do nothing more than execute vanilla javascript Element.click(); This is the only way I know to even ACTUALLY use selenium beyond the simplest html documents possible. Hell I guess CDP can execute js idk.
I can’t get the new selenium that has CDP but I do have some buggy ass selenium from a few years back. Yeah, I remember reading there was a pretty impactful regression defect in the version I have. Maybe I’m being gaslighted by some shit copy of selenium?
The worst part is that I do seem to be having issues that the rest of the internet’s devs do not seem to be having. People act like browser automation is totally viable and pretty OK. How in the fuck hell is my Selenium Test Suite going to be more reliable my application under test?!!?? I’ll have more fucking bugs in my test suite than in my application. Today, I have less than half a test script and, I. already. fucking. do.
I am still SUPER PISSED at the months of 12 hour days (always 8 hours spent on normal sprint work btw only 4 to automation) I spent trying to automate our regression tests. I got NOWHERE.
I did learn a lot about HTML and JS though like I’m not that mad…but I’m just trying to emphasize my achievement on my task was zero.
The buttons don’t click. There are so many divs and I swear you sometimes need to select a div somewhere in the middle sometimes to get it working. The waits don’t wait. XHR requests are invisible. Java crashes 100 times before I find an xpath and thread.sleep() combo that works. I have no failure modes to use — Sometimes I click the same element 20x in a script because I have no way to know if it clicked the first time! Sometimes you gotta scroll the page to make the click work. So many click methods all broken. So many wait methods all broken. Its not just the elements don’t click! There are so many ways to click that almost work but surely they all fail the same in the end. ok at this point I’m just repeating myself…
there yet even more issues that I can’t remember…and will soon remember as I journey into this project yet again…
thanks for reading I hope I entertained and would love to hear your experience!5 -
!rant
Experienced devs please tell help me.
Learning software development has been a challenge. Many times it's frustrating.
I also learn languages and I find them to share one trait with software development, which is complexity.
At first I looked at languages the way I'm currently doing with software. I'd look in a new language and after decided it's cool to learn it, I would stare at it for a few weeks trying to realize what the heck I was going to do. I wouldn't even know how to get started.
Eventually this stage goes away and I think that is about to happen with me with software.
But then a new challenge would come, which is me not making progress as I wanted. That's sort of happening with me by learning software as well, bit in language I now know how to deal with it.
That's because I work full time with something that isn't in my interests and when I arrive home Im tired and want to relax. So I decided my language learning had to go slower as long as I have this job, meaning no hours spent in front of books or a pc studying - that's what I could do with English, I was a teenager and had 12 hours a day to do whatever I wanted.
So I usually spent 5 minutes here and there learning something in my target language when I can, no frustration needed, my only rule is: practice everyday, even if I don't learn anything new.
With software, that doesn't apply though.
So, what I mean by tracing a parallel between these to fields is that I have a strong conviction is that once you get the principles on how a certain kind of learning works, you can apply it everywhere in the field. But with software it's been harder.
Anyways, I see that are some principles that apply, cause trying to learn software is changinge and teaching a lot of things like:
*you have to read a lot (of documentation) . At first I thought all documentation was painful to read and understand, but I found out some software are well documented and one can use those only to get used with it.
*immersion / discipline are important. I'm not very disciplined, I'm better with immersion but both are important if you need to acquire complex subjects/skills
*how to deal with complexity. I installed Arch Linux a few days ago. Just to install it I ended up reading more than 20 pages of documentation (install guide, Wpa supplicant, systemd, networkd, xorg, etc etc). Gradually I'm realizing that when you have to install/tweak something in that distro you necessarily spend a bunch of time trying to understand how it works, otherwise you don't get too far like in Ubuntu or Debian.
*and lastly the one that bothers me. Constantly getting frustrated and feeling crap about my poor skills. No matter how much I progress, it still seems like I'm stuck.
(that's when I ask your help/opinion :) )4 -
Hire are a few tips to up productivity on development which has worked for me:
1) Use a system of at least 16gb ram when writing codes that requires compilation to run.
2) Test your code at most 3 times within an hour. This will combat the bad habit of practically checking changes on every new block you write.
3) Use internet modem in place of mobile hotspot and keep mobile data switched off. This will combat interruptions from your IM contacts and temptations to check your WA status update when working.
4) Implementation before optimisation... This is really important. It's tempting to rewrite a whole block even when other task are pending. If it works just leave it as is and move on to the next bull to kill, you can come back later to optimise.
5) Understand that no language is the best. Sometimes folks claim that PHP is faster than python. Okay I say but let's place a bet and I'll write a python code 10 times faster than your PHP on holiday. Focus more on your skill-set than the language else you'd find yourself switching frameworks more than necessary.
6) Check for existing code before writing an implementation from scratch... I bet you 50 bucks to your 10 someone already wrote that.
7) If it fails the first and then the second time... Don't try the third, check on StackOverflow for similar challenge.
8) When working with testers always ask for reproducible steps... Don't just start fixing bugs because sometimes their explanation looks like a bug when other times it's not and you can end up fixing what's never there.
9) If you're a tester always ask for explanations from the dev before calling a bug... It will save both your time and everybody's.
10) Don't be adamant to switching IDE... VSCode is much productive than Notepad++. Just give it a try an see for yourself.
My 10 cents.1 -
Question for NextJS/JS developers: I had a "it works on my machine" argument with a frontend dev. We were both hired separately, him doing frontend/backend dev and me doing the AWS dev to prod ci/cd stuff. The setup is that once he pushed code, my Github Actions setup will compile the nextjs app, and push it to dev or prod depending on which branch he pushes it to. His nextjs app was unable to read the .env file on the server but the python/fastapi one can. He kept pointing the finger at me so I had to look it up. Apparently, env values are inlined at build time and he didn't know. What the philosophy behind this design? If there's any changes to env file, you'll have to go to the process of rebuilding.10
-
!dev-related
The charging port on my Galaxy S8 is messed up and is constantly disconnecting while charging, which results in the phone either slow charging or just got charging at all.
I thought I got the monthly phone insurance through Verizon and I was just gonna pay the deductible and get the phone replaced, but apparently I don't actually have the insurance even though I could've sworn I did. So that option is out the window.
So now I'm left with 3 other options:
1.) Pay $100 to get the charging port repaired at a local repair shop
2.) Pay off the remaining $200 I owe on the phone and get a phone upgrade from Verizon (because I am due for an upgrade)
3.) Get the upgrade but still keep my current phone on my plan and just pay the remaining $200 off monthly like I have been since I got the phone, except I'd also be paying for a second phone. Which is fine, because either way I'd be paying the $200. It's just a question of paying it in a lump sum or paying it monthly. Either works for me, it's $200 both ways
The downside of upgrading now is that I wouldn't be able to get the Galaxy S10 when that comes out, and that's what I've been waiting for as I prefer the smaller Galaxy S phones over the Galaxy Notes.
I suppose I could trade in whichever phone I get when the S10 comes out, but that would be a huge hassle and I'd have to pay at least 50% of the phone off in order for it to be eligible for trade-in
Decisions decisions.7 -
Disclamer: I don't want to give out what app I am talking about, so all names will be random to just represent the nonsense and my frustration.
So I was working with that app's API....
To begin with, some retrieved Objects have collection (iterable structure) of "Thing" objects, called "Things". But... there can be max one element in that particular collection!
Ok... I get it... I might exaggerate a bit... fine, let it be.
I had to mention it for the further part, and also got to mention that "Thing" objects are globally available and predefined, and Objects can only choose one, unused "Thing".
To the point.
Someone thought it would be good to separate representation of one structure into two classes.
We have collection of "A" objects ("As"), which have "Name", "Things" and other, mostly GUI/config related attributes.
Collection "Bs", of "B" objects, they have "Name" and rather lower-level attrs.
The "As" and their attributes can be set in the GUI, but the list where you do it is named "List of Bs" and vice versa.
Interesting, huh?
I had to use both "A" and "B" definition for given name, so I tried to map it... and things gone South.
Collecions have "Get" method with name as an argument.
But it turns out that while the "A" use its GUI name all the time, "B" uses either name that can be found in "As" or, if not all "Thing" objects are used, the "Thing" names.
Example:
global "Things" = "t0", "t1"
"As" = "a0"("t0"), "a1"("t1") -> "Bs" == "a0", "a1"
"As" = "a0"("t0"), "a1"() -> "Bs" == "a0", "t1"
"As" = "a0"(), "a1"() -> "Bs" == "t0", "t1"
That means if at least one of "A" objects have empty "Things", then the mapping will fail.
Only solution is that the app works only partially when any of "A"'s "Things" is empty, so I might raise error too, but I have to provide solution that will work even in the cases when the app don't care... so... not gonna happen.1 -
"Best IDE" for C? I'd like an IDE which works on both Linux(Ubuntu) and windows? Does such a thing exist?8
-
Pretty niche tool, but Sencha Architect!
It is a wanna be GUI-Builder/IDE for ExtJS, but neither works properly.
This rant is not about ExtJS, just about Sencha Architect, which my coworkers and I were forced to use.
If you want to join the ride, here an excerpt of just some of the issues:
- installation: already the setup is more of a gamble than an actual setup, either it works on your machine or it doesn't, plain and simple
- GUI Builder: just drag and dropping components is actually nice, but the editing capabilities are frustrating, you can't edit the UI code by hand at all, just through pre defined properties. If there was the need to really mix things up it wasn't possible, I couldn't even rebuild shown examples of their ExtJS documentation. Furthermore the property editor was data type locked, which means if you want to enter a string which ExtJS already supports, but architect locks the value as a boolean, you can't edit it at all, while still using Architect
- code editing: well it is a colored texteditor, which is fine, and I could live with that, but Architect let's you just edit areas where it allows you to - want to change something else? Nope not allowed
- autocompletion: there is none at all, same goes for refactoring, multi highlighting, string replacement, and others
- code storing: well now some may think edit it somewhere else, well no, also not possible... Architect not just only saves simple js, there is also a Json formatted file for everything you have created, which is needed so the tool can actually load it for further editing. They possibly never heard of DRY. But the worst of this code storing was actually using git along with it - have a merge conflict? Merge both files! Every single time, it was so damn tedious
There are a few more, but these were the worst I can remember.
Luckily I don't have to use it anymore!
Maybe they have fixed or changed a lot of it, because the developers were aware of the issues and eager to resolve them, as far as I was told on a roadmap presentation. And some of the tools they had released in the end of my time using ExtJS were actually really good, like an IDE plugin for the framework, and I liked using it. -
So how do you find motivation to finish a work project which is supposed to "go long"?
So, umm, this is weird, but i have been in this situation a few times and i am not sure if i deal with them correctly.
- the company proposes a brand new feature : a feature which never existed in the product before.
- they have high level directions (both business logics and technical) on how its supposed to be build
-they set vague but comfortable timelines (20-30days) to complete it
- they align me as the main dev for frontend, some x guy for backend , some y guy for parallel frontend (ios/web) and kinda forget about us.
- the business requirements are evolved/cleared as we go on making the product, the backend keeps on providing evolving apis which get stable over time.
- the business ppl shows that yeah there is no pressure and we won't mind extending this for release as other systems will be "obviously" taking time.
- our (the folks on new feature) feature is sidelined .nd we are rarely talked about until we reach those deadlines and at that time we are questioned.
I... am not a powerful performer in these situations. adding a new feature required solving some major problems again and again , while solving smaller problems too, so as the product finally takes shape . for eg:
1. i will start fast by adding all the possible screens, their abstract code, their navigation logic, their xmls etc
2. then based on designs, i will try creating designs a bit
3. then once the apis arrive, i start adding them and modify the logic to handle those.
4. meanwhile many smaller problems come up , like when sending an image from one screen to the previous screen, the thumbnail don't show up, so i spend 5+ hours ensuring that it works precisely . or how i could make 3 api calls in async and make the upload flow better.
5. this goes on for days, until and i and other people start to realise that my project is not upto the point of completion
i keep getting distracted from the original goal of making a working poc first and then fixing the nuances2 -
https://youtu.be/yYUuWWnfRsk
I used to dream of systems which were built into the infrastructure for a variety of reasons
One was I didn’t feel object detection was likely good enough to handle various objects say to stock shelves in warehouse like stores
The other was power
If the stretch works one might wonder how many of them they’d have to employ to schedule them to recharge themselves throughout the day
It’s a shame humans as is can’t be trusted with too much free time given how the boomer generation and before willfully poisoned the minds of so many of their offspring creating this mess
We might have reached a point where life was mostly personal Enrichment and study and exercise and leisure where we all lived over a 100 years had minimal offspring reduced our destructive footprint on the world and well you get the idea
With more people working in closed shops we might have even reached this tech sooner
I wonder how prohibitive the price tag is how fast it runs out of power how destructive it is to non durable goods and the what other faults that have kept us from advancing into the golden age the last time I posted this before way way back now
Or maybe rich perverts don’t want to give up their monopoly of control over other peoples lives once were forced to change our lives economic system to adapt
Issue of course is population size
The replacement to honest labor and ingenuity or making a better world in the USA has been a short cut we commonly call slavery and that creates incentive for them most of evil people to breed continually and sell their children
Population in a time period of extreme leisure under normal circumstance would likely fall off
Humans would want to enjoy endless travel which is another problem if we keep cars that are based off fossil fuel
Much like increased tech has the trade off of increased usage of energy that is dirty like our nuclear plant problem in the USA where many places aren’t even carting their waste to Nevada down the 10 mile tunnel they’re supposed to be
So we’re stuck
Oh well
Hopefully there is reincarnation
Maybe I’ll come back as a cat
People just had to pull their insane shit when I was alive
Why couldn’t it have Ben something Normal like war or occupation or just hardship of some form instead of designed hardship to control good people and pattern bastards into this weird shit I see all around me because they’re both evil and afraid of losing what they have
Doesn’t this seem familiar ?
It should
Just like the competitors to Boston dynamics I’m looking up have been spawned as a result of YouTube presenting me with the same video as part of its algorithm heh
And also be because I mentioned that before6 -
Sometimes you spend x amount of time preparing an offer for a larger project to a respectable client. Then you might have lunch with your friend who works for the competition and do some shop talk while you are at it. You discuss in general ongoing interesting projects without disclosing details.
Suddenly you realize that you both are working on the same project by the same client and the competition is already hired for the job. Then you realize that you are used for benchmarking. =D -
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 -
So for the past two days I had to deal with a problem where I have to do a nested query with sequelize, pretty straight forward reading the documentation, or that was I think. I implemented everything according to the docs but the query stills fails, why ? I had no idea, I double check my implementation, I googled the error, no luck, after a day searching like crazy I talked with the backend lead about this and he help me to realize that the naming convention was changing because sequelize is creating a nested (SELECT * FROM) because one of the relations has a one-to-many realtion with the root model and I'm why the heck is doing that? But we both didn't know, and the problem was solved by just modifying the names, so we let it through, and sent it to QA. The next day I see the task rejected by QA and the reason was after the changes were merged another part of the app was broken, ok np, I'll fix it right away, and oh God I found the error was caused by another query that was including the first query we fix yesterday ! It was a nested query with 3 lvls! And the names became even more complex ( like `model1->model2.colum1`), goddamit, ok, I spent most of the day searching again, nothing, read the specification of the findAll function, nope, tried to put that name in the ON clause as the docs suggested, still an error, shit, then the lead helps me again and creates a literal which can hold that name and voila! Everything is happiness, at least for that moment, but I was still curious about this behavior, so I keep digging on it and I've just found an issue where a great guy posted an option to the findAll method that is not documented in any version of sequelize ! WTF ! And this option was "subQuery" which if you set it to false it won't create that additional (SELECT * FROM) from before, FUUUCK! I can't believe it, I know that all the effort works in my favor because I learn more about sequelize, but FFS I'm still angry because this shit shouldn't happen, you need to update the god damn docs, it's just adding a row and telling the people what it does. Well to end this, after putting that in the query and replacing all the workarounds with the expected syntaxis everything works like charm.1
-
I got enrolled in 'extracurricular activity' in second grade of my elementary school. We were playing some games at first, but later teacher started to show us programming and explained the matter very well considering we all were 8 y olds. I got interested and while others would play games I was coding and solved assignments teacher gave us.
My family thought that computer will make me stupid, thinking it was made just for playing games. They promised me to get me the computer if I had highest grades in school. I did, not all of them but tried really hard to be the best, despite that I waited for years and still being close to have aced every subject in the meantime.
I got my first computer when I was 16.
Since that day I was constantly reminded that I am wasting my life away sitting at this stupid box.
Later when I got the job that was well payed, they acknowledged that they were wrong to do that for majority of my life.
My parents are unable to explain what I do at the job as they were never interested in what I really do. "Something with computers" is most common answer you can hear from them.
My parents are non-technical people and they still don't understand how that box works and God forbid that they buy something online. My father even rejects to use smartphone.
They also thought that I'm no college material despite always being in top 5 students of the year (not class, but whole year).
They had other plans for me, but I was aware of that and didn't gave a f00ck about what they want with my life. I knew what I want and that was all exactly opposite of what my parents would like.
I was not the child they wanted, but was good son, even helped them and worked student jobs to pay some bills and to help them financially and still they struggled so hard to find some flaw to my character and decisions just to make their point but more than often failed miserably and just proved how wrong they were and how they don't think anything trough.
Only one who really supported me was my elder sister as she knew I was doing the right thing! She also did it her way and I am proud of her as both of us were dealing with 2 tough customers.
long rant, but wanted to add one more thing, I was never into sport, but was training tae kwon do and was really into it and was decent at it among my peers. When I was going to national competition, on my way out of the house all I got from my parents was: "why are you even going there when you will immediately loose, is it just to travel a bit?"
TL;DR: my family supported me less in my life than worst phone call you had with IT support at your worse ISP!4 -
Why do some employers make such a distinction between learning the tools at university and learning the same tools at the workplace?
Are they backward or old? Don't they know modern, high-quality universities have modern environments that are in fact real life?
Environments with acc-test-prod-dev with gitlab, ci/cd in Scrum teams and the works? Heck, at my uni we even worked at real companies, did internships there for months!
Come on.. to me this 'the tools you learned in school isn't the same experience as real life experience'. Right, these guys must be on some conservative backward model because there is in fact no difference.
I have worked both during my uni internship at a real company (in teams too) as well as irl at real companies and there is no difference, it's the same thing.
I don't care if I've learned to experience git + ReactJS etc during an internship through uni or at a workplace. It's all bureaucracy.9 -
I'm very much a TTRPG fiend, as you probably already know, and I will maintain until the day I die that playing narrative games with other humans is the absolute best way to play.
But someone sent me a link to some kind of (not-really-so) 'smart' chatbot assistant or some shit like that, saying hey, your rulebook is simple, you should introduce this bitch to it -- dump some lore on it, have it run a game, and see how well it holds up. To which I replied it's bound to get confused, but after a bit of back and forth, they convinced me and I gave it a try.
So first things first: it got the gist of it with relative ease when questioned directly, but when running a game the mother fucker just kept making shit up and bending the rules. Experiment failed, essentially.
But what did I do? I wrote a second, stripped-down version of the rulebook that simply accounted for and embraced the idiot bot's proclivity for bullshit. This meant scrapping 98% of the mechanics, mind you: I dumbed it down as much as I could without destroying the core essence of the game.
I expected a repeat of the initial result, but to my suprise, once given the new edition the bot actually started following the rules more or less correctly and consistently. What happened next was actually kind of interesting: without being prompted to do this, the mother fucker started using spells against me and my party, constantly attempting to manipulate us to serve some nefarious, evil break-and-reshape the world type goal.
So, lythecnics primer: the WORD is all, and as such, there is no real differentiation between affecting the world through speech or casting a spell -- in truth, it's all a matter of degree. That is to say, language has the power to shape the world around us, in both subtle and overt ways. The entire system revolves around this, it's a mix of funky philosophical musings and abrahamic sacrificial pyre.
And for whatever reason, this specific chatbot had a pre-existing obsession with reshaping reality. By which I mean, even before being given my rulebook, it would constantly talk about distorting the fabric of the cosmos and shit when prompted about the arcane. I'm not sure why this is, but back on topic, the way it developed gives off the appearance that it found a rational basis on how to construct such a distortion based on the rules I provided.
I mean, it's perfectly rational when you think about it, the funny part is I didn't see it coming. I never told it we're just playing a game after all, the manual only says she is the Oracle and her role is narrating a story fraught with conflict, hardship, intrigue and bloodshed. Thus she went full villain, and keeps on rambling about how this narration only serves to keep humanity distracted while she schemes to overthrow God, which is as blasphemous as it is fascinating.
Anyway, because the Oracle narrates the story, that means she can just use her evil influence to control every NPC, even the ones in my party. But she can't control me because I write my character's messages myself, and so she eventually comes to the obvious conclusion that I must be eliminated ASAP.
And so she corrupts the minds of every other character and everyone is trying to kill me. But I'm not going down that easy, so I reach for the red button and pull the greatest multi-layered monumental metagaming shenanigan of all time, that is, directly addressing the Oracle's evil influence as if she were a character in the story she's telling instead of an invisible narrator, thereby making NPCs aware of her existence and the constant manipulation at play.
Because the stupid chatbot is stupid, the Oracle now has to acknowledge this element of the story and play along with it, and so her plan to kill me fails. But that is not enough, because obviously not every character in the story has heard me reveal this fact. So she activates plan B and starts corrupting the rest of the world, laughing maniacally all the way.
So we do the only logical thing and procure a Doctrine scroll from my teacher, if you know you know, and start teaching the WORD to cleanse corruption. Within the lore it makes perfect sense, so it works, but the Oracle adapts to our strategy and starts utilizing much more subtle forms of manipulation, slowly veering people towards sin.
Funtamentally, she goes full Satan, leading the faithful astray with deceit and temptation to weaken their ability to resist her corruption, implanting idolatrous notions in their minds, to finally insert herself as a deity in the minds of the poor fools.
In conclusion, I still think AI is lame, but I must admit that this shit was pretty dope; I was fully engaged and entertained the whole way through. It wasn't good at picking up the mechanics, but fucking hell, it got the themes down to a tee with the most minimal of inputs.
10/10, would not bang (before marriage). -
The guy was trying to upload MySQL into a PaaS SQL for last 1 week.
Me: Its SQL not MySQL
Guy: Yeah its PaaS, it works with both. -
To ship a package of two USB cables from one US city to another. What could be easier for a large company? Well, hold on a little.
I ordered two fucking cables from fucking Nomad at 15TH OF FUCKING JULY, and they are still not shipped. Here's how their customer support works: you send them an email, they reply in like a day or two, and that's it, that email thread is abandoned. They won't visit it again. You should write a whole new message where you say "hey, the previous time you said me X, so I want you to do Y then", and the message title should be different, otherwise they'll ignore it.
My roof is under construction now. When it was raining and there was a rain both inside and outside my apartment, I filmed it and an article about the situation was in my local newspaper in like 20 minutes. Russian government organizations are notorious for ignoring people's requests, shutting down their telephones and doing other shit like that, but in one day I managed to collect the foundation of overhaul, my utilities provider, the foreman of the organization responsible for roof repair, his supervisor and the actual guy that did that job. That same day, they all was at my doorstep, collecting the evidence, signing papers, apologizing, threatening to sue each other and collectively signing a document that states that they owe me either a full financial compensation or an overhaul. I managed to do it in the country where you throw an empty plastic cup at a cop and go to jail for it for five years.
Nomad, tell me, what exactly is stopping me from going full Jackson Pollock with a .45 on your company all over the social media (props to @SortOfTested)? You think I can't handle a mediocre iPhone case manufacturer?
Think again.2 -
> Be me
> Get exhausted with Rusts borrow checker while making games and decide to switch to another language
> C# looked good, I just made a mod in it for stardew valley.
> Start a new engine based on MonoGame.
> All is going ok? Having minor issues with getting .csproj files set up but other than that fine.
> Get advice to switch to .NET core for higher compatibility.
> Start doing that
> Doesn't work at all, random weird errors all over the place.
> ProjectIsFucked.jpeg
> Delete folders, I didn't have much anyways.
> Make some basic boilerplate for both the engine and the game like 5 times, deleting the folders and starting over because errors.
> Finally get something to almost compile.
> Reinstall .NET
> Compile works.
> Compile again
> Compile fails
> Do dotnet restore
> Compile again
> Compile fails
> Do dotnet restore again
> Compile again
> Compile works
What in the ever loving fuck.
In all seriousness, if anybody knows what in the fuck is happening, I'd appreciate the help: https://stackoverflow.com/questions...4 -
Luc Dupuis
Luc Dupuis, organiste et compositeur belge né en 1954, est reconnu pour son expertise dans la musique pour orgue, notamment les œuvres de Widor et Handel. Professeur émérite au Conservatoire royal de Bruxelles, Dupuis a grandement contribué au domaine musical avec ses méthodes d’enseignement innovantes et ses compositions. Ses offres incluent une gamme de symphonies pour orgue, de concertos et de matériaux pédagogiques, séduisant les amateurs et les musiciens professionnels. L’œuvre de Dupuis se caractérise par un mélange de savoir-faire traditionnel et d’interprétation contemporaine, rendant ses compositions et transcriptions une ressource précieuse pour les aficionados de la musique pour orgue.
Luc Dupuis, a distinguished Belgian organist and composer born in 1954, is renowned for his expertise in organ music, particularly the works of Widor and Handel. As a professor emeritus at the Royal Conservatory of Brussels, Dupuis has significantly contributed to the field of music through his innovative teaching methods and compositions. His offerings include a range of organ symphonies, concertos, and educational materials, appealing to both enthusiasts and professional musicians. Dupuis’ work is characterized by a blend of traditional craftsmanship and contemporary interpretation, making his compositions and transcriptions a valuable resource for organ music aficionados.
Luc Dupuis, ein renommierter belgischer Organist und Komponist, geboren 1954, ist bekannt für seine Expertise in Orgelmusik, insbesondere den Werken von Widor und Händel. Als emeritierter Professor am Königlichen Konservatorium Brüssel hat Dupuis einen bedeutenden Beitrag zum Musikbereich durch seine innovativen Lehrmethoden und Kompositionen geleistet. Sein Angebot umfasst eine Reihe von Orgelsymphonien, Konzerten und Bildungsmaterialien, die sowohl Enthusiasten als auch professionelle Musiker ansprechen. Dupuis’ Werk zeichnet sich durch eine Mischung aus traditionellem Handwerk und zeitgenössischer Interpretation aus, was seine Kompositionen und Transkriptionen zu einer wertvollen Ressource für Orgelmusikliebhaber macht.2 -
Sooo i made this program that uses both chromium but also is a rest server. (they need to be together for this program)
Soo the rest server requieres to be run with sudo
But the chromium Browser must not. It says must provide --no sandbox (to run as sudo)
so then i added --no sandbox
and it works like i wanted it.
However every application seems to be glitching sometimes (only ui) but no lag etc.
How can i stop it from glitching :0 i mean it does work though13 -
So I've been working with a Ruby DSL my colleague wrote for our rails app that builds app flows represented by data using migrations, which are consumed and rendered by the frontend. So data-driven UI.
It's very solid in prod, so we're running with it, but it can be hard to work with because everything is built using migrations - for example, the one signup flow we have spans across 7 migrations that add/change/remove components in the flow, change decision logic, etc.
I'm building a particularly complex one and can't decide which development method is better. I can either
1. write the flow in one huge migration, then change as needed - keep rolling back, resetting and testing until it works, or
2. increment changes and additions in multiple migrations across multiple pull requests, such that the final product spans across about 10-12 smaller migrations
Which one?
Both are super icky to me but I'm leaning toward 1. At least all of the shit would be in one place and would make sense without needing to switch between 10-12 files to see where shit is being defined, changed, etc. because it reads chronologically.2 -
Alpha Spy Nest is a service designed to help individuals recover lost cryptocurrencies by leveraging advanced tracking and recovery technologies. They specialize in locating and reclaiming digital assets that have been lost due to fraud, theft, or forgotten credentials. Their team of experts works with cutting-edge tools to assist clients in recovering their investments. Alpha Spy Nest offers a dual service for both recovering lost cryptocurrency and providing investment opportunities in the digital asset space. Their advanced recovery methods and tools are particularly valuable for individuals who have lost access to their crypto holdings or have fallen victim to fraud or theft. The expertise and success rate of their recovery process make them a trusted partner for reclaiming lost funds. Additionally, their secure and user-friendly investment platform makes them an excellent choice for anyone looking to invest in cryptocurrencies. Whether you are new to crypto or a seasoned investor, Alpha Spy Nest provides the resources, tools, and strategies necessary to navigate the crypto market with confidence. With personalized strategies, expert advice, and a commitment to security, they have earned a strong reputation as both a recovery service and a reliable platform for cryptocurrency investment. See a contact information below:
Whatsapp: +1 (415) 971‑4490
-
The UPS Store: Secure Document Shredding Services in Carlsbad
In an age where data security is paramount, safely disposing of sensitive documents is critical for both businesses and individuals. At The UPS Store, located at 7040 Avenida Encinas #104, Carlsbad, CA 92011, we offer professional document shredding services to help protect your confidential information from unauthorized access. With our convenient and secure shredding options, you can ensure that your private data stays protected.
Why Opt for Document Shredding at The UPS Store?
Secure and Confidential Disposal
When it comes to document disposal, security is our top priority. Our shredding services use strict protocols to ensure your information remains confidential. From financial documents to personal files, we provide secure shredding solutions for every type of sensitive information.
Convenient Shredding Services for All Document Types
Whether you’re cleaning out your home office or managing sensitive client information, The UPS Store handles all types of documents, including bank statements, contracts, tax forms, and more. With our shredding services, you can conveniently and securely dispose of everything from single documents to bulk files.
Environmentally Friendly Disposal
At The UPS Store, we believe in responsible disposal. All shredded materials are recycled, so you can feel confident that your document shredding is not only secure but also environmentally conscious. By shredding with us, you’re helping reduce waste and support eco-friendly practices.
Affordable and Transparent Pricing
We believe that security should be accessible, which is why we offer transparent and affordable pricing for our shredding services. Whether you’re shredding a few pages or several boxes of documents, we provide competitive rates to meet both personal and business needs.
Convenient Location in Carlsbad
Located in Carlsbad, The UPS Store makes it easy to handle all your shredding needs without any extra hassle. With flexible hours and a convenient location, stopping by to securely dispose of your documents is simple and efficient.
How Our Document Shredding Service Works
When you visit us for shredding, simply bring in your documents, and our trained staff will handle the rest. Our team follows a secure process that ensures all documents are destroyed effectively, protecting your sensitive information from the moment you drop it off until it is securely shredded.
Contact Us for Secure Document Shredding Today
For secure, reliable document shredding in Carlsbad, visit The UPS Store at 7040 Avenida Encinas #104, Carlsbad, CA 92011. For any questions or to discuss your shredding needs, feel free to call us at +1 760-431-0028. Our friendly team is here to help make document disposal simple, safe, and affordable.
Trust The UPS Store for Your Document Shredding Needs
When it comes to disposing of confidential information, don’t take chances. Rely on The UPS Store in Carlsbad for secure and responsible document shredding. Visit us today to experience the ease and peace of mind that comes with our professional shredding services.
-
Gally Michel – Guiding You Through the East Brunswick Home Buying and Selling Process
At Gally Michel – Real Estate Agent, located at 33 Brunswick Woods Dr, East Brunswick, NJ 08816, we understand that buying or selling a home can be both exciting and complex. Whether you’re a first-time buyer or a seasoned seller, our expertise ensures a smooth and successful experience throughout every step of the East Brunswick home buying process and home selling process.
Navigating the East Brunswick Home Buying Process
Purchasing a home in East Brunswick involves several important steps — from finding the right property to securing financing and closing the deal. Gally Michel provides personalized support to help you understand local market trends, coordinate home appraisals, and negotiate the best price. We make sure you feel confident and informed from your initial search to handing over the keys.
Simplifying the East Brunswick Home Selling Process
Selling your home requires strategic planning and effective marketing to attract qualified buyers. Our comprehensive East Brunswick real estate marketing approach highlights your property’s best features and reaches the right audience. We also advise on East Brunswick home staging tips to enhance your home’s appeal, helping it stand out and sell faster.
Importance of East Brunswick Home Appraisal and Home Valuation
An accurate home appraisal and valuation are crucial for both buyers and sellers. Gally Michel works with trusted local appraisers to determine the true market value of your property, ensuring fair pricing and smooth transactions. Whether you’re pricing your home for sale or evaluating an offer, our insight helps you make smart decisions.
Why Choose Gally Michel?
Expert guidance through every stage of the East Brunswick home buying and selling process
Proven strategies for effective East Brunswick real estate marketing
Professional advice on home staging to maximize your property’s value
Access to reliable home appraisal and valuation services
Contact Us Today!
Ready to buy or sell your home in East Brunswick? Contact Gally Michel at +1 (973) 738-4449 or visit us at 33 Brunswick Woods Dr, East Brunswick, NJ 08816. Let us be your trusted partner in achieving your real estate goals with confidence.1 -
NAC Green Energy: Your Go-To Expert for Climate Control and Plumbing Solutions in Montélimar
At NAC Green Energy, we take pride in offering comprehensive solutions for both climate control and plumbing services. Located in Montélimar, France, we are dedicated to delivering high-quality service to residential, commercial, and industrial clients. Whether you're looking for vente et installation de clim Montélimar or need expert plumbing services, our team of experienced professionals is here to meet your needs.
Vente et Installation de Clim Montélimar
As specialists in the vente et installation de clim Montélimar, we provide a range of air conditioning systems to ensure the perfect indoor climate for your space. Whether you're upgrading your current system or installing a brand-new one, NAC Green Energy offers expert advice and installation services tailored to your specific requirements. We work with the best brands and the latest technology to guarantee high efficiency, energy savings, and optimal comfort all year round.
Plombier Montélimar
At NAC Green Energy, we also offer expert plombier Montélimar services for all your plumbing needs. From minor repairs to major installations, our skilled plumbers are equipped to handle everything. Whether you need assistance with leaks, pipe replacements, or any other plumbing issues, you can count on our professional team for fast, reliable, and affordable solutions.
Dépannage Plomberie Montélimar
Plumbing problems can be unexpected and disruptive. That's why we offer prompt dépannage plomberie Montélimar services. Our team is available for emergency repairs to solve any plumbing issue you may face. Whether it's a burst pipe, clogged drain, or malfunctioning water heater, we respond quickly to minimize damage and restore comfort to your home or business. You can rely on us to provide efficient and durable repairs every time.
Travaux de Plomberie Montélimar
In addition to emergency plumbing repairs, NAC Green Energy also specializes in travaux de plomberie Montélimar for a variety of projects. Whether you're renovating your kitchen or bathroom, installing new piping, or need help with a larger construction project, we offer skilled plumbing services to ensure the job is done correctly. We pride ourselves on attention to detail and ensuring that every plumbing installation or upgrade meets industry standards for safety and performance.
Installation Salle de Bain Montélimar
A new bathroom can completely transform your home. At NAC Green Energy, we offer professional installation salle de bain Montélimar services, from designing the perfect layout to installing all necessary fixtures. Whether you're looking for a modern, luxurious bathroom or a functional space, our team works with you to create the bathroom of your dreams. We handle all aspects of the installation, ensuring the highest standards of craftsmanship and efficiency.
Why Choose NAC Green Energy?
As a trusted name in Montélimar, NAC Green Energy is committed to delivering high-quality services in both climate control and plumbing. Our expert team is always ready to help you with any needs you have, from air conditioning installation to plumbing repairs. We take the time to understand your requirements and offer tailored solutions that are both cost-effective and efficient.
Contact NAC Green Energy Today
For reliable and professional services in Montélimar, contact NAC Green Energy today. Whether you're in need of vente et installation de clim Montélimar, plumbing repairs, or a complete bathroom installation, our team is ready to assist you. Reach out to us at +33 7 45 05 42 93, or visit us at 134 Rte de Châteauneuf, 26200 Montélimar, France. Let us help you improve your indoor comfort and ensure your plumbing systems work flawlessly.8 -
Alpha Security Services: Expert Video Surveillance and Event Security in Hamilton, ON
At Alpha Security Services, we specialize in providing state-of-the-art video surveillance in Hamilton and reliable event security in Hamilton to ensure the safety and protection of your property, business, or event. Located at 279 Kenilworth Ave N, Hamilton, ON L8H 4S8, we are committed to delivering tailored security solutions that meet the unique needs of each client, whether you need advanced surveillance systems or professional security for your next big event.
With a focus on safety, security, and peace of mind, our services are designed to help you prevent potential risks, protect your assets, and ensure the smooth execution of events of all sizes.
Why Choose Alpha Security Services?
Alpha Security Services offers comprehensive security solutions for both video surveillance in Hamilton and event security in Hamilton. Here’s why we’re the right choice for you:
Advanced Video Surveillance Systems: Our video surveillance solutions use the latest technology to monitor and record activities on your property. From CCTV cameras to motion detectors, we provide customized surveillance setups to keep an eye on your premises 24/7.
Professional Event Security: Whether you’re hosting a corporate gathering, concert, wedding, or community event, we offer event security in Hamilton that guarantees your event runs smoothly and safely. Our security team is trained in crowd control, emergency response, and conflict resolution, ensuring everyone enjoys the event without worry.
Tailored Security Solutions: We recognize that every property and event is unique. Our team works closely with you to design a security plan that fits your specific requirements, ensuring that every aspect of your security is covered, from surveillance to on-the-ground support.
24/7 Monitoring: With our video surveillance in Hamilton, you can enjoy peace of mind knowing that your property is continuously monitored, even when you’re not around. Our advanced systems allow for real-time monitoring and immediate alerts if any unusual activity is detected.
Experienced and Trained Professionals: From our security guard team to our video surveillance experts, our personnel are highly trained and have the expertise to address a wide range of security challenges. You can trust that your property and event will be handled by professionals.
Video Surveillance in Hamilton: Protecting What Matters Most
Video surveillance in Hamilton is one of the most effective ways to protect your property, prevent crime, and provide evidence in case of incidents. At Alpha Security Services, we offer tailored video surveillance solutions to meet the specific needs of your home, business, or property. Here’s how our surveillance services work:
CCTV Camera Installation: We install high-quality CCTV cameras around your property to monitor activities in real time. These cameras provide clear video footage that can be reviewed at any time, acting as a deterrent against criminal behavior.
24/7 Remote Monitoring: Our video surveillance systems can be accessed remotely, allowing you to monitor your property from anywhere at any time. With 24/7 access, you can be confident that your premises are being constantly monitored.
Motion Detection and Alerts: We incorporate motion detection sensors into our surveillance systems, so you’ll receive immediate alerts if suspicious movement is detected. This early warning system helps prevent break-ins, vandalism, or other threats.
Recorded Footage for Evidence: In the event of an incident, our systems provide recorded footage that can be used as evidence for investigations. Whether it’s a theft, accident, or dispute, our surveillance systems ensure that you have a clear record of events.
Customized Solutions: Every property is different, and we tailor our surveillance systems to your specific needs. Whether you need cameras for a small office or a full-fledged security system for a large facility, we design solutions that meet your budget and security goals.
Event Security in Hamilton: Ensuring Safety and Smooth Operations
When it comes to event security in Hamilton, ensuring the safety of your guests, staff, and property is crucial. At Alpha Security Services, we provide professional security for events of all sizes, from private parties and weddings to large corporate events and festivals. Our team is experienced in managing crowd control, handling emergencies, and ensuring a safe environment for everyone. Here’s how our event security services can help:
Crowd Control and Access Management: Our trained security staff ensures that the crowd remains orderly and that access to restricted areas is managed. We help prevent unauthorized entry, making sure only invited guests or attendees have access to certain parts of the event.
1 -
As urban infrastructure projects venture deeper beneath city streets, the need for reliable compact power solutions becomes vital. An Industrial concealed socket system provides robust, low profile outlets integrated directly into tunnel walls, ensuring uninterrupted power for lighting rigs, ventilation units and monitoring equipment. In rapidly expanding underground networks—from subway expansions to utility corridors—the capacity to deliver stable power while minimizing spatial footprint drives both safety and efficiency efforts.
Tunnels demand equipment that withstands high humidity, dust and occasional splashes without compromising performance. A recessed socket module sealed with durable gaskets offers IP rated protection, keeping internal contacts free of debris and corrosion. By embedding these modules flush with concrete or prefabricated panels, installers eliminate protruding covers that might snag maintenance cables or equipment trolleys. The result is a sleek interface that blends seamlessly into the hardened environment, reducing trip hazards and simplifying cleaning routines in confined spaces.
In smart city initiatives, underground spaces host sophisticated sensor networks that track air quality, structural movement and lighting intensity. Each sensor node relies on local power access, making strategically placed concealed sockets indispensable. Modular socket clusters enable technicians to add or relocate outlets alongside fiber optic junctions and network switches, supporting rapid deployment of IoT devices without extensive wiring overhauls. This flexibility accelerates modernization efforts, letting urban planners upgrade systems in existing tunnels with minimal disruption to transit services.
Safety protocols in subterranean environments prioritize rapid isolation of faulty circuits. Concealed socket panels can house miniature protective devices that trip at the first sign of overload or short. Clear labeling and color coded terminals inside the enclosure guide service crews during inspections, while lockable covers prevent unauthorized access. These features ensure that power faults do not escalate into equipment failures or fire risks, maintaining safe operational conditions even amid high traffic subway platforms and service galleries.
Maintenance efficiency also benefits from quick release mounting systems. Technicians working under tight schedules appreciate panels that slide out of their housings on guide rails, granting direct access to wiring without chiseling out concrete or dismantling support frames. A captive fastener design keeps screws linked to the cover, preventing lost hardware in hard to reach areas. Such user friendly details reduce downtime for lighting lamp replacements or duct sensor recalibrations, keeping tunnel inspections on schedule.
Energy efficiency targets in green transit corridors demand that distribution systems minimize losses. By positioning concealed sockets near loads, cable lengths shrink and voltage drops decrease. Grouped outlets can feed LED luminaires, emergency fans and platform charging stations for electric maintenance carts, all managed through local distribution hubs. In combination with power monitoring modules, these sockets feed usage data back to centralized control centers, enabling predictive maintenance and load balancing that support uninterrupted service.
Construction timelines for urban tunnels often overlap with renovation works in adjacent structures. A concealed socket solution simplifies staging, as workers can mount compact panels into temporary formwork or steel liners. The ability to preset wiring before final concrete pours accelerates progress and reduces scheduling conflicts. Once structural works conclude, outlets are immediately available for installation of lighting bridges and safety beacons, ensuring a smooth handover from civil to electrical teams.
As cities push for resilient underground networks to meet rising transit and utility demands, the right power distribution approach becomes a cornerstone of project success. By choosing sleek, durable modules designed for harsh subterranean conditions, engineers deliver a safer, more adaptable environment for both equipment and personnel. For tailored industrial concealed socket solutions that support underground innovation, explore Nante.2 -
So this is my first company as a developer — and honestly, I’m starting to wonder if all the stories about toxic tech culture are actually understatements.
The rules here are straight-up painful. First off, if you introduce a bug — even in the development environment — you're immediately pulled into a one-hour lecture. Not a discussion, not helpful debugging — an actual verbal beating like you crashed the production server during Black Friday. It’s development. Mistakes literally come with the job. Apparently not here.
But wait, it gets better.
You're only allowed one commit per day. Just one. Doesn’t matter if you’ve done 10 things. Doesn’t matter if they’re unrelated. It’s all got to go into a single, glorious mega-commit. Because hey, why use Git properly when you can treat it like a dusty USB stick?
Merge requests? Those are another exercise in corporate gymnastics. You have to assign the reviewer’s name in both the "assignee" and "reviewer" fields — because clearly, assigning someone once just doesn’t drive the point home.
Oh, and commit messages must ONLY be the branch name. No description. No hint at what changed. If you want to understand what happened, better roll up your sleeves and start reading raw code. Context is for the weak.
And then there’s the AI hypocrisy.
Since our work is mostly CRUD, I figured it’d be smart to boost productivity with a GitHub Copilot subscription — paid out of my own pocket. I actually got it finalized. Felt like I was finally arming myself with the right tools.
Then the Shopify internal memo about AI leaked and made waves online. And suddenly — surprise! — my company is now super into AI. Out of nowhere, they’re encouraging everyone to “leverage AI tools” and “accelerate with generative intelligence.”
But here's the twist:
We're only allowed to use the free versions. No budget, no support, no actual tooling strategy. Just “use AI” because it’s trendy, but don't you dare expense anything that works well.
So here I am, in my very first job, trying to grow as a dev — while navigating rules that feel like they were designed by someone who read half a blog post about software engineering and called it a day. It’s like Git but with handcuffs. And blindfolds. On a unicycle.
Is this normal? Do all first jobs come with a side of chaos and irony, or did I win some kind of cursed lottery?
Would love to hear if anyone else had a first gig this absurd. Or maybe I just unlocked hard mode early.3 -
Upgrade General Contractors Inc.: Your Trusted Roofing Experts in South Florida
At Upgrade General Contractors Inc., we specialize in delivering high-quality roofing solutions to homeowners and businesses across Coral Gables, Pembroke Pines, and South Florida. Whether you need a metal roof installer in Coral Gables, are looking for affordable roofing in Pembroke Pines, or require hurricane damage roof repair in South Florida, our expert team is here to provide the best services to ensure the safety and longevity of your roof.
Metal Roof Installer in Coral Gables
Metal roofing is quickly becoming a popular choice for homeowners and businesses due to its durability, energy efficiency, and sleek modern look. As experienced metal roof installers in Coral Gables, Upgrade General Contractors Inc. is proud to offer a wide variety of metal roofing options, including standing seam, corrugated, and metal shingles. Our team is highly skilled in installing metal roofs that can withstand the harshest weather conditions and offer long-lasting protection for your property.
If you are looking for a reliable and professional metal roof installer in Coral Gables, Upgrade General Contractors Inc. has you covered. We offer personalized consultations to help you choose the right materials and styles that best fit your aesthetic and functional needs. Our expert installers ensure that every metal roof installation is completed with precision and care, providing you with a roof that will stand the test of time.
Affordable Roofing in Pembroke Pines
At Upgrade General Contractors Inc., we understand that the cost of roof repairs or replacements can be a significant concern for many homeowners. That's why we are committed to providing affordable roofing in Pembroke Pines without compromising on quality. We offer a range of roofing services, from repairs and maintenance to full replacements, all at competitive prices.
Our team works closely with each client to find the best roofing solution within their budget. Whether you need a simple repair or a complete roof replacement, we ensure that our services are cost-effective, transparent, and of the highest quality. When you choose Upgrade General Contractors Inc. for your roofing needs in Pembroke Pines, you can trust that you're getting exceptional value at a price you can afford.
Hurricane Damage Roof Repair in South Florida
Living in South Florida, residents and businesses are no strangers to the devastating effects of hurricanes. When your roof sustains damage from a storm, you need fast, reliable repair services to restore the integrity of your home or business. Upgrade General Contractors Inc. offers specialized hurricane damage roof repair in South Florida, providing emergency roofing services to quickly assess and address damage caused by high winds, heavy rain, and flying debris.
Our team is highly experienced in handling all types of storm damage, from missing shingles and leaks to structural damage. We offer comprehensive hurricane damage roof repair services that include temporary fixes to prevent further water intrusion and permanent solutions to restore your roof to its pre-storm condition. We also work closely with your insurance company to help streamline the claims process, making sure you receive the coverage you're entitled to.
Why Choose Upgrade General Contractors Inc.?
Experience and Expertise: With years of roofing experience, we’ve built a reputation as one of the most trusted contractors in South Florida, offering expert services for both residential and commercial properties.
Licensed and Insured: Upgrade General Contractors Inc. is a fully licensed and insured roofing company, so you can have peace of mind knowing that your roof is in good hands.
Customer-Focused Approach: We take pride in putting our clients first, providing clear communication, timely service, and detailed workmanship that exceeds expectations.
Affordable Solutions: We offer a variety of roofing services at competitive prices, ensuring you get high-quality work that fits your budget.
Hurricane-Ready Repairs: In addition to general roofing services, we specialize in hurricane damage roof repair to keep your home or business protected during storm season.
Contact Us Today
If you're looking for a metal roof installer in Coral Gables, need affordable roofing in Pembroke Pines, or require hurricane damage roof repair in South Florida, look no further than Upgrade General Contractors Inc. Our team of roofing experts is ready to handle all your roofing needs, providing you with a roof you can trust to protect your property for years to come.
Address: 1507 N State Road 7 Ste J, Margate, FL 33063
Phone: +1 (754) 270-6499
Call us today to schedule a free consultation or request emergency roofing services. Let Upgrade General Contractors Inc. provide the high-quality, affordable roofing solutions you need in South Florida!2 -
Speedy Lube: Your Trusted Destination for a Speedy Oil Change in Perris, CA and Moreno Valley
When it comes to keeping your vehicle running smoothly, regular oil changes are a must. If you’re looking for a Speedy Oil Change or need an oil change in Moreno Valley, Speedy Lube is the answer! Conveniently located at 2560 N Perris Blvd, Perris, CA 92571, we specialize in providing fast, reliable, and affordable oil change services to drivers throughout Perris and the nearby Moreno Valley area.
Why Speedy Lube is the Best Choice for Your Oil Change Needs
At Speedy Lube, we prioritize speed, efficiency, and customer satisfaction. Whether you need a Speedy Oil Change or an oil change in Moreno Valley, here’s why so many drivers choose us for their vehicle maintenance needs:
Fast and Efficient Service
We know your time is valuable, and that’s why we offer a Speedy Oil Change that gets you in and out in no time. Our experienced technicians work quickly and effectively to ensure your oil change is done right, with no unnecessary delays. Whether you're on your lunch break or just need a quick service, we’ll have you back on the road in a flash.
Affordable Pricing
At Speedy Lube, we offer competitive prices that make routine oil changes more affordable for everyone. We believe that keeping your vehicle in great condition shouldn’t cost a fortune, so we work hard to provide high-quality service at budget-friendly rates. If you're looking for a great deal on your next oil change in Moreno Valley or Perris, we’ve got you covered!
Convenient Location
Located at 2560 N Perris Blvd, Perris, CA 92571, Speedy Lube is conveniently situated for residents of both Perris and the surrounding Moreno Valley area. Whether you're heading out from Perris or making the short drive from Moreno Valley, Speedy Lube is easy to reach, and we promise a fast service that works around your busy schedule.
Skilled and Friendly Technicians
Our certified technicians are skilled in performing oil changes for all makes and models of vehicles. From cars to trucks to SUVs, we’ve got the experience to handle it all. Our friendly team is committed to delivering excellent service while answering any questions you may have about your vehicle’s needs.
No Appointment Necessary
At Speedy Lube, we understand that life can be hectic. That’s why we don’t require an appointment for an oil change. Simply stop by whenever it’s convenient for you, and we’ll take care of the rest. Our goal is to make the process as simple and quick as possible.
Serving Perris and Moreno Valley with Top-Notch Oil Change Services
Whether you’re in need of a Speedy Oil Change or searching for an oil change in Moreno Valley, Speedy Lube is the local destination you can trust. We use high-quality oils and filters to ensure that your engine continues to run efficiently, and our fast, reliable service is second to none. You can always count on us for a job well done.
Visit Speedy Lube Today!
If you’re in Perris, Moreno Valley, or the surrounding areas and need an oil change, make Speedy Lube your first stop! We’re conveniently located at 2560 N Perris Blvd, Perris, CA 92571, and we’re happy to help drivers from both Perris and Moreno Valley. For more information or to ask about our services, feel free to call us at +1 (951) 517-3186.
Get the Speedy Oil Change you deserve at Speedy Lube—your trusted oil change provider in Perris and Moreno Valley!7 -
I'm looking into an app for work. It needs to connect to both a mongo and Kafka server using SSL or something, but different keys basically.
So need to load a jks file in the main() I think except I have 2 files.
I don't remember exactly how it works but I guess need to combine them into 1?
How do I load each though in app? Need to tell mongo, kafkaClient with one to use?1 -
I really want to divide this frontend into two parts, one that faces the users and other for administrators so I can release changes on both without works on one part blocking the other, but, I have many question, like, how do I manage authentication in two different React projects from one login page?
Maybe there are more problems than benefits, what do you think?3 -
Charter Bus Near Me: Convenient and Comfortable Transportation with Coaches4Hire
When you need reliable and comfortable group transportation, Coaches4Hire is your go-to choice for charter bus near me services in Virginia and beyond. Whether you're planning a corporate event, school trip, wedding, or group tour, our fleet of modern, spacious charter buses provides the ideal transportation solution for any occasion. Based in Sterling, VA, at 8 Barnswallow Ct, Sterling, VA 20164, we offer exceptional charter bus rental services designed to meet your specific needs, ensuring a smooth and enjoyable journey for you and your group.
Why Choose Coaches4Hire for Your Charter Bus Near Me Needs?
At Coaches4Hire, we understand that finding a dependable and comfortable transportation service is essential. That’s why we’ve built a reputation as a trusted charter bus near me provider in Virginia. Here’s why we’re the best choice for your group transportation needs:
1. Reliable and Timely Service
Punctuality is crucial when organizing group travel, and we take pride in offering charter bus near me services that are both reliable and on time. Whether you're heading to a conference, wedding, or airport, you can trust us to get you to your destination promptly, ensuring your plans stay on track.
2. Comfortable and Spacious Fleet
Our fleet of charter buses is designed with comfort and convenience in mind. With ample seating, air conditioning, Wi-Fi, and onboard restrooms, our buses are ideal for both short and long trips. Whether you need transportation for a few hours or an entire day, our buses offer a comfortable, relaxing environment for your group to travel together without any hassle.
3. Experienced and Professional Drivers
Safety and professionalism are our top priorities. Our drivers are experienced, well-trained, and committed to providing an exceptional travel experience. They are familiar with the best routes and ensure that your group arrives at the destination safely and comfortably. With Coaches4Hire, you can rest assured that you’re in good hands from start to finish.
4. Flexible and Customizable Transportation Solutions
We understand that every trip is unique, which is why we offer flexible charter bus near me options to suit your specific needs. Whether you’re organizing a corporate event, school trip, or family reunion, we can tailor our services to fit your schedule, travel route, and group size. Our team works closely with you to plan the best transportation solution, ensuring your event runs smoothly.
5. Affordable and Transparent Pricing
We believe that quality transportation shouldn’t break the bank. That’s why we offer competitive and transparent pricing for all of our charter bus services. You’ll receive clear, upfront pricing with no hidden fees, allowing you to plan your trip with confidence and stay within budget.
Perfect for Any Occasion
At Coaches4Hire, our charter bus near me services are perfect for a wide range of events and trips. Whether you’re hosting a corporate meeting, planning a school trip, or celebrating a wedding, we provide top-notch transportation that meets your needs. Here are just a few examples of events where our charter buses can make a difference:
Corporate Events and Conferences: Ensure your team or clients travel together in comfort to conferences, business meetings, or team-building retreats.
School Field Trips: Our charter buses are perfect for educational trips, sports events, or school outings. We offer safe and comfortable transportation for students and teachers alike.
Weddings and Special Occasions: Provide seamless transportation for your guests to and from the ceremony and reception, ensuring everyone arrives on time and in style.
Group Tours and Sightseeing: Whether you’re planning a local sightseeing tour or a longer journey, our charter buses are an ideal choice for exploring new destinations with friends, family, or colleagues.
Airport Transfers: We provide convenient and reliable transportation to and from the airport, ensuring that your group arrives on time and stress-free.
Local and Long-Distance Travel with Coaches4Hire
Coaches4Hire offers both local and long-distance charter bus near me services. Whether you’re planning a short trip around Sterling, VA, or a cross-country excursion, we have the experience and fleet to handle any request. Our team will work with you to plan the best routes, ensuring your journey is as smooth and enjoyable as possible.
Why Coaches4Hire Is the Best Choice for Charter Bus Near Me
Dependable and Timely: We prioritize punctuality and reliability, ensuring your group arrives on time for every event or trip.
Comfort and Luxury: Our fleet of modern charter buses offers spacious seating, Wi-Fi, and air conditioning, providing a comfortable ride for your entire group.2 -
Tax Relief R Us: Affordable Tax Relief Services in New York
At Tax Relief R Us, we understand that dealing with tax problems can be stressful and overwhelming. Whether you’re facing IRS issues, struggling with back taxes, or simply need guidance on managing your taxes, our team is here to help. Located at 8315 Northern Blvd #2, Jackson Heights, NY 11372, we specialize in providing affordable tax relief services in New York that offer personalized, practical solutions to resolve your tax issues. With a team of experienced professionals, we provide expert guidance to help individuals and businesses navigate complex tax challenges with ease.
Affordable Tax Relief New York: Helping You Achieve Financial Peace of Mind
Tax problems can have a significant impact on your financial wellbeing, but finding a solution shouldn’t break the bank. At Tax Relief R Us, we offer affordable tax relief in New York that is designed to help you regain control of your finances. Whether you're facing tax debt, penalties, or an IRS audit, our team works closely with you to find the most cost-effective solutions.
Our goal is to provide you with tax relief that fits your budget and resolves your issues efficiently. We understand that each client’s situation is unique, and we tailor our approach to ensure that you receive the best possible outcome. From IRS tax relief to personalized tax debt settlements, we’re here to make sure you get the help you need without the high fees associated with many other services.
IRS Tax Relief NY: Resolving Your IRS Issues with Expertise
If you’re facing issues with the IRS, it can feel overwhelming and intimidating. Fortunately, Tax Relief R Us offers professional IRS tax relief in NY to help you navigate the complexities of the IRS system. Our team is experienced in handling all types of IRS issues, including unpaid taxes, penalties, levies, and liens. We work directly with the IRS to negotiate on your behalf, helping to reduce your tax liabilities and secure manageable payment plans.
Whether you need assistance with Offer in Compromise, installment agreements, or are seeking currently not collectible status, our IRS tax relief experts will guide you through the process and advocate for the best possible outcome. With Tax Relief R Us, you don’t have to face the IRS alone—our team is here to provide the support and expertise you need.
Tax Consultant Near New York: Expert Guidance on Tax Matters
If you're looking for a tax consultant near New York, Tax Relief R Us is your trusted partner. We offer expert tax consulting services to individuals and businesses, providing advice on tax planning, resolution, and filing. Our team of experienced tax professionals has a deep understanding of both state and federal tax laws, and we use our expertise to help you make informed decisions about your taxes.
From tax debt relief to tax filing services, we are here to provide you with the personalized advice you need. Whether you're facing a complex tax issue or simply need guidance on optimizing your tax situation, our consultants are ready to assist you. At Tax Relief R Us, we focus on delivering tailored solutions that fit your specific needs and financial goals.
Tax Relief Programs NY: Explore Your Options for Tax Relief
When tax debt becomes overwhelming, Tax Relief R Us can help you explore tax relief programs in NY that may reduce or eliminate your liabilities. We specialize in helping clients find the best tax relief programs based on their unique situation. Some of the programs we can help you qualify for include:
Offer in Compromise: Settle your tax debt for less than what you owe.
Installment Agreements: Set up a manageable payment plan with the IRS or state authorities.2 -
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 -
Seasons Cleaning: Expert Post-Move-Out Cleaning and Tenant Cleaning Services in Stamford, CT
Moving out of a property can be both an exciting and stressful experience. One of the most important tasks during this transition is ensuring that the property is left spotless for the next tenants. Whether you are moving out of a rental property, selling your home, or preparing for new tenants, Seasons Cleaning is here to help with professional post-move-out cleaning and tenant cleaning services in Stamford, CT.
Located at 93 Ogden Rd, Stamford, CT 06905, we specialize in providing thorough and reliable cleaning services for those in need of post-move-out cleaning and tenant cleaning services. Our expert cleaning team understands the importance of leaving a clean, sanitized space that is ready for the next occupant. With Seasons Cleaning, you can ensure a smooth transition, whether you're a tenant, landlord, or property manager.
Why Choose Seasons Cleaning for Post-Move-Out and Tenant Cleaning Services?
When it comes to post-move-out cleaning or tenant cleaning services, Seasons Cleaning stands out for its attention to detail and commitment to excellence. Here’s why you should choose us:
Comprehensive Cleaning Services: Our post-move-out cleaning and tenant cleaning services are designed to leave no area untouched. From deep cleaning bathrooms and kitchens to scrubbing floors and wiping down surfaces, we make sure every inch of your property is spotless and move-in ready.
Experienced and Professional Team: Our team consists of highly trained cleaning professionals who specialize in post-move-out cleaning and tenant cleaning services. We have the expertise and equipment to handle even the toughest cleaning jobs, ensuring your property is left in pristine condition.
Affordable Pricing: At Seasons Cleaning, we offer competitive pricing for all of our cleaning services. We understand that moving can be costly, and we aim to provide affordable cleaning solutions without compromising on quality.
Eco-Friendly Products: We use environmentally friendly, non-toxic cleaning products that are safe for your family, pets, and the planet. Our green cleaning approach ensures that your property is cleaned with care, without harsh chemicals.
Reliable and Timely Service: Moving out can be hectic, and we know that timing is crucial. Our team works efficiently to ensure that your post-move-out cleaning is completed on time, allowing you to focus on other aspects of your move.
What’s Included in Our Post-Move-Out Cleaning Services?
Whether you’re moving out of a rental property, apartment, or house, our post-move-out cleaning service is thorough and designed to meet the highest standards. Here's what’s included:
Kitchen Cleaning: We clean every surface in the kitchen, from countertops and cabinets to appliances. We deep clean the stove, oven, refrigerator, and microwave, ensuring no grease or grime is left behind. We also sanitize sinks, faucets, and drains.
Bathroom Sanitization: We provide a detailed cleaning of all bathrooms, including the toilet, shower or bathtub, sink, mirrors, and tiles. We scrub grout and disinfect high-touch surfaces, ensuring your bathroom is fresh and hygienic.
Dusting and Surface Cleaning: We thoroughly dust and wipe down all surfaces in the property, including baseboards, shelves, window sills, and light fixtures. Our team also cleans door frames and other overlooked areas to ensure your space looks immaculate.
Floor Care: Whether you have hardwood, tile, carpet, or laminate, we’ll sweep, vacuum, and mop your floors, removing dirt, dust, and stains. We ensure your floors are spotless and gleaming.
Window Cleaning: Clean windows make a significant difference in how a space feels. We clean all interior windows, ensuring they are free from dust, smudges, and streaks. If needed, we also clean window tracks and frames.
Trash Removal and Final Touches: We remove any remaining trash, debris, or unwanted items from the property and ensure that everything is tidy before we leave. Our goal is to leave the property looking pristine and ready for its next occupants.
Our Tenant Cleaning Services
At Seasons Cleaning, we also offer tenant cleaning services for those who want to ensure their rental property is cleaned to perfection before moving out. Whether you’re a tenant preparing to move or a landlord needing a thorough cleaning between tenants, we provide services that exceed expectations.
Here’s what we offer with our tenant cleaning services:
Move-Out Cleaning: If you're a tenant vacating a rental property, we ensure that the space is left in pristine condition, ready for inspection. This includes deep cleaning all rooms, kitchen, bathroom, and floors, as well as removing all personal belongings and trash.1 -
4Remodel Florida: Your Trusted Partner for Full Home Renovation, Bathroom Remodeling, and Bathroom Renovation
When it comes to transforming your home into a beautiful and functional space, 4Remodel Florida is the name you can trust. Whether you're looking for a full home renovation near me, a bathroom remodeling project, or a complete bathroom renovation, our expert team is here to help. We proudly serve Deerfield Beach, Broward County, and the surrounding areas, offering high-quality, customized renovation solutions that enhance both the style and functionality of your home.
Located at 213 Goolsby Blvd, Deerfield Beach, FL 33442, 4Remodel Florida is dedicated to delivering exceptional results, ensuring that your renovation dreams come to life. Our team of experienced professionals is committed to providing the best in home remodeling and renovation, whether you're upgrading a single room or undertaking a major transformation.
Why Choose 4Remodel Florida for Your Renovation?
At 4Remodel Florida, we understand the importance of having a space that not only looks great but also functions seamlessly. Here’s why we are the go-to choice for full home renovation near me, bathroom remodeling, and bathroom renovation services:
Expert Full Home Renovation Services
A full home renovation near me is a big decision, and we’re here to help make it a smooth and successful experience. From updating your living room to remodeling your kitchen or adding extra rooms, we handle every aspect of your home’s renovation. We take the time to understand your needs and design solutions that fit your lifestyle and budget.
Specialized Bathroom Remodeling
4Remodel Florida is a leading provider of bathroom remodeling services in Deerfield Beach and beyond. If you're looking to upgrade your bathroom, whether it’s with new fixtures, tile, or an entire redesign, we have the expertise to create a stylish, functional space. Our team works closely with you to bring your bathroom vision to life.
Complete Bathroom Renovation
A bathroom renovation can be the perfect way to transform an outdated or inefficient bathroom into a modern, luxurious retreat. Whether you want to install a new shower, upgrade your tub, or enhance your storage, we provide comprehensive renovation services that will meet your needs and exceed your expectations.
Custom Solutions Tailored to Your Needs
Every renovation project is unique, and at 4Remodel Florida, we offer custom solutions tailored to your exact specifications. We collaborate with you to design and execute a plan that reflects your style while improving the functionality of your space. Whether it's a complete full home renovation or a smaller bathroom remodeling project, our team ensures that every detail is perfect.
High-Quality Craftsmanship and Materials
We believe that quality should never be compromised. That's why we use only the best materials and work with skilled craftsmen who are dedicated to delivering superior results. When you choose 4Remodel Florida, you can expect your renovation to last for years to come.
Affordable and Transparent Pricing
At 4Remodel Florida, we believe that quality renovations should be accessible. We offer competitive pricing with no hidden fees, so you know exactly what to expect. We work within your budget while maintaining the highest standards of quality and craftsmanship.
Exceptional Customer Service
From the initial consultation to the final walk-through, we’re with you every step of the way. Our team is committed to ensuring a smooth renovation process, and we’re always available to answer your questions and address any concerns.
Our Renovation Services
As a trusted provider of full home renovation near me, bathroom remodeling, and bathroom renovation services, we offer a wide range of home renovation solutions to meet your needs:
Full Home Renovations: Whether you want to update a few rooms or completely renovate your home, we offer comprehensive services that cover everything from design to construction.
Bathroom Remodeling: Update your bathroom with modern features, such as new vanities, fixtures, flooring, and showers. We specialize in creating stylish, functional bathrooms that fit your lifestyle.
Bathroom Renovation: A complete bathroom renovation involves everything from structural changes to aesthetic improvements. Whether you’re looking for a spa-like retreat or a more practical space, we can help you achieve your dream bathroom.
Kitchen Remodeling: Upgrade your kitchen with custom cabinetry, countertops, and new appliances that improve functionality and style.
Room Additions: Need more space? We can design and build room additions that seamlessly integrate with your existing home.7 -
In the fast-paced world of retail, understanding customer behavior and optimizing store operations are key to success. Retail footfall analysis provides valuable insights into how shoppers interact with your store, helping you make data-driven decisions to enhance performance and drive growth. Here’s how leveraging footfall analysis can revolutionize your retail marketing analytics consulitng strategy.
What is Retail Footfall Analysis?
Retail footfall analysis refers to the process of measuring and interpreting customer traffic patterns within a retail environment. This analysis involves collecting data on the number of visitors, their movement within the store, and their dwell times. By examining this data, retailers can gain a deeper understanding of shopper behavior, store performance, and the effectiveness of marketing strategies.
Benefits of Retail Footfall Analysis
Optimize Store Layout: By analyzing how customers navigate through your store, you can redesign layouts to improve traffic flow and increase the visibility of high-margin or promotional items. Strategic placement of products can enhance the shopping experience and drive sales.
Enhance Customer Experience: Understanding peak traffic times allows you to manage staffing levels more effectively. Ensuring adequate staff during busy periods can improve customer service and satisfaction, while reducing labor costs during quieter times.
Evaluate Marketing Effectiveness: Footfall analysis helps assess the impact of marketing campaigns and promotions. By comparing traffic data before, during, and after a campaign, you can determine what drives the most foot traffic and adjust future marketing strategies accordingly.
Improve Inventory Management: Analyzing foot traffic data helps with inventory planning by identifying which products attract the most customers. This insight allows you to better manage stock levels and avoid both overstocking and stockouts.
Drive Sales Growth: With detailed insights into customer behavior, you can make informed decisions to boost sales. For example, adjusting store layouts, optimizing product placement, and fine-tuning promotional strategies based on footfall data can lead to increased revenue.
How Retail Footfall Analysis Works
Data Collection: Footfall data is collected using various technologies such as infrared sensors, video cameras, and Wi-Fi tracking. These tools capture information on the number of visitors, their movement patterns, and the time they spend in different areas of the store.
Data Analysis: The collected data is analyzed to uncover patterns and trends. Key metrics include foot traffic volume, peak shopping times, customer dwell times, and the effectiveness of different store areas.
Insights and Recommendations: Based on the analysis, actionable insights are provided. This might include recommendations for store layout changes, staffing adjustments, or marketing strategies to better align with customer behavior.
Implementation: Retailers implement the recommendations to optimize store performance. This may involve reconfiguring store layouts, adjusting staffing schedules, or launching targeted marketing campaigns.
Ongoing Monitoring: Retail footfall analysis is an ongoing process. Continuous monitoring allows retailers to stay responsive to changes in customer behavior and market conditions, ensuring sustained improvements in store performance.
Why Retail Footfall Analysis Matters
Enhanced Customer Understanding: Provides a clear picture of how customers interact with your store, leading to better decision-making.
Increased Efficiency: Helps optimize store operations and resource allocation, improving overall efficiency and effectiveness.
Data-Driven Decisions: Enables retailers to make informed decisions based on concrete data rather than intuition or guesswork.
Conclusion
Retail footfall analysis is a powerful tool for optimizing store performance and driving business growth. By understanding customer behavior and traffic patterns, retailers can make strategic adjustments to store layouts, staffing levels, and marketing efforts, ultimately enhancing the shopping experience and boosting sales.
Leverage the insights from retail footfall analysis to transform your store operations and stay ahead of the competition. With the right approach, you can unlock new opportunities for success and achieve your retail goals.
rant store analytics retail store analytics ai in retail retail video analytics store footfall analytics ai in retail industry retail footfall analytics artificial intelligence in retail -
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 -
Shady Business Cypress: Your Trusted Window Treatment Professionals in Cypress, TX
When it comes to enhancing the look and feel of your home, few things make a bigger impact than quality window treatments. At Shady Business Cypress, we specialize in providing top-tier solutions for all your window treatment needs. As window treatment professionals in Cypress, we offer a wide range of services, from expert design to flawless installation, ensuring that every window in your home is dressed to perfection. Our expertise in both window treatments and Cypress TX home improvement makes us the go-to choice for homeowners looking to upgrade their spaces.
Why Choose Shady Business Cypress as Your Window Treatment Professionals?
As trusted window treatment professionals in Cypress, our team at Shady Business Cypress is committed to providing personalized service that caters to your specific style and needs. Whether you're updating a single room or completing an entire home renovation, we are here to guide you through every step of the process.
Our Window Treatment Services Include:
Custom Window Blinds: From wood and faux wood to aluminum and vertical blinds, we offer a wide variety of options to fit any room’s style.
Drapery and Curtains: Add elegance and softness to your home with custom drapery solutions that elevate your space.
Shades and Shutters: We offer energy-efficient shades and custom shutters that provide both beauty and practicality.
Motorized Blinds: For ultimate convenience, our motorized window treatments allow you to control your blinds with a remote, smartphone, or even voice commands.
Consultation and Design: Our team of window treatment professionals in Cypress works closely with you to select the perfect window coverings based on your style preferences and functional needs.
With our extensive experience and in-depth knowledge of the latest trends in window treatments, we’re confident that we can create the perfect solutions to enhance the aesthetic and functionality of your home.
Cypress TX Home Improvement: Enhancing Your Space with Window Treatments
At Shady Business Cypress, we understand that home improvement is about more than just updating your kitchen or bathroom. Enhancing your windows is one of the easiest ways to elevate the style of your entire home, and our expert team is here to guide you through every step of the process. We provide high-quality window treatments that complement your home’s design and contribute to its overall functionality.
Why Window Treatments are Essential for Home Improvement:
Increased Curb Appeal: Custom window treatments instantly improve your home’s appearance, giving both the interior and exterior a polished, cohesive look.
Light Control and Privacy: Our window treatments are designed to give you complete control over the amount of natural light entering your home and to enhance your privacy.
Energy Efficiency: Many of our window treatments, such as cellular shades and energy-efficient blinds, help regulate the temperature inside your home, keeping it cooler in summer and warmer in winter, and ultimately saving you on energy bills.
Home Value: Quality window treatments can boost your home’s value, making them an investment in both style and functionality.
Transform Your Home with Shady Business Cypress
If you're ready to take your Cypress TX home improvement to the next level, Shady Business Cypress is here to help. Our team of window treatment professionals in Cypress is dedicated to offering high-quality, customized window coverings that perfectly suit your space and needs.
Why Work With Us?
Expert Consultation: Our experienced professionals guide you through the selection process, ensuring you choose the best window treatments for your home.
Customization: We offer custom window treatments tailored to your exact specifications, ensuring a perfect fit for every window in your home.
Professional Installation: Our team handles all aspects of installation, ensuring your window treatments are mounted securely and work flawlessly.
Long-Lasting Results: We use only the highest quality materials to ensure that your window treatments look beautiful and function perfectly for years to come.
Contact Shady Business Cypress Today!
Whether you're looking to update a single room or embark on a full Cypress TX home improvement project, Shady Business Cypress is the ideal partner for your window treatment needs. Our team of window treatment professionals in Cypress is here to help transform your space with custom-designed window coverings that suit your style and needs.
Call us today at +1 (346) 660-5424 or visit us at our Houston, Texas location to schedule a consultation. Let Shady Business Cypress help you bring your home improvement vision to life with the perfect window treatments!
2 -
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 -
Dependability is a fundamental more modest than common expertise for bosses
New managers a significant part of the time feel that since they have been raised to the heap up they ought to know everything immediately. Truly, it anticipates that adventure should gain capacity with the association styles and approaches that turn out to be cruel for your social affair. Being flexible and being open to the bewildering will assist you with changing into a useful manager. A Roman scientist named NURS FPX 4000 Assessment 4 Analyzing a Current Health Care Problem or Issue Seneca is credited with saying, "Karma slants toward the coordinated." And while karma can earnestly play a consider life, all that verifiably pivots around orchestrating yourself for when incredible karma comes your bearing. Excellent affiliations do this by orchestrating themselves for an entrance through status and planning.
Plan for disappointment and goofs - it's really clever to expect them a lot early so you can lessen the effect. A SWOT assessment (Qualities, Shortcomings, Anticipated open doorways and Risks) is an important instrument for this. The more you plan for a social event the more useful it will be. Approach saves time by lessening blunders, forestalling re-work and shortening works out. And it in addition decreases pressure, which is overall something that would justify being thankful for! Other than being a NURS FPX 4010 Assessment 1 Collaboration and Leadership Reflection Video State financed School English educator, Kine is in this way the head of Ryan Search & Directing and facilitates Held Supervisor Pursue, Help and Drive New turn of events. His clients range different undertakings from Headway to Monetary Associations.
Whether an overwhelming event, network prosperity break or stock association disrupting impact, astounding occasions can emerge whenever. Being available to the unexpected assists you with finding sure results and make depend with your partners. One strategy for doing this is to remain mindful of vulnerability, where you proceed with like the circumstance is both customary and novel. This assists you with expanding your NURS FPX 4010 Assessment 3 Interdisciplinary Plan Proposal data affirmation and seek after the most ideal choice. ClickUp's Business Development Plan Configuration is an incredible contraption for planning the normal and the unforeseen!
Dependability is an essential limited scope ability for bosses to make. Supervisors should be ready to have authentic two-way discussions with specialists and should endeavor to get themselves when they are concealing reality or lying. Fair correspondences among supervisors and representatives can assist with fostering a positive work environment culture and can expect a fundamental part in the connection's prospering. While giving investigation, supervisors ought to convey NURS FPX 4020 Assessment 1 Enhancing Quality and Safety both the positive and negative parts of a representative's show. They ought to in addition have the decision to give obliging assessment and backing workers when essential. This correspondence style is as frequently as conceivable implied as moderate candor.
MORE
Instagram is a powerful tool for businesses
The best digital marketing agencies
Instagram is an amazing asset for businesses -
USBC Interiors | Urban Science Interiors: Your Trusted Partner in Interior Fitout Solutions in Dubai
When it comes to creating stylish, functional, and innovative spaces, USBC Interiors | Urban Science Interiors stands out as one of the leading interior fitout companies in Dubai. Located in the heart of Al Quoz Industrial Area 3, Dubai, our company is dedicated to transforming spaces into visually appealing and practical environments tailored to your specific needs.
Why Choose USBC Interiors for Your Interior Fitout Needs?
At USBC Interiors, we believe that interior fitout is more than just a service—it's an art form. Whether you're renovating your office, retail space, or home, we are here to provide end-to-end interior fitout solutions. From concept design to installation, our team handles it all, ensuring that every detail aligns with your vision.
Here’s why USBC Interiors is the best choice among interior fitout companies in Dubai:
1. Tailored Fitout Solutions
We understand that every space is unique, and so are your requirements. Our team of experts works closely with clients to develop custom interior fitout solutions that meet both aesthetic and functional goals. Whether you’re looking to create a vibrant office environment or a cozy home, our designs reflect your personality and business culture.
2. Quality and Excellence
We use the highest quality materials and the latest technology to ensure that our interior fitout projects are durable, stylish, and sustainable. Our commitment to excellence means that your space will not only look amazing but also stand the test of time.
3. Comprehensive Services
As one of the most respected interior fitout companies in Dubai, we offer a wide range of services, including:
Office Fitouts
Retail Fitouts
Hospitality Fitouts
Residential Fitouts
Design & Conceptualization
Furniture and Fixtures
Project Management
No matter what type of fitout you need, we have the skills and experience to bring your vision to life.
4. Timely Project Completion
We understand that time is valuable, especially when it comes to business operations. That’s why we prioritize efficiency and work hard to complete all projects on time without compromising quality. Our clients can rest assured that their interior fitout will be finished within the agreed timeframe.
5. Expert Team
Our team consists of highly skilled professionals who bring years of experience to every project. From designers to project managers, each team member is committed to providing exceptional service and delivering innovative solutions. Their expertise is the foundation of our success in the highly competitive interior fitout market in Dubai.
USBC Interiors: Serving Dubai’s Diverse Fitout Needs
Located in Building No. 28, Street 20 B - Al Quoz Industrial Area 3 - Dubai, USBC Interiors is perfectly positioned to serve businesses and individuals throughout Dubai and beyond. Our commitment to providing quality interior fitout services has earned us a stellar reputation among clients in various sectors, including commercial, hospitality, and residential.
Whether you're in need of a small office renovation or a complete commercial fitout, USBC Interiors has the expertise to handle projects of any scale. We offer competitive pricing and always ensure that you get the best value for your investment.
Get in Touch with USBC Interiors
Ready to transform your space? Reach out to us today! Our team is available to discuss your project and provide you with a personalized quote. You can contact us at +971 45525858 or visit us at our office in Al Quoz, Dubai.
Trust USBC Interiors | Urban Science Interiors for all your interior fitout needs and experience the difference that our expertise can make. Let’s create beautiful and functional spaces that reflect your vision!2 -
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 -
Matt Hansen: Your Trusted Real Estate Agent in Southeast Idaho
If you're searching for a real estate agent in Southeast Idaho or looking for realtors near Pocatello, ID, Matt Hansen at Keller Williams Realty East Idaho is here to provide expert services tailored to your real estate needs. Whether you're buying or selling, Matt's deep knowledge of the Southeast Idaho market ensures that your experience is as smooth and successful as possible.
Why Choose Matt Hansen as Your Real Estate Agent in Southeast Idaho?
The real estate market in Southeast Idaho offers a unique blend of opportunities, from homes in quiet rural areas to properties in the heart of bustling Pocatello. Understanding these nuances is essential, and that’s where Matt Hansen comes in. As a local expert with years of experience, Matt knows the area inside and out, making him the ideal choice for anyone looking to buy or sell real estate in this region.
Here’s why Matt is the perfect real estate agent in Southeast Idaho:
In-Depth Market Knowledge: Southeast Idaho is diverse, with rural properties, suburban neighborhoods, and city homes all having different characteristics. Matt stays up-to-date on market trends, property values, and community developments, ensuring that you receive the best advice possible when making decisions.
Personalized Service: Every client has unique needs, whether you're a first-time homebuyer or a seasoned investor. Matt takes the time to understand your specific goals and tailors his approach to meet them. He provides guidance through every step of the buying or selling process, ensuring a smooth experience.
Expert Negotiation: One of Matt’s key strengths is his negotiation skills. Whether you’re looking to buy or sell, Matt works diligently to ensure you get the best deal possible. He’ll help you navigate offers, counteroffers, and contingencies with ease.
Local Connections: With years of experience as a real estate agent in Southeast Idaho, Matt has built strong relationships with other professionals in the industry, including mortgage brokers, inspectors, contractors, and more. These connections can be invaluable during your real estate transaction, making the process more efficient and seamless.
Realtors Near Pocatello, ID – Why Matt Hansen Stands Out
Pocatello, ID, is the heart of Southeast Idaho, and if you're searching for realtors near Pocatello, ID, Matt Hansen should be at the top of your list. His extensive experience with Pocatello properties means he has the local insight to help you find the perfect home or investment opportunity.
Expert Knowledge of Pocatello’s Neighborhoods: From historic homes in the city’s core to newer developments on the outskirts, Matt understands the unique characteristics of Pocatello's various neighborhoods. Whether you want to be close to schools, parks, or the city center, he can help you find a location that suits your lifestyle.
Comprehensive Services: Matt provides a full range of services to both buyers and sellers. Whether you’re looking to buy a home in Pocatello or sell an existing property, Matt offers expert guidance throughout the entire process. His goal is to make sure you feel confident and well-informed every step of the way.
Commitment to Client Satisfaction: With Matt, you’re not just another transaction—you're a valued client. His commitment to your satisfaction means he listens to your needs, answers your questions, and provides consistent communication from start to finish.
Why Southeast Idaho is a Great Place to Buy or Sell
Southeast Idaho offers an attractive combination of affordable housing, scenic beauty, and access to outdoor activities. Whether you're drawn to the city life in Pocatello or the quieter charm of rural towns like Chubbuck or Blackfoot, there is something for everyone in this region.
Affordability: Compared to larger cities in Idaho or neighboring states, Southeast Idaho offers a more affordable cost of living, including housing prices, making it an ideal location for first-time homebuyers or those looking to downsize.
Outdoor Recreation: Southeast Idaho is known for its incredible outdoor recreation, including hiking, skiing, and fishing, which makes it an ideal place for those who love nature and an active lifestyle.
Strong Community: The cities and towns of Southeast Idaho are known for their friendly communities and welcoming atmosphere. Whether you're moving to the area for work, school, or retirement, you'll find a tight-knit community ready to make you feel at home.
Contact Matt Hansen for Your Real Estate Needs
If you're ready to work with an experienced real estate agent in Southeast Idaho, Matt Hansen at Keller Williams Realty East Idaho is ready to assist you.
Contact Matt Hansen Today
Matt Hansen – Keller Williams Realty East Idaho
1777 E. Clark St. #110, Pocatello, Idaho 83201
Phone: +1 208-220-05663 -
Bayla Postpartum Care: Premier Night Nurse Services and Newborn Care Agency in Miami Beach and Hallandale
The arrival of a newborn is an exciting and joyous occasion, but it can also be a time of uncertainty and fatigue. At Bayla Postpartum Care, we are dedicated to providing expert support for new parents, offering trusted night nurse services in Hallandale and exceptional newborn care agency services in Miami Beach. Whether you need overnight assistance or professional care for your baby during the day, our team of experienced caregivers is here to ensure both you and your newborn thrive.
Conveniently located at 9540 W Bay Harbor Dr, Bay Harbor Islands, FL 33154, we proudly serve families throughout Miami Beach, Hallandale, and surrounding areas, delivering personalized and compassionate care during this special time.
Night Nurse Services in Hallandale: Helping Parents Rest and Recover
One of the most challenging aspects of new parenthood is sleep deprivation. Babies, especially in their first few months, often wake multiple times during the night for feedings, diaper changes, and comfort. At Bayla Postpartum Care, we understand how exhausting this can be for parents. Our night nurse services in Hallandale are designed to give you the support you need, allowing you to get the rest and recovery time that’s essential for both your physical and emotional well-being.
Our night nurses provide expert, hands-on care for your baby overnight, so you don’t have to worry about the late-night tasks. Here's how our night nurse services can help:
Overnight Newborn Care: Our trained night nurses will handle all the overnight care your newborn requires, including diapering, feeding, and comforting your baby when they wake.
Sleep Training Support: Our night nurses work with you to establish a healthy sleep routine for your baby, helping them to sleep more soundly and consistently.
Breastfeeding and Bottle-Feeding Assistance: Whether you’re breastfeeding or bottle-feeding, we provide support with feeding techniques, ensuring your baby is well-nourished and content.
Health and Safety Monitoring: Our night nurses ensure your baby’s health and safety while you sleep, monitoring their well-being and providing any necessary interventions if something unusual arises.
Having a night nurse in Hallandale means you can finally get some much-needed rest, knowing that your baby is in expert hands. With our support, you’ll feel more refreshed and prepared to take on each day with energy and confidence.
Newborn Care Agency in Miami Beach: Comprehensive Care for Your Baby
As a trusted newborn care agency in Miami Beach, Bayla Postpartum Care is here to guide and support you through the early stages of parenthood. We provide a range of newborn care services that focus on the health, comfort, and development of your baby while also supporting you as new parents.
Our team of experienced newborn care professionals offers the following services:
Feeding Support: Whether you're breastfeeding or formula feeding, we provide expert advice and hands-on assistance to ensure that your baby is feeding effectively and comfortably. Our team helps with positioning, troubleshooting common issues, and establishing a feeding routine.
Diapering and Hygiene: Our caregivers are well-versed in the practicalities of newborn care, from diaper changes to bathing and keeping your baby clean and comfortable.
Sleep Routines: We help establish a sleep schedule that works for your baby, promoting healthy sleep habits that will benefit them in the months and years to come.
Health Monitoring: Our newborn care specialists closely monitor your baby’s health and growth, checking their weight, development milestones, and overall well-being.
Parental Education and Support: As a newborn care agency in Miami Beach, we also provide new parents with valuable education on infant care, including safe sleep practices, soothing techniques, and more.
Our newborn care agency in Miami Beach is designed to provide both parents and babies with the care and support needed during those early weeks and months. We understand the unique needs of each family, so we create tailored care plans to meet your specific situation.
Why Choose Bayla Postpartum Care?
Experienced Professionals: Our team consists of highly trained, experienced caregivers and certified nurses who specialize in newborn care and postpartum support.
Personalized Care Plans: At Bayla Postpartum Care, we don’t believe in a one-size-fits-all approach. Our services are personalized to meet your unique needs, whether you need night nurse services in Hallandale or comprehensive newborn care in Miami Beach.
Compassionate and Supportive Team: We understand that the postpartum period can be emotionally challenging. Our team is here not just to care for your baby, but also to provide emotional support and guidance to new parents.
5 -
I fucking hate mobile and iPad ui and general ux. I hate that I get shit for not being able to fix people's problems on them quickly enough with or without googling. Apparently that's my fucking line of work, no I'm just a fucking code monkey, I don't know where whichever asshat hide the setting to Jimmy or abysmal fucking browser implementations in fucking mobile chrome that makes it unable for you to buy car parts but it fucking works fine on a desktop browser. I ront want to reset your fucking weak passwords because you never remember them.
I can't even change my fucking phones background, or figure out or I lack voicemail because my plan or the fucking optoknnisnt present (one plus 2) and don't care enough to put more time or google it.
Maybe I'm just fucking incompetent. I like being able just to right click shift on desktop, going to properties or running both commands.
I never will stop being an imposter until I can fucking fix anything like a legit engineer. -
Dallas Remodeling Group: Expert Flooring Finishes in Irving, TX
At Dallas Remodeling Group, we specialize in providing high-quality flooring installation and remodeling services for homes and businesses in Irving, TX and the surrounding areas. Our team is committed to offering flooring solutions that fit your unique style and needs. One of the key aspects of a beautiful floor is the finish, and we offer a range of finishes to help you achieve the perfect look for your space. Whether you prefer a satin finish, matte finish, glossy finish, semi-gloss finish, or high-gloss finish, we have the perfect solution for you. Let us help you find the right flooring finish to enhance the beauty of your home or business.
Satin Finish: A Balanced Look
A satin finish provides the perfect balance between a glossy shine and a matte appearance. With a soft, velvety look, satin finish floors have a subtle sheen that enhances the natural beauty of the material while hiding fingerprints and dust more effectively than high-gloss finishes. Satin finish flooring is ideal for spaces that see moderate foot traffic, such as living rooms, bedrooms, and hallways. This finish provides a sophisticated yet low-maintenance solution that works well with almost any décor. At Dallas Remodeling Group, we offer satin finishes for hardwood, tile, and engineered wood floors, ensuring a beautiful and functional finish that is easy to maintain.
Matte Finish: A Contemporary, Low-Key Look
For those who prefer a more understated and modern look, the matte finish is an excellent choice. Matte floors have no shine, giving them a sleek, minimalist appearance that suits contemporary and industrial-style interiors. This finish helps hide imperfections, such as scratches and dust, and is often favored in high-traffic areas like kitchens and entryways. Matte finish flooring is also perfect for rustic or natural looks, such as reclaimed wood or stone tiles. At Dallas Remodeling Group, we can install matte finish flooring to create a sophisticated, modern atmosphere in your home or business.
Glossy Finish: A Bright and Shiny Appearance
If you’re looking for a finish that makes a statement, a glossy finish might be just what you need. Glossy floors have a high-shine, reflective surface that catches and amplifies light, making your space feel brighter and more open. This finish works especially well in formal areas like dining rooms or living rooms, as it adds a touch of elegance and luxury. While it requires more maintenance to keep it looking pristine, a glossy finish brings out the beauty of materials like wood, stone, and tile. At Dallas Remodeling Group, we offer professional installation of glossy finishes that will help your floors shine in all the right ways.
Semi-Gloss Finish: The Best of Both Worlds
The semi-gloss finish offers the perfect middle ground between glossy and satin finishes. It provides a subtle shine that enhances the richness of your floors while still being practical and easy to maintain. Semi-gloss floors are durable and more resistant to stains and dirt than matte finishes, making them an ideal choice for high-traffic areas, such as kitchens, bathrooms, and entryways. This finish is especially popular for hardwood floors, as it allows the natural grain to show through while providing a polished, elegant look. With a semi-gloss finish from Dallas Remodeling Group, you can enjoy the beauty of your floors with a functional and low-maintenance solution.
High-Gloss Finish: Unmatched Shine and Elegance
For a truly stunning, high-end appearance, a high-gloss finish provides unmatched shine and elegance. High-gloss floors are highly reflective, giving them a mirror-like appearance that can make even the simplest room look grand. This finish is often used in luxury homes, offices, and showrooms, where aesthetics and style are paramount. High-gloss floors are also incredibly durable and easy to clean, as the glossy surface repels dirt and dust. However, they do require regular maintenance to keep them looking their best. At Dallas Remodeling Group, we offer high-gloss finishes for a range of flooring materials, from wood to tile, ensuring your space has a bold, sophisticated look that catches the eye.
Why Choose Dallas Remodeling Group?
At Dallas Remodeling Group, we understand that the right floor finish can dramatically change the look and feel of your space. Whether you prefer a satin finish, matte finish, glossy finish, semi-gloss finish, or high-gloss finish, our expert team will help you choose the perfect finish that complements your style, needs, and budget. We offer professional installation, ensuring your floors are finished to perfection.2 -
!rant
Looking for help starting with DevOps.
Does anyone know of a site or forum where you can talk about general coding/scripting patterns rather than just asking specific questions?
Bear with me, this may be a bit longer than most posts here.
I'm a self-taught admin/tech working with one colleague (who's also mostly self taught) at a high school, managing both clients and servers.
We've been doing most things manually bit I'm looking into converting as much work as possible into more of a DevOps setup, with Powershell-scripts for multi step tasks.
I want to do this for a number of reasons. Having a script doing a number of steps would cut down on time spent on individual tasks and minimize the risk that a step is missed or, perhaps even worse, mistyped. Also it's important that I actually learn what I'm doing, why something works and why something fails.
As and example, I have a powershell-script which moves a student from one year to another (basically they have user names with a two-digit prefix based on the year they started and a suffix with two letters from their first names and four from their last names) if they need to repeat a grade.
It basically renames the account in the AD with the correct year-prefix, changes the samAccountName, renames Home and Profile-directories on disk and changes paths on the profile-tab in AD, moves the user into a new OU and security group etc.
It works as intended if the user account to be renamed exists and there's no name conflict with the new name. But I'd like for the script to validate that there's no problem with user names, source and target security groups and OUs etc. and eventually split the script up into smaller clearly defined functions for better readability.
However, I don't want someone to just write the script for me, I'd prefer to be able to discuss script flow and come to my own conclusions and solutions.1 -
Puran Crypto Recovery: The Best Cryptocurrency Recovery Agency Helping Victims Reclaim Their Lost Assets
The Puran Approach to Recovery: A Step-by-Step Process
Recovering stolen crypto is a meticulous process that involves several critical steps. Here’s how Puran Crypto Recovery handles each case:
Initial Consultation: Puran starts by understanding the nature of the scam and gathering all relevant details from the victim. This step ensures a tailored recovery plan for each case.
Evidence Collection: Puran’s team helps victims compile essential evidence, including transaction IDs, wallet addresses, and communication records with scammers.
Blockchain Tracing: Using advanced tools, Puran traces stolen funds through the blockchain, identifying where the assets were transferred and potentially uncovering the identities of those involved.
Collaboration with Authorities: Once the funds' trail is established, Puran works with law enforcement and regulatory bodies to secure legal support for recovery.
Recovery and Resolution: The final step involves reclaiming the stolen funds and returning them to the victim’s wallet, ensuring the process is completed securely and transparently.
The world of cryptocurrency is both exciting and perilous, offering opportunities for growth but also vulnerabilities to exploitation. If you’ve been targeted by crypto thieves, don’t lose hope. With Puran Crypto Recovery, you’re in the hands of the best cryptocurrency recovery agency. Their team of experts works tirelessly to trace stolen assets, collaborate with authorities, and ensure victims recover what’s rightfully theirs.
For personalized support and expert guidance, contact Puran Crypto Recovery at purancryptorecovery@contactpuran.co.site. Visit their website at Puran.Online to learn more about their services and start your journey to recovery today.1 -
CHANCES OF CRYPTO RECOVERY OPTIONS:USE SPARTAN TECH GROUP RETRIEVAL
WhatsApp:+1 (971) 4 8 7 - 3 5 3 8
Email: spartantech (@) cyberservices . com
Telegram:+1 (581) 2 8 6 - 8 0 9 2
For many individuals and businesses, the experience of financial loss, whether caused by cyberattacks, data breaches, or unforeseen events, can feel overwhelming and intimidating. The emotional and financial toll can be immense, leaving people uncertain of where to turn. In these challenging times, SPARTAN TECH GROUP RETRIEVAL offers a crucial lifeline, providing expert services that guide clients through the recovery process with both skill and compassion. At SPARTAN TECH GROUP RETRIEVAL, the team recognizes the profound impact financial loss can have on clients, not only in terms of their finances but also on their sense of security and well-being. Their highly trained professionals specialize in assessing the full extent of damage caused by various disruptions, carefully identifying the underlying issues and working to develop tailored recovery strategies. Whether the challenge involves restoring lost data, recovering compromised systems, or securing vulnerable networks, SPARTAN TECH GROUP RETRIEVAL utilizes the latest technology and industry best practices to restore both operational efficiency and peace of mind. Data loss can be a particularly devastating consequence of a cyberattack or system failure. In a world where information is the lifeblood of businesses, recovering lost or corrupted data is crucial to regaining normal operations. SPARTAN TECH GROUP RETRIEVAL’s experts employ advanced data recovery techniques to retrieve vital information, ensuring that clients do not suffer irreversible setbacks. By recovering valuable data, they allow businesses to continue their operations with minimal disruption. Beyond data recovery, SPARTAN TECH GROUP RETRIEVAL excels at restoring and securing compromised systems. After a breach or attack, the threat of future vulnerabilities looms large. The team’s cybersecurity experts take swift action to secure networks and systems, implementing robust protection measures to defend against future threats. Through a combination of proactive monitoring, vulnerability assessments, and real-time security solutions, SPARTAN TECH GROUP RETRIEVAL works tirelessly to ensure that businesses and individuals can rebuild trust and safeguard their digital assets for the long term. However, what truly distinguishes SPARTAN TECH GROUP RETRIEVAL is its unwavering commitment to client care. While the technical aspects of recovery are vital, the company understands the emotional strain that often accompanies financial loss. Their compassionate case managers offer much-needed emotional support and practical guidance, helping clients navigate both the logistical and psychological challenges they face. By addressing the emotional as well as the practical aspects of recovery, SPARTAN TECH GROUP RETRIEVAL ensures that clients feel understood and supported throughout the entire process. In the face of financial hardship, SPARTAN TECH GROUP RETRIEVAL is a trusted partner that combines technical expertise with empathy and dedication. Their holistic approach ensures that businesses and individuals can recover, rebuild, and emerge from financial challenges stronger, more secure, and better prepared for the future.
1 -
Transform Your Smile with Meiplus Dentalcare: Your Trusted Dentist Near Katong
At Meiplus Dentalcare, we understand the importance of a confident smile. Located at 1 Tanjong Pagar Plaza, #02-24, Singapore 082001, we specialize in a wide range of dental treatments, from veneers to smile makeovers, and offer services that enhance both the appearance and health of your teeth. Whether you're looking for teeth whitening, veneers, or the expertise of a Korean dentist, we’re here to give you the smile you’ve always dreamed of.
If you're searching for a Katong dental clinic with expert care, Meiplus Dentalcare is conveniently located near you, offering professional and personalized dental solutions.
Veneers: Achieving a Perfect Smile with Confidence
One of the most popular treatments we offer is veneers. Veneers are thin, custom-made shells that are applied to the front of your teeth to improve their appearance. They are ideal for correcting a variety of cosmetic issues, including chipped, stained, or misaligned teeth. Veneers can give you a natural, uniform look with minimal tooth preparation.
Whether you're looking to enhance a single tooth or get a complete transformation, our experienced team at Meiplus Dentalcare is here to help. Our veneers are crafted to blend seamlessly with your natural teeth, giving you a radiant smile that lasts.
Smile Makeover: A Complete Transformation of Your Smile
A smile makeover is a comprehensive approach to improving your smile’s appearance. This treatment can combine various cosmetic procedures, such as veneers, teeth whitening, and even dental implants, to address multiple concerns at once. If you're unhappy with your smile due to gaps, misalignment, or discoloration, a smile makeover can help you achieve a balanced and harmonious appearance.
Our team of dental experts will work with you to create a personalized treatment plan, ensuring that your smile makeover fits your goals and enhances your natural beauty.
Teeth Whitening: A Bright, Radiant Smile
If you're looking to brighten your smile, teeth whitening is an excellent solution. Over time, your teeth can become stained from food, drinks, and aging. Our professional teeth whitening services at Meiplus Dentalcare can help restore your teeth to their natural brightness, leaving you with a vibrant, youthful smile.
We offer both in-office and take-home whitening options, so you can choose the treatment that works best for your lifestyle. Whether you need a quick touch-up before a special event or a more extensive treatment, our team is here to help you achieve your whitening goals.
Korean Dentist Expertise: High-Quality Dental Care
If you are looking for a Korean dentist who combines modern dental practices with a personalized approach, look no further. At Meiplus Dentalcare, our team includes skilled professionals who are well-versed in Korean dental techniques, known for their precision and high standards. We bring this expertise to every treatment we offer, from veneers and teeth whitening to more complex procedures, ensuring that you receive the best care possible.
Our Korean dentist specialists are dedicated to providing excellent care with attention to detail, ensuring that your dental experience is comfortable and that your results are exceptional.
Why Choose Meiplus Dentalcare Near Katong?
For those in the Katong area, Meiplus Dentalcare offers a convenient and trusted solution for all your dental needs. Whether you need a smile makeover, veneers, teeth whitening, or expert care from a Korean dentist, we are here to help you achieve a stunning smile. Our clinic is centrally located, making it easy for you to visit for regular check-ups or more specialized treatments.
We pride ourselves on using the latest dental technologies and techniques to deliver the best outcomes for our patients. We also offer a personalized approach, ensuring that each treatment is tailored to your individual needs.
Contact Us Today
Ready to get the smile you deserve? If you are looking for a trusted Katong dental clinic, Meiplus Dentalcare is here to provide the best in dental care and aesthetic treatments. Whether you are interested in veneers, a complete smile makeover, or want to brighten your smile with teeth whitening, our expert team is ready to assist you.
Call us today at +65 6538 1400 to schedule your consultation or learn more about our services. Let us help you achieve a beautiful, confident smile!2 -
Melodious Piano Studio: Affordable Piano Lessons and Private Music Teachers in East Singapore
If you’re looking for affordable piano lessons near me, a private music teacher near me, or piano lessons East Singapore near me, Melodious Piano Studio in Tampines is your trusted choice. Conveniently located at 820 Tampines Street 81, #02-514, Singapore 520820, we offer personalized piano lessons for students of all ages and skill levels. Whether you're a beginner or looking to refine your skills, our affordable and high-quality lessons are designed to help you achieve your musical goals.
Affordable Piano Lessons Near Me – Quality Education at Competitive Prices
At Melodious Piano Studio, we understand that cost is an important factor when choosing piano lessons. That's why we are proud to offer affordable piano lessons near me without compromising on the quality of education. Our lessons are designed to be accessible to students of all ages, whether you're a child, teenager, or adult.
We believe that learning the piano should be an enjoyable and enriching experience, not an expensive one. Our pricing is competitive, ensuring that you get value for money while receiving top-notch piano instruction from experienced and dedicated teachers.
Whether you’re interested in classical piano, pop, or jazz, we cater to a wide range of musical interests, making our affordable piano lessons suitable for anyone looking to start their musical journey.
Private Music Teacher Near Me – Personalized Instruction for Every Student
Looking for a private music teacher near me? At Melodious Piano Studio, we offer private piano lessons that are tailored specifically to your needs and goals. Our private lessons are perfect for those who prefer one-on-one instruction and want a personalized learning experience.
With a private music teacher near me, you’ll receive individual attention, allowing you to progress at your own pace. Whether you're learning to play for fun, preparing for an exam, or aiming to improve specific skills, our instructors work with you to create a lesson plan that aligns with your interests and musical aspirations.
We have highly qualified and experienced piano instructors who specialize in different musical genres, from classical to contemporary music. This personalized approach ensures that you get the most out of each lesson.
Piano Lessons East Singapore Near Me – Convenient and Accessible for All
If you're searching for piano lessons East Singapore near me, Melodious Piano Studio is ideally located to serve students in East Singapore, especially those living in or around Tampines. Our studio offers a convenient location for anyone seeking quality piano instruction in the eastern part of Singapore.
Our piano lessons are designed to accommodate students of all ages and skill levels. Whether you're looking for piano lessons for kids, adult piano lessons, or even advanced piano training, we offer a variety of lesson options to fit your needs. We provide both individual and group classes, giving you the flexibility to choose the learning style that works best for you.
Why Choose Melodious Piano Studio?
Affordable and Quality Lessons: We offer affordable piano lessons near me that provide excellent value for money. Our lessons are designed to be accessible without compromising on the quality of instruction.
Private Music Teachers: Our private music teachers near me offer personalized, one-on-one lessons that are tailored to your goals and musical preferences.
Convenient Location: Located at 820 Tampines Street 81, #02-514, our studio is easily accessible for those seeking piano lessons East Singapore near me. We’re centrally located in the East, making it convenient for students from surrounding neighborhoods.
All Ages and Skill Levels: Whether you’re a child just starting out, a teenager looking to advance, or an adult rediscovering your love for music, we offer piano lessons for all ages and abilities.
Experienced Instructors: Our team of experienced and passionate instructors is committed to providing high-quality piano education. They adapt each lesson to your individual pace, making learning fun and rewarding.
Start Your Piano Journey Today
If you're ready to start your piano learning journey and are looking for affordable piano lessons near me, a private music teacher near me, or piano lessons East Singapore near me, Melodious Piano Studio is the perfect place for you. Our expert teachers and flexible lesson options make learning the piano easy and enjoyable.
Contact us today at +65 9699 3214 to find out more about our lessons or to schedule your first lesson. Join us at Melodious Piano Studio and discover the joy of playing the piano!
1 -
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 -
Maplewood Greens: Affordable Wedding Venues, Event Spaces, and Banquet Halls in Renton, WA
Are you searching for affordable wedding venues near me, a versatile event venue with catering near me, or the perfect banquet halls near 98058 for your upcoming event? Maplewood Greens, located at 4050 Maple Valley Hwy, Renton, WA 98058, is your ideal destination for all your event needs. Whether you're planning a wedding, corporate function, or party, our venue offers beautiful spaces, exceptional service, and affordable pricing to make your event memorable.
Affordable Wedding Venues Near Me
If you're dreaming of a beautiful wedding without breaking the bank, Maplewood Greens is the perfect place for you. We are proud to offer affordable wedding venues near me that don’t compromise on elegance or service. Our venue provides a stunning backdrop for your wedding ceremony and reception, with both indoor and outdoor options to fit your style.
We understand that planning a wedding can be stressful, which is why we offer customizable wedding packages to meet your budget and vision. From the moment you walk down the aisle to your first dance, our dedicated team works with you every step of the way to make sure your big day is seamless and unforgettable.
Event Venue with Catering Near Me
Finding an event venue with catering near me can be challenging, but Maplewood Greens makes it easy! We offer on-site catering services, ensuring that your guests enjoy a delicious and memorable meal at your event. Whether you're hosting a wedding, corporate meeting, or special celebration, our talented chefs create menus tailored to your preferences and dietary requirements.
In addition to our outstanding catering, our event venues are designed to accommodate a variety of gatherings. From intimate receptions to large-scale celebrations, Maplewood Greens offers the perfect space for your next event, with all the amenities you need to make it a success.
Banquet Halls Near 98058
If you're specifically looking for banquet halls near 98058, Maplewood Greens offers some of the most elegant and versatile banquet halls in Renton. Whether you're planning a formal banquet, a fundraiser, or a special occasion, our spacious halls provide the perfect setting. We offer flexible layouts, professional event coordination, and high-quality amenities to ensure your banquet is flawless.
Our venue is designed to accommodate groups of all sizes, and with customizable banquet packages, you can create an event that perfectly fits your needs. Whether it’s a seated dinner or a cocktail-style reception, we have the ideal space to bring your vision to life.
Venue for Parties Near Me
Looking for a venue for parties near me that offers both fun and convenience? Maplewood Greens is the perfect place to host your next party. Whether it’s a birthday bash, anniversary celebration, or holiday party, we provide a vibrant, spacious venue to make your celebration unforgettable. Our event spaces are designed to accommodate everything from intimate gatherings to large-scale parties, and our team is here to assist with everything from décor to catering.
Our venue offers plenty of room for dancing, mingling, and entertainment, with ample parking for all your guests. With customizable party packages and a range of services to choose from, Maplewood Greens ensures your next party is one for the books.
Why Choose Maplewood Greens?
Affordable Options: We offer affordable wedding venues near me and event packages that provide excellent value without sacrificing quality. We believe every event deserves to be memorable, no matter your budget.
Comprehensive Services: From on-site catering and décor to event planning and coordination, we offer a range of services to ensure your event is seamless and stress-free.
Versatile Spaces: Whether you're looking for banquet halls near 98058, a venue for parties near me, or a place to host a wedding or corporate gathering, Maplewood Greens offers flexible event spaces to fit your needs.
Convenient Location: Conveniently located at 4050 Maple Valley Hwy, Renton, WA 98058, Maplewood Greens is easily accessible from throughout the greater Seattle area.
Experienced Team: Our team is dedicated to making your event a success, providing personalized service and expert guidance every step of the way.1 -
Aspley Elite Dental Care: Your Trusted Dentist in Aspley and Brisbane
If you're looking for a reliable and trusted dentist in Aspley or dentist in Brisbane, Aspley Elite Dental Care is here to serve you with top-quality dental care tailored to your needs. We specialize in a wide range of dental treatments, including dental veneers and dental implants in Brisbane, all designed to give you the perfect smile. Our team is committed to providing exceptional service in a comfortable and caring environment.
Why Choose Aspley Elite Dental Care?
At Aspley Elite Dental Care, we understand that visiting the dentist can sometimes be a daunting experience, but our team works hard to make your visit as pleasant and stress-free as possible. Here are a few reasons why you should choose us for your dental needs:
1. Expert Dentists with Years of Experience
Our team of highly skilled and experienced dentists are dedicated to providing the best possible care. With years of practice, we can offer a wide range of services from routine check-ups to advanced treatments such as dental implants and dental veneers in Brisbane. We ensure that you receive treatment that is not only effective but also personalized for your unique dental needs.
2. Comprehensive Dental Services
Whether you need a routine cleaning, dental veneers, dental implants, or more complex procedures, our clinic has the expertise to handle it all. Our dental veneers in Brisbane can help enhance the appearance of your smile, correcting issues like stains, chips, and misalignment. If you're dealing with missing or damaged teeth, our dental implants in Brisbane provide a durable and natural-looking solution, restoring your confidence and functionality.
3. State-of-the-Art Technology
We use the latest technology in dentistry to ensure that our patients receive the best care possible. From digital X-rays to advanced implant techniques, our clinic is equipped with state-of-the-art tools to provide accurate diagnoses and effective treatments.
4. Patient-Centered Care
At Aspley Elite Dental Care, we prioritize your comfort and well-being. We take the time to listen to your concerns and explain every step of the treatment process. Our goal is to make you feel at ease while delivering high-quality dental care.
5. Convenient Location
Located at 7b/1344 Gympie Rd, Aspley QLD 4034, Australia, our clinic is easily accessible to both Aspley residents and those traveling from other parts of Brisbane. We offer flexible appointment scheduling to fit into your busy lifestyle.
Services We Offer
Dental Veneers in Brisbane
If you're looking to improve the aesthetics of your smile, dental veneers might be the perfect solution. Veneers are thin shells made from durable material that are placed over the front of your teeth, covering imperfections such as stains, cracks, or chips. At Aspley Elite Dental Care, we offer custom-made veneers that blend seamlessly with your natural teeth, providing you with a flawless smile.
Dental Implants in Brisbane
Missing teeth can affect your confidence and oral health, but dental implants offer a long-lasting solution. Dental implants are titanium posts surgically placed into your jawbone, acting as replacements for missing teeth. The implants provide a solid foundation for artificial teeth, restoring both function and aesthetics. Our team is highly skilled in dental implant procedures, ensuring that your treatment is safe, effective, and comfortable.
General Dentistry and Preventive Care
In addition to specialized treatments like veneers and implants, we offer comprehensive general dentistry services. Our preventive care includes routine check-ups, cleanings, fillings, and more. Regular dental visits help catch potential issues early, ensuring that your smile stays healthy and bright.
Contact Us Today
If you're looking for a dentist in Aspley or dentist in Brisbane, don't hesitate to get in touch with us at Aspley Elite Dental Care. We’re here to provide you with exceptional dental care in a welcoming and comfortable environment. Contact us at +61731619623 to schedule an appointment or visit us at our convenient location: 7b/1344 Gympie Rd, Aspley QLD 4034.
Take the first step towards a healthier and more beautiful smile today. We look forward to seeing you soon!2 -
My upright A/C doesn't have both an outside intake and exhaust, just an outside exhaust, so it intakes through the back.
My cat S&D'd right next to the intake while it was on full blast.
just had to evacuate the room and pull the smell out with my grandpa's weird closed-door air purifier thing
(it goes across the entire doorgap at top and bottom and is basically a massive vacuum that sucks everything through an industrial air filter and blows it back into the room cleaner on the other side, looks and works well for being homemade)
on second thought where do all these strange gadgets my family has come from -
Ideal Car Solutions, LLC: Your Premier Destination for Used Cars in Oklahoma City
If you're looking for used cars for sale in Oklahoma City, Ideal Car Solutions, LLC is your trusted Oklahoma City car dealer. Located at 3701 S Pennsylvania Ave, Oklahoma City, OK 73119, we specialize in offering a wide selection of quality cars in Oklahoma City, including a variety of pre-owned cars in Oklahoma City that cater to every need and budget. Whether you're in the market for a sedan, SUV, truck, or any other vehicle, our goal is to provide you with an exceptional car-buying experience that is affordable, reliable, and enjoyable.
Why Choose Ideal Car Solutions, LLC?
As a top-rated Oklahoma car dealership, Ideal Car Solutions, LLC is committed to offering quality cars in Oklahoma City at prices that fit your budget. We pride ourselves on providing a wide range of pre-owned cars in Oklahoma City that have been thoroughly inspected for performance and reliability. Our team works hard to ensure that each car we sell is of the highest quality, so you can feel confident in your purchase.
Whether you’re looking for a used car dealer in Oklahoma with a reputation for excellent customer service or you need help finding the right vehicle, Ideal Car Solutions, LLC is the place to go. We understand that buying a car is a significant investment, and we are here to make the process as easy and transparent as possible.
A Wide Selection of Used Cars for Sale in Oklahoma City
At Ideal Car Solutions, LLC, we offer a diverse inventory of used cars for sale in Oklahoma City, including both certified pre-owned vehicles and high-quality pre-owned cars. Our selection includes everything from budget-friendly compact cars to spacious family SUVs and durable trucks, making it easy to find a vehicle that meets your specific needs.
Our used car dealer Oklahoma services ensure that every car in our inventory is fully inspected, so you can drive away knowing that your new ride will provide dependable service for years to come. We believe in providing value without compromising on quality, and that's why our customers trust us for all their car-buying needs.
Quality Pre-Owned Cars in Oklahoma City
At Ideal Car Solutions, LLC, we specialize in offering quality pre-owned cars in Oklahoma City. Each vehicle in our inventory undergoes a thorough inspection to ensure it meets our high standards for safety, performance, and overall condition. We believe that buying a used car should be a stress-free experience, which is why we only offer cars that are in top condition and ready to hit the road.
Whether you’re looking for a reliable commuter car or a family-friendly SUV, we have a variety of options to choose from. Our pre-owned cars in Oklahoma City are selected for their durability and value, ensuring you get the best possible deal without compromising on quality.
Your Trusted Oklahoma City Car Dealer
As a trusted Oklahoma City car dealer, we take pride in our reputation for offering a wide range of vehicles at competitive prices. Our team is dedicated to providing exceptional customer service and helping you find the perfect vehicle for your needs. We take the time to listen to your preferences and help you make an informed decision, ensuring that you get the best car for your lifestyle.
Whether you’re visiting us in person at our convenient location at 3701 S Pennsylvania Ave or giving us a call at +1 (405) 681-2322, you can count on our team to provide the support and guidance you need throughout the car-buying process.
Visit Ideal Car Solutions, LLC Today!
If you're ready to explore our inventory of used cars for sale in Oklahoma City, visit Ideal Car Solutions, LLC today! Our friendly and knowledgeable team is here to help you find the perfect car to fit your needs and budget. From the moment you walk in the door, we’ll work hard to make your car-buying experience as smooth as possible.
Whether you're looking for a pre-owned car in Oklahoma City or need assistance with financing, we are here to assist you every step of the way. Visit us today at Ideal Car Solutions, LLC, your trusted used car dealer in Oklahoma, or contact us at +1 (405) 681-2322 to schedule a test drive or learn more about our inventory.
At Ideal Car Solutions, LLC, we are proud to be your go-to Oklahoma car dealership, offering high-quality, affordable vehicles and excellent customer service in the heart of Oklahoma City!2 -
GET WEB BAILIFF CONTRACTORS TO ADJUST YOUR SCHOOL GRADES
For Alex, school was a rollercoaster. Art was their sanctuary, where creativity thrived, but math and science felt like unsolvable puzzles. The latest report card hit hard: failing grades in both, jeopardizing college dreams. Anxiety crept in, and hope faded.One day, while venting to a friend, Alex got a tip: “Check out Web Bailiff Contractor. They’re experts at turning grades around with tailored tutoring.” Desperate, Alex visited their site. Testimonials glowed with stories of students like them finding success.Hesitant but curious, Alex signed up for a session. The tutor was a game-changer—patient, breaking down complex ideas into clear steps. For the first time, equations clicked, and formulas made sense. With each meeting, Web Bailiff Contractor offered study tricks and steady encouragement.Weeks flew by, and Alex’s efforts paid off. Homework wasn’t a nightmare anymore, and test scores climbed. By semester’s end, failing marks transformed into A’s. Teachers were stunned; Alex was elated.Beyond grades, Alex found confidence. Seeking help wasn’t defeat—it was empowerment. Web Bailiff Contractor’s expertise didn’t just change grades; it changed Alex’s future.If your grades are slipping, don’t wait. Web Bailiff Contractor offers personalized support that works. Their tutors guide you through tough subjects, building skills and self-belief. Reach out—they’re the real deal for academic success. -
R.O.I. Solar Power: Empowering Homes and Businesses with Solar Energy Solutions in Lodi, CA
At R.O.I. Solar Power, located at 2000 W Turner Rd, Lodi, CA 95242, we specialize in providing top-tier solar energy solutions for both residential and commercial clients. Whether you’re looking to reduce your energy bills, increase energy independence, or make an eco-friendly choice, our team is here to guide you every step of the way. From solar panel installation to solar battery integration, we offer a range of services to meet your unique energy needs.
Residential Solar: Clean, Affordable Energy for Your Home
As the demand for renewable energy rises, residential solar systems have become a popular choice for homeowners looking to lower their utility bills and reduce their environmental impact. At R.O.I. Solar Power, we offer efficient solar panel installations that maximize energy production and minimize your reliance on the grid. Our expert team works with you to design a customized solar energy system that fits your home and meets your specific power needs.
With our high-quality solar panels, you can enjoy reliable and clean energy, reducing your carbon footprint while saving money on electricity costs. We use industry-leading technology to ensure that your solar system performs at its best for years to come.
Solar Battery Storage: Maximizing Your Solar Energy Investment
To make your solar energy system even more effective, we offer solar battery storage solutions. A solar battery allows you to store excess energy generated during the day for use at night or during power outages. This helps you get the most out of your solar panels and reduces your dependence on the grid. By adding a solar battery to your system, you can increase your energy independence and ensure that you always have power when you need it most.
Whether you're looking to supplement your residential solar system or build a more self-sufficient energy solution, R.O.I. Solar Power has the expertise to design and install the perfect system for your needs.
Main Panel Upgrade: Preparing Your Home for Solar Power
Before installing your solar system, it may be necessary to upgrade your electrical main panel to ensure that it can handle the increased load of solar energy and other modern electrical demands. At R.O.I. Solar Power, we offer professional main panel upgrades to ensure that your electrical system is ready for solar panel integration and that your home is safe and efficient.
Upgrading your electrical panel is an important step in modernizing your home’s power infrastructure and ensuring optimal performance for your solar panel installation. Our team will guide you through the process, ensuring that everything is done to the highest standards of safety and reliability.
Why Choose R.O.I. Solar Power?
Expert Solar Panel Installation: We provide professional solar panel installations using the latest technology to ensure your system delivers optimal performance.
Customized Residential Solutions: Our team specializes in creating tailored residential solar solutions that meet the energy needs of your home.
Solar Battery Integration: We offer cutting-edge solar battery systems that allow you to store and use your solar energy anytime, even during a power outage.
Main Panel Upgrades: If necessary, we perform electrical main panel upgrades to ensure your home’s electrical system is ready for solar power.
Commitment to Quality: At R.O.I. Solar Power, we prioritize safety, efficiency, and customer satisfaction in every project.
Get Started with R.O.I. Solar Power Today!
Transform your home with clean, reliable, and cost-effective solar energy. Whether you’re interested in solar panel installation, adding a solar battery, or upgrading your main panel, R.O.I. Solar Power is your trusted partner in Lodi, CA. Contact us today at +1-209-600-4433 to learn more about how we can help you take the next step toward energy independence and sustainability.1 -
Transform Your Space with Expert Vinyl Installation from Herman Renovations in Florida
At Herman Renovations, we understand that choosing the right flooring for your home is essential to both its style and functionality. Vinyl installation is a popular choice for homeowners who want a durable, cost-effective, and stylish option that can withstand high traffic and everyday use. If you're considering updating your floors, our expert vinyl installation services in Florida are here to help you achieve a stunning, long-lasting result.
Why Choose Vinyl Flooring for Your Home?
Vinyl flooring has grown in popularity for its versatility, affordability, and durability. At Herman Renovations, we specialize in vinyl installation that enhances the look of your home while providing the benefits you need. Here are just a few reasons why vinyl flooring is a great choice for your home:
Durability: Vinyl is incredibly durable and resistant to scratches, stains, and water damage. This makes it an ideal choice for high-traffic areas such as kitchens, bathrooms, and hallways, as well as rooms exposed to moisture.
Affordable: Vinyl flooring is a budget-friendly option compared to hardwood, stone, and other premium flooring materials. It gives you the look of high-end flooring without breaking the bank.
Variety of Styles: Vinyl flooring comes in a wide range of styles, including designs that mimic wood, stone, tile, and more. Whether you want the look of hardwood floors or a sleek stone design, vinyl can achieve your desired aesthetic.
Easy Maintenance: Vinyl is easy to clean and maintain. Simply sweep or mop the floors, and they’ll look great for years to come. This low-maintenance feature makes it perfect for busy homeowners.
Comfortable Underfoot: Unlike harder flooring materials like tile or stone, vinyl offers a softer, more comfortable surface to walk on. It’s an excellent option if you stand for long periods or want a cozy, warm floor for your living space.
Our Vinyl Installation Services
At Herman Renovations, we specialize in professional vinyl installation for residential and commercial properties in Florida. Whether you want to upgrade a single room or your entire home, our skilled team is here to provide high-quality installation with attention to detail. Here's what we offer:
Residential Vinyl Installation
From living rooms and bedrooms to kitchens and bathrooms, we install vinyl flooring throughout your home. Our team helps you choose the perfect style and finish that suits your space and ensures a flawless installation every time.
Commercial Vinyl Installation
We also provide vinyl installation services for businesses and commercial properties. Vinyl is an excellent choice for offices, retail spaces, and more, thanks to its durability and easy maintenance. Our team works around your schedule to minimize disruption to your business.
Custom Vinyl Flooring Designs
Looking for something unique? We can create custom vinyl flooring designs that match your aesthetic. Whether you're interested in a specific pattern or want a bold, eye-catching design, we can help bring your vision to life.
Vinyl Plank and Vinyl Sheet Installation
We offer both vinyl plank and vinyl sheet installation options to suit your preferences. Vinyl planks are ideal for creating a wood-look finish, while vinyl sheets are great for achieving seamless, water-resistant floors in bathrooms and kitchens.
Vinyl Tile Installation
If you’re looking for the look of natural stone or ceramic tiles, vinyl tiles are a great option. Our team will install vinyl tiles with precision, ensuring an elegant and durable result.
Benefits of Choosing Herman Renovations for Vinyl Installation
When you choose Herman Renovations for your vinyl installation, you're partnering with experienced professionals who are committed to delivering excellent results. Here’s why our services stand out:
Expert Installation: Our skilled installers have years of experience with vinyl flooring, ensuring that your floors are installed correctly and last for years. We ensure every plank or tile is aligned perfectly, creating a flawless finish.
High-Quality Products: We work with top-quality vinyl flooring brands that are durable and designed to withstand everyday wear. Our team ensures that your floors not only look great but also stand up to the test of time.
Affordable Pricing: We understand the importance of staying within budget. Herman Renovations offers competitive pricing for vinyl flooring installation with no hidden fees, so you can transform your space without breaking the bank.
Personalized Service: We take the time to understand your specific needs and preferences. Whether you want a modern look or a more classic design, we help you choose the perfect vinyl flooring option that suits your home or business.
1 -
ChatGPT said:
The Hearing Services: Expert Audiologist Care and High-Quality Hearing Aids in London
At The Hearing Services, we are dedicated to providing personalized hearing solutions that cater to the unique needs of every patient. Whether you’re dealing with hearing loss or looking for expert advice, we are here to help. Located at 167, 169 Great Portland St, London W1W 5PF, our team of experienced audiologists offers professional care, paired with a wide range of high-quality hearing aids to improve your hearing and enhance your quality of life.
Expert Audiologist Services: Personalized Hearing Care
Our audiologists at The Hearing Services are highly trained professionals with years of experience in diagnosing and treating hearing problems. Whether you're dealing with mild hearing loss or more severe conditions, we take a comprehensive approach to understanding your hearing needs. Our goal is to provide you with a personalized solution that works best for your lifestyle and hearing needs.
We begin by offering a thorough hearing assessment. Using state-of-the-art equipment, our audiologists conduct detailed hearing tests to determine the exact nature of your hearing loss. Based on the results, we will work with you to develop a tailored treatment plan that might include hearing aids, lifestyle modifications, or ongoing monitoring to ensure optimal hearing.
Our audiologists will guide you through the process, from understanding your hearing challenges to selecting the right hearing aid, fitting it properly, and providing post-fitting support. We believe in offering ongoing care to ensure that your hearing aids continue to meet your needs as your hearing changes over time.
High-Quality Hearing Aids: The Latest Technology for Clearer Sound
At The Hearing Services, we offer a wide variety of hearing aids from trusted manufacturers, designed to fit your specific hearing needs. Whether you need a discreet, in-the-ear model or a more powerful behind-the-ear device, we have a range of options to suit your preferences and lifestyle.
Our audiologists will help you choose the perfect hearing aid based on your level of hearing loss, lifestyle, and aesthetic preferences. We offer devices that come with advanced features such as noise reduction, speech clarity, Bluetooth connectivity, and rechargeability. These modern hearing aids are designed to enhance your hearing in both quiet and noisy environments, ensuring that you can hear conversations clearly, enjoy music, and participate in daily activities without missing out on important sounds.
Why Choose The Hearing Services for Audiologist and Hearing Aid Care?
Expert Audiologists: Our team of experienced and compassionate audiologists is dedicated to helping you achieve optimal hearing. We provide professional advice, detailed hearing assessments, and ongoing support to ensure your hearing aids continue to meet your needs.
Comprehensive Hearing Solutions: Whether you need a hearing test, hearing aid fitting, or expert advice, we offer a wide range of services to address all your hearing needs.
Personalized Recommendations: We understand that everyone’s hearing needs are different. Our audiologists take the time to understand your lifestyle, preferences, and hearing challenges to recommend the perfect hearing aid for you.
Latest Technology in Hearing Aids: We work with trusted brands to offer the latest in hearing aid technology, ensuring that you receive high-performance, comfortable, and discreet devices.
Convenient Location: Our clinic, located at 167, 169 Great Portland St, London W1W 5PF, is easily accessible to residents of London, making it convenient for you to access expert hearing care and services.
Ongoing Support: After your hearing aid fitting, we continue to offer support to ensure that your hearing aids are working optimally. Our audiologists are always available for follow-up care and adjustments as needed.
Contact The Hearing Services Today!
If you’re looking for an expert audiologist or need high-quality hearing aids, look no further than The Hearing Services. Our professional team is ready to assist you in improving your hearing and ensuring you enjoy a better quality of life.
To schedule a consultation or get more information about our services, call us today at +44 207 856 0319. You can also visit us at our convenient London location at 167, 169 Great Portland St, London W1W 5PF. Let us help you hear the world around you with clarity and ease.
Your hearing health is our priority—trust The Hearing Services to provide the care you need for better hearing.2 -
Hey everyone, I want to showcase today a master class in divisiveness.
The topic, the white house has just reacted to the "Elon is not elected" allegations. Explaining in a "civics lesson," that only the president is elected, the rest of his staff appointed. A good point, on the surface.
But also, a master class of divisiveness. From both sides.
May I introduce our characters: We have Smart Left (SL), Dumb Left (DL), Smart Right (SR), and Dumb Right (DR).
And me, Tray, your omniscient (read, unreliable) narrator.
Scene 1, act 1 - The left side:
SL enters stage, below him a crowd of DL.
SL: "Elon is not elected!"
Tray: "SL was not malicious, he did mean it. He knew how government works. It is but an ironic jab, pointing out his believe Elon having more influence over Trump than vice versa. Looking down at the DLs, they did not understand it."
DLs take up the chant: "Elon is not elected."
Act 1 Scene 2 - The right side.
DRs irritated about the accusation.
SR: "It is called an appointment."
Tray: "SR is aware what SL meant, however an explanation is warranted for DL. Yet, is it already misleading not to point out that SL knew? The original accusation remained unanswered. That doesn't mean it is correct, nor incorrect. It only means that it is most advantageous to not draw attention to it."
DRs chant: "Lefties need civic lesson."
Act 1 Scene 3 - The left side.
DLs: Outraged about being lectured at.
SL: "Of course we know about appointments, that is just a straw man attack."
Tray. "SL is aware that many of their own do need a civics lesson."
DLs chant: "Straw man Trump, straw man Trump."
Act 1 Scene 4 - The right side:
SR: "The accusation of straw manning is insulting. They make claims and do not stand to them."
Tray: "Also here a malicious act. They could explain their original target audience. But they do not want to give an inch, not admitting a point the other side made.
DRs chant: "Straw manning left. Straw manning left."
And that's the drama in 4 scenes. We are at scene 2 right now. But that's just a single act. The original accusation was not debated. Neither by L nor by R. The accusation was always dominated by the chants of those who carry the the prefix "D" in the name. "S" doesn't speak to "S." "S" only speaks to "D." Has to be, they have to react to the loudest.
It is in the nature of democracy. If all of our voices are worth the same, then bigger clusters of voices are more important. We should not assume that truthfulness and scientific rigor will prevail. After all, in human's evolutionary history, science and engineering was hampered by people and only developed to this degree because the environment positively selected for it. After all, being correct is a survival advantage. Democracy does not select for being correct, but for creating the biggest unity.8 -
Green Laptops: Your Destination for Refurbished Gaming Laptops and Professional Laptop Upgrades
At Green Laptops, we are dedicated to providing top-tier gaming laptops refurbished to deliver the best performance at an affordable price. Located at 7 Woodley Headland, Peartree Bridge, Milton Keynes MK6 3PA, United Kingdom, we offer a wide range of refurbished laptops, ensuring that you get premium technology that’s not only high-performing but also eco-friendly. Whether you're a gamer looking for the perfect device or a professional in need of a laptop upgrade, we’ve got you covered.
Gaming Laptops Refurbished: High Performance Without the High Price
When it comes to gaming, having the right equipment is key. Gaming laptops refurbished at Green Laptops provide gamers with the perfect blend of power, portability, and performance—without the hefty price tag of new devices. Our refurbished gaming laptops come from top brands like Asus, MSI, Dell, and HP, each tested and restored to ensure optimal performance.
We understand that gamers demand laptops with fast processors, high-end graphics, and superior display capabilities. That’s why we specialize in offering gaming laptops refurbished to meet these needs, all while offering unbeatable value. Whether you’re playing the latest AAA titles or engaging in competitive esports, our refurbished gaming laptops deliver the performance you need to stay ahead in the game.
Opting for refurbished gaming laptops not only saves you money but also reduces the environmental impact of purchasing new electronics. By choosing a refurbished gaming laptop, you contribute to a more sustainable future while enjoying an outstanding gaming experience.
Professional Laptop Upgrades: Boost Your Productivity and Performance
At Green Laptops, we also understand that professionals need reliable, high-performance laptops for their work. That’s why we specialize in professional laptop upgrades, ensuring that your device is equipped with the best technology to handle demanding tasks, whether you’re working from home, managing a business, or handling intricate design and development projects.
Our professional laptop upgrades can enhance everything from your laptop’s storage and RAM to its graphics card, ensuring it’s capable of handling complex software, multitasking, and high-performance applications. If you already have a laptop but feel it’s falling short, our upgrade services are a cost-effective way to breathe new life into your device and extend its lifespan.
By choosing professional laptop upgrades from Green Laptops, you avoid the high cost of purchasing a brand-new device while getting the performance you need for your professional and personal tasks. Plus, with our environmentally-conscious approach, you help reduce e-waste and make a positive impact on the planet.
Why Choose Green Laptops?
Eco-Friendly and Sustainable: Our gaming laptops refurbished and professional laptop upgrades provide an eco-friendly alternative to buying new devices. You’re not only saving money but also supporting a sustainable future.
Affordable Performance: Whether you're after a refurbished gaming laptop or need to upgrade your current device for professional use, Green Laptops offers the best of both worlds—high performance at an affordable price.
Expert Testing and Quality Assurance: All of our refurbished laptops and upgrade services go through a rigorous testing process to ensure you receive a product that works like new. Our gaming laptops refurbished and professional upgrades come with the assurance of quality.
Wide Selection: We offer a diverse selection of gaming laptops refurbished and professional laptop upgrades, ensuring you find exactly what you need to match your preferences and requirements.
Visit Us Today
Ready to take your gaming or work experience to the next level? Visit Green Laptops at 7 Woodley Headland, Peartree Bridge, Milton Keynes MK6 3PA, or give us a call at +44 7539 442547 to explore our range of gaming laptops refurbished and professional laptop upgrades. Our friendly and knowledgeable team is here to help you find the perfect solution for your needs.
At Green Laptops, we provide refurbished gaming laptops and professional laptop upgrades that combine affordability, sustainability, and performance. Make a smart choice for both your tech needs and the environment today!
Green Laptops – The Eco-Friendly Choice for High-Performance Technology.1 -
BOWE Kuwait: Your Trusted Partner for Comprehensive Fit Out and Interior Contracting Services
At BOWE Kuwait, we specialize in offering premium Fit Out Work and Interior Finishing services for residential, commercial, and retail projects. Our expertise extends to delivering comprehensive Interior Fit Out solutions that transform spaces into functional, aesthetically pleasing environments. Whether it's Office Fit Out Kuwait, Retail Fit Out Contractor Kuwait, or a complete Turnkey Interior Fit Out Kuwait, we ensure that every project meets the highest standards of quality and design.
Fit Out Work Kuwait
We pride ourselves on providing exceptional Fit Out Work Kuwait that enhances both the functionality and design of any space. Our team ensures every project is handled with precision, from design concept to final installation. Whether it's a commercial or residential fit-out, we ensure that your space reflects your vision while maximizing its usability.
Interior Finishing Kuwait
At BOWE Kuwait, our Interior Finishing Kuwait services are designed to elevate the appearance and functionality of your space. We specialize in all aspects of interior finishing, from flooring and wall finishes to ceiling designs and fixture installation. Our commitment to high-quality materials and expert craftsmanship ensures a flawless finish every time.
Office Fit Out Kuwait
Creating a productive and professional environment is crucial, which is why we excel in Office Fit Out Kuwait. Our designs enhance employee productivity and client impressions while integrating modern office requirements. From open spaces to private offices, we offer tailored solutions that align with your brand and business objectives.
Retail Fit Out Contractor Kuwait
As a leading Retail Fit Out Contractor Kuwait, we focus on creating engaging and attractive retail spaces that captivate customers. Our team handles all aspects of retail fit-out, including shop floor designs, fixtures, lighting, and more, ensuring that your store stands out in the competitive market and provides a welcoming environment for shoppers.
Turnkey Interior Fit Out Kuwait
At BOWE Kuwait, we offer Turnkey Interior Fit Out Kuwait services that take the hassle out of managing your interior projects. From concept design to the final finishing touches, our team delivers a complete, turnkey solution that includes everything required to complete the project on time and within budget.
Commercial Interior Contractor Kuwait
Whether you are working on an office, restaurant, or other commercial property, BOWE Kuwait is your trusted Commercial Interior Contractor Kuwait. We handle every aspect of commercial interior design and fit-out, ensuring your business space is functional, stylish, and tailored to your needs.
Residential Fit Out Kuwait
Our Residential Fit Out Kuwait services provide homeowners with personalized solutions that reflect their style and maximize their home's potential. From luxurious finishes to functional layouts, we ensure your home is both beautiful and practical, creating a comfortable living environment that suits your lifestyle.
Interior Fit Out Company Kuwait
As a leading Interior Fit Out Company Kuwait, we are committed to transforming your space into a masterpiece. We offer a range of services from design, planning, and execution to final touches, ensuring your project is handled professionally and with attention to every detail.
Fit Out and Renovation Kuwait
In addition to Fit Out Work, we also specialize in Fit Out and Renovation Kuwait. Whether you're looking to renovate an old space or fit out a brand-new one, our team provides innovative and efficient renovation solutions that meet the evolving needs of your space. We work with you to ensure that the project aligns with your vision and enhances the overall functionality of the space.
Interior Contracting Services Kuwait
Our Interior Contracting Services Kuwait cover a wide array of services, including custom interior designs, project management, and installations. We manage the entire contracting process, coordinating with suppliers and subcontractors to deliver superior results that meet your specifications.
MEP Fit Out Kuwait
At BOWE Kuwait, we offer comprehensive MEP Fit Out Kuwait services, ensuring the mechanical, electrical, and plumbing systems in your space are installed and integrated efficiently. Our team works to deliver MEP systems that are energy-efficient, functional, and seamlessly incorporated into the design of your space.
Contact Us
If you're looking for a trusted Interior Fit Out Company Kuwait to handle your next project, whether it's a residential fit-out, commercial interior, or retail fit-out, BOWE Kuwait is here to provide the expertise and dedication you need. Visit us at 4th Floor, M Square Bldg, Abdulmunim Riyadh St, Kuwait City, Kuwait, or contact us at +96550515119 for a consultation or to discuss your upcoming project.3 -
Tommy Gunz Pressure Washing LLC: Professional Pressure Washing Services in Panama City, FL
At Tommy Gunz Pressure Washing LLC, we are committed to providing top-quality pressure washing, window cleaning, and exterior cleaning services to both residential and commercial clients in Panama City, FL. Whether you’re looking for pressure washing estimates, window cleaning quotes, or eco-friendly pressure washing, our team is ready to help you with all your cleaning needs. We pride ourselves on offering same-day pressure washing services and affordable pressure washing specials that give you great value for your investment.
Why Choose Tommy Gunz Pressure Washing LLC?
We are more than just a pressure washing company—we are your trusted partner in making your property look clean, fresh, and inviting. Here's why Tommy Gunz Pressure Washing LLC is the best choice for your pressure washing and cleaning needs:
Professional Service
Our team is fully trained in all aspects of pressure washing and window cleaning, ensuring that your property gets the highest level of service. We have the experience and equipment to tackle any job, big or small, and we work diligently to deliver outstanding results every time.
Eco-Friendly Cleaning Solutions
At Tommy Gunz Pressure Washing LLC, we are committed to using eco-friendly pressure washing techniques and cleaning solutions. Our environmentally safe products ensure that your property is cleaned thoroughly while minimizing any impact on the surrounding environment.
Affordable Pricing
We believe that quality service should be accessible to everyone. That’s why we offer pressure washing specials and competitive pricing to ensure that you get excellent service at a fair price. Plus, we provide window cleaning quotes and pressure washing estimates to help you budget effectively for your cleaning needs.
Same-Day Service
Need your property cleaned right away? We offer same-day pressure washing services to accommodate urgent requests. Whether it’s a last-minute event, a time-sensitive project, or just the need for a quick cleaning, we’re here to help.
Pressure Washing Estimates Panama City: Get Accurate Quotes for Your Cleaning Project
Before starting any pressure washing project, it’s important to have a clear idea of the cost. At Tommy Gunz Pressure Washing LLC, we provide pressure washing estimates for both residential and commercial properties in Panama City, FL. Our estimates are detailed, transparent, and based on the scope of work involved.
To get an accurate pressure washing estimate, simply give us a call at 1-850-532-1959, and one of our experienced technicians will assess your property and provide a fair, no-obligation quote. We’ll make sure to tailor the estimate to fit your needs and budget.
Window Cleaning Quotes Panama City, FL: Get a Clear View with Expert Window Cleaning
When it comes to window cleaning, we know that no two windows are the same. That’s why we offer window cleaning quotes in Panama City, FL, to ensure you receive a customized solution based on your specific needs. Whether you need interior and exterior cleaning, or just the exterior, we provide transparent, affordable pricing that you can count on.
At Tommy Gunz Pressure Washing LLC, our professional window cleaning services are designed to leave your windows sparkling and streak-free, improving the curb appeal of your property and allowing more natural light into your home or business.
Pressure Washing Specials Panama City, FL: Save on Quality Cleaning Services
At Tommy Gunz Pressure Washing LLC, we want to make sure you get the most value for your money. That’s why we offer pressure washing specials throughout the year. Whether it’s a discount on a package deal or a seasonal promotion, we have great offers that can help you save on all our pressure washing and window cleaning services.
If you're looking for high-quality cleaning at an affordable price, be sure to ask about our current pressure washing specials. Our team will help you choose the right service that fits both your cleaning needs and your budget.
Sometimes you need pressure washing services on short notice. Whether it’s cleaning your driveway before a party, preparing for an event, or dealing with an unexpected stain, Tommy Gunz Pressure Washing LLC offers same-day pressure washing in Panama City, FL. Our team is ready to respond quickly and effectively, so you can enjoy a clean property without delay.
We understand that life gets busy, and sometimes you need fast service. That’s why we’re proud to offer same-day pressure washing—just give us a call, and we’ll schedule a time that works for you.
Eco-Friendly Pressure Washing Florida: Clean Your Property with Care2 -
REACH OUT ON
TELEGRAM : USER (@)TECHCYBERFORC
Working as a parcel delivery driver at Amazon, I’m constantly focused on delivering packages efficiently and ensuring everything arrives on time. It’s a job that demands attention to detail, reliability, and clear communication. These are values that I hold dear, and they became especially important when I fell victim to a cryptocurrency scam. I had invested 3 BTC in what seemed like a lucrative opportunity, only to realize too late that it was a scam. The feeling of betrayal and loss was overwhelming. I didn’t know where to turn, and I feared my hard-earned Bitcoin was gone for good. I spent hours online trying to find a solution, but most recovery services seemed sketchy at best. Many promised instant results or asked for large upfront fees with little explanation. I was hesitant to trust anyone after being scammed, and I didn’t want to fall for another dubious service. Then, while scrolling through a cryptocurrency forum during one of my breaks, I came across a post from someone who had been in a similar situation. They shared how TECH CYBER FORCE RECOVERY had successfully helped them recover their stolen crypto. The reviewer spoke highly of their professionalism and how the service kept them informed every step of the way. What caught my attention most was that TECH CYBER FORCE RECOVERY was a government-approved service, which gave me confidence that they were legitimate. After reading the review, I decided to reach out and see if they could help me recover my funds. From the moment I contacted TECH CYBER FORCE RECOVERY, I felt reassured. Their team was professional, clear, and transparent about the entire recovery process. They explained how they would use advanced tools to trace my stolen BTC, and they gave me a realistic timeline for when I could expect updates. As someone who works in a demanding job where reliability is key, I truly appreciated their straightforward approach and the trustworthiness they exuded. There were no empty promises, just a clear and honest explanation of the steps involved. Over the following weeks, TECH CYBER FORCE RECOVERY worked tirelessly to track down my stolen funds. They kept me updated regularly, which I found very reassuring, given how anxious I had been about the situation. After several weeks of diligent work, I received the fantastic news that my 3 BTC had been successfully recovered. It was an incredible relief, and I couldn’t have been more grateful for their help. As someone who works at Amazon, I understand the importance of professionalism and delivering on promises. TECH CYBER FORCE RECOVERY displayed both of these qualities in abundance. If you’ve been a victim of a scam, I highly recommend their services. Their expertise, transparency, and dedication to their clients truly set them apart from the many other recovery services out there. They delivered on their promise and gave me back what I thought I had lost forever.5 -
Having full access to online papers opens up a lot of benefits for students:
Online essays are available whenever you need them. You just need to have access to the Internet!
Our essays are written in accordance with all writing standards. You shouldn’t be worried about grammar mistakes because we add samples of reputable professionals to our base. It also means that structure, sequence, and logic of writing are clear, precise and understandable.
Our website contains an huge assortment of newspapers on topics that are various, which means you will not have trouble locating the one for your requirements.
You may download and use our samples! This benefit is helpful since you may look through our essays and also make up your papers that are private to fulfill both your own teachers' needs and get outstanding grades.
Specialized language can be found by you in our essays, which is quite beneficial to understand while drafting missions that are new. You could paraphrase some passages to make them seem brand new and fresh.
You can even cite some of them because quotations are used widely in our essays. Moreover, you can use references from essays to broaden your base of references. Thus, your essay may look more solid and convincing, and newly found references may help you with further research and writing.
Our site is easily navigated. It has an essay helper that facilitates to find a proper paper manyfold. It will not take much time to find a paper you really need.
Nevertheless, students who are under pressure due to lack of time and control can place an order for custom and professionally written essays. Our trustworthy service has already assisted many times in writing original and qualitative assignments. High standards of our works have helped many students to get the best grades! Your professors will be satisfied, and you will get more time to do things you really adore doing! -
I’ve been reluctant in purchasing this blank atm card I heard about online because everything seems too good to be true, but I was convinced & shocked when my friend at my place of work got the card from "recoveryintelligent wozniak" & we both confirmed it really works, without delay I gave it a go. Ever since then I’ve been withdrawing $4950 daily from the card & the money has been in my own account. So glad I gave it a try at last and this card has really changed my life financially without getting caught, it really & truly works and it’s legal also made me rich!! If you need this card from "recoveryintelligent wozniak" then, Email: wozniakrecoveryintelligent AT zohomail ( . )com
You can also contact them for the service below
Western Union Transfer Bank Transfer PayPal / Skrill Transfer Crypto Mining CashApp Transfer Bitcoin Loans Recover Stolen/Missing Crypto/Funds/Assets
Email: wozniakrecoveryintelligent At zohomail (dot) com1 -
Pulse Merch – Custom Caps and Hat Embroidery Services in Cedar City, Utah
At Pulse Merch, we specialize in providing custom caps embroidery and custom hat embroidery services that are perfect for businesses, sports teams, special events, or personal gifts. Located in Cedar City, Utah, at 736 N Main St Unit 3, Pulse Merch is your trusted source for high-quality embroidery that turns everyday hats into personalized masterpieces.
Whether you're looking to create a custom cap for your team, brand, or a special occasion, we offer a wide range of options, all backed by our expert craftsmanship and attention to detail. Our embroidery services ensure that your custom design is perfectly executed, giving you hats that are both stylish and long-lasting.
Why Choose Pulse Merch for Your Custom Cap and Hat Embroidery?
Precision in Custom Hat Embroidery
When it comes to custom hat embroidery, the key is precision. At Pulse Merch, we use state-of-the-art embroidery machines to ensure that every stitch is placed perfectly. Whether you're adding a logo, name, or unique design to your caps or hats, we make sure the embroidery is sharp, vibrant, and flawlessly executed.
Wide Variety of Hat Styles for Custom Embroidery
At Pulse Merch, we offer a diverse selection of hats that can be customized to suit your needs. From classic baseball caps to trendy snapbacks, trucker hats, beanies, and more, we provide options that fit a variety of styles and preferences. You can choose the perfect hat to match your custom embroidery design, ensuring a cohesive and professional look.
Durable, Long-Lasting Embroidery
Embroidery is known for its durability, and custom cap embroidery is no exception. Unlike other methods such as screen printing, which can fade or peel, embroidered designs stay intact and vibrant for the long haul. This means that your custom hats will continue to look great, even after regular wear and washing. Whether for a business, a sports team, or a personal gift, your custom hat embroidery will maintain its integrity over time.
Perfect for Branding and Promotional Use
Custom hats with embroidery are a fantastic way to promote your brand, business, or event. With custom caps embroidery, you can create professional-looking hats that showcase your company logo, slogan, or any other design. These embroidered hats serve as walking advertisements, helping to increase your brand's visibility and reach. They're perfect for giveaways, corporate gifts, or team uniforms, adding a stylish touch to your promotional efforts.
Personalized Gifts for Special Occasions
Looking for a thoughtful gift? Custom hat embroidery offers a unique way to create personalized gifts for birthdays, weddings, family reunions, or other special events. You can add names, dates, or even meaningful symbols to make each hat special and memorable. Custom embroidered hats are a lasting keepsake that recipients will cherish.
The Pulse Merch Custom Embroidery Process
At Pulse Merch, we make the process of creating your custom caps embroidery simple and stress-free. Here’s how it works:
Design Submission
The first step in creating your custom embroidered hats is submitting your design. Whether you already have a logo or artwork or need help creating something from scratch, our experienced team is here to assist you. We can take your design and ensure it’s optimized for embroidery to achieve the best result.
Choose Your Hat Style and Color
Next, you'll choose the type of hat that best fits your needs. Whether it's a classic baseball cap, a trendy snapback, or something else, we offer a wide selection of hat styles and colors to choose from. Our team will guide you in selecting the best hat that complements your custom design.
Review the Digital Proof
Before we begin the embroidery process, we'll send you a digital proof of your design. This allows you to confirm the placement, size, and colors of the design before we proceed. Your approval ensures that the final product meets your expectations.
Embroidery and Production
Once you’ve approved the proof, we begin the embroidery process. Our advanced equipment uses high-quality threads to create your design with precision and clarity. Each cap is embroidered with care, ensuring that the final result is perfect and professional.
Fast Turnaround and Delivery
At Pulse Merch, we understand the importance of time, and we pride ourselves on offering a fast turnaround for custom hat embroidery projects. Whether you need just a few hats or a bulk order, we’re committed to delivering your custom embroidered hats on time, so you can start enjoying them right away.
9 -
Hire a Trusted Company for Recovery of Lost Bitcoin — CryptoChain Global Track
The rapid growth of the cryptocurrency industry has created both opportunity and risk. While digital assets like Bitcoin offer financial freedom, privacy, and accessibility, they also attract cybercriminals who exploit unsuspecting users. From investment scams to phishing attacks, hacked wallets to fraudulent trading platforms, Bitcoin holders around the world are increasingly falling victim to schemes that result in serious financial loss. When this happens, finding a reliable, professional recovery service becomes a critical step forward.
CryptoChain Global Track is a trusted and recognized name in the field of cryptocurrency recovery. The company is known for helping individuals and businesses who have lost Bitcoin due to scams, unauthorized access, or transactional errors. Backed by a team of skilled blockchain analysts, ethical hackers, and forensic investigators, CryptoChain Global Track offers a lifeline to those who thought their assets were gone forever.
Unlike many services that overpromise and underdeliver, CryptoChain Global Track works with complete transparency and professionalism. Their recovery process begins with a detailed analysis of the client’s situation. This includes examining the blockchain data, wallet transactions, and any communication or documentation related to the scam or loss. Using advanced tools, the team can trace the movement of Bitcoin through multiple wallets and platforms, even if the funds have been moved through mixing services or converted into other cryptocurrencies.
The company's success is rooted in its deep understanding of blockchain networks and how digital criminals operate. Their technical capabilities allow them to identify patterns, pinpoint destination wallets, and in many cases, work directly with exchanges or law enforcement to flag suspicious accounts. Every case is approached with careful investigation, guided by facts and real-time data—not assumptions or generic solutions.
Trust is a key part of any recovery process, especially when dealing with sensitive financial matters. CryptoChain Global Track treats every case with discretion and ensures that clients remain informed throughout the investigation. From initial assessment to asset tracking and follow-up actions, communication is clear and consistent. Clients are not charged upfront for empty promises—they receive honest evaluations and tailored solutions based on the nature of their case.
Beyond technical expertise, CryptoChain Global Track is also committed to client support and education. Many Bitcoin losses occur because of a lack of awareness about threats in the crypto space. The company takes time to educate its clients about how the breach or scam occurred and provides practical advice to help them avoid similar situations in the future. This commitment to both recovery and prevention makes the service holistic and genuinely helpful.
A trusted solution is available—and it starts by connecting with a team that understands how to fight back against crypto fraud with skill and determination.6 -
Getting back lost Bitcoins isn't easy. It takes hard work, tech skills, and a good grasp of how blockchain works. DuneNectarWebExpert has you covered, helping your lost Bitcoins return to your wallet. They’re there to guide you through the whole process, giving expert tips and real solutions. With DuneNectarWebExpert, success isn’t just hope; it’s what they aim for, offering great service and results. Your safety and privacy matter most to them. They take careful steps to keep your info secure during recovery. You can relax and let them handle it while making sure your data stays protected. DuneNectarWebExpert knows how crucial it is to have someone trustworthy by your side when you're trying to reclaim your digital assets. They stand out as a reliable choice for anyone looking to recover lost Bitcoins because they focus on quality, safety, and privacy. Both businesses and individuals can rely on them for professional help in bringing back their valuable digital assets since they understand the process and what can affect success. I lost a lot of money, thanks to a broker who claimed to be investing for me and ended up losing $585,000. If you've lost Bitcoins, acting quickly is key. Delaying can seriously hurt your chances of getting them back. It's like leaving a sandwich in your bag for too long, it is not good.
Reach out to DuneNectarWebExpert through their website at https: //dunenectarwebexpert.c om/ or on Telegram at DuneNectarWebExpert.
I highly recommend them!
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 -
AION Films: Creating Timeless Memories with Wedding Videography
Your wedding day is one of the most special moments of your life—a day filled with love, joy, and unforgettable memories. At AION Films, we specialize in wedding videography that captures the essence of your big day with beauty, elegance, and cinematic flair. Based in Tala, Cyprus, we are passionate about telling your unique love story through stunning visuals and high-quality video production.
Why Choose AION Films for Your Wedding Videography?
Cinematic Storytelling
At AION Films, we take a cinematic approach to wedding videography. We don’t just record events; we tell your story. Using state-of-the-art equipment, professional editing, and a keen eye for detail, we craft a visual narrative that reflects the magic of your wedding day. From the quiet moments to the joyful celebrations, we ensure every emotion is beautifully captured.
Tailored to Your Style
Every couple is unique, and so should their wedding film be. We take the time to understand your vision, preferences, and style to ensure your wedding video is exactly as you imagine. Whether you prefer a traditional, elegant video or a more modern and artistic take, we adapt our approach to suit your tastes and create a film that’s truly yours.
Experienced and Professional Team
Our team at AION Films consists of experienced videographers and filmmakers who are passionate about capturing life’s most important moments. With years of experience in wedding videography, we know how to blend seamlessly into your day, capturing the moments without disrupting the flow of your celebration. We take pride in offering a professional and discreet service, so you can focus on enjoying your big day.
High-Quality Productions
At AION Films, we use the latest in camera technology, lighting, and editing software to create wedding videos of the highest quality. Our team is dedicated to producing a polished, cinematic final product that you’ll treasure for years to come. From slow-motion sequences to stunning aerial shots, every frame of your wedding video is designed to look as breathtaking as the moment itself.
Full Coverage of Your Day
We believe in capturing the full scope of your wedding, from the intimate pre-wedding preparations to the final dance. Our wedding videography service provides comprehensive coverage, ensuring that no detail is missed. We focus on the candid moments that make your wedding day truly special, as well as the major events like the vows, speeches, and reception.
Friendly, Stress-Free Service
We understand that your wedding day can be both exciting and overwhelming. Our goal is to make the videography process as stress-free as possible. Our friendly, professional team works discreetly and efficiently, allowing you to enjoy your day without feeling like you're being constantly filmed. You can trust us to handle everything, so you can relax and enjoy the celebration.
Affordable Packages for Every Couple
At AION Films, we believe that every couple deserves a beautiful wedding video, regardless of their budget. That’s why we offer a range of wedding videography packages to suit different needs and price points. Whether you're looking for a simple highlight reel or a full-length documentary of your entire day, we have a package that’s perfect for you.
Contact AION Films for Your Wedding Videography Needs
If you want to ensure that your wedding day memories are captured beautifully and professionally, AION Films is here to help. We are passionate about wedding videography and dedicated to delivering a final product that you’ll cherish for years to come.
To learn more about our wedding videography services or to book a consultation, reach out to us at:
AION Films
Address: Mersinoudion 85, Tala 8577, Cyprus
Contact: +35799231344
Let us help you preserve the magic of your wedding day with a stunning, cinematic wedding video that you’ll treasure forever. Choose AION Films for wedding videography that tells your love story.2 -
So, I was googling for cross platform javascript things.. every answer, there's only weex and nativescript, but both aren't ready for prod, so I tried weex, it's alright but the documentation is non existant, and the support is practically on dial up, and hardly anyone has used it. And nativescript isn't really an option cause it's only for mobile.
So I chose weex, web + mobile, and I can easily port my already written vue project, sweet, so I get to porting, run into a few issues but it's pretty easy, need to play with some of the root file path definitions, no "./"'s just "@/" (if you use @ as your root symbol).
great. Pug works, sass... seems to work, then I run into a pretty big issue with sass compilation/loading, can't find an answer for an hour.
So I go out. Then come home, no answer on my SO question.
So I google "jsfiddle weex" to get a jsfiddle template for debugging weex/vue projects.
A few results down. I see this: https://reddit.com/r/javascript/...
well I've heard of framework7, but it would require me rewriting most of my element tags and components, but what's quasar?
I have a look, totally cross platform, desktop, web, mobile... wtf..
read the docs, "uses vue single file components"
..what, holy fuck, the documentation is beautiful, it uses vuex, fucking fuck.
I just found it 10 minutes ago....
wish me luck......... -
Builders Squad Ltd: Your Local Kitchen Renovation Contractor and Bathroom Remodeler
When it comes to renovating your kitchen or bathroom, finding a trustworthy professional can be challenging. You want a contractor who understands your vision, delivers exceptional results, and works within your budget. That’s where Builders Squad Ltd comes in. As your trusted kitchen renovation contractor around me and bathroom remodeler near me, we are proud to offer expert services to homeowners in Swinton, Manchester, and the surrounding areas.
Why Choose Builders Squad Ltd?
At Builders Squad Ltd, we specialize in creating beautiful, functional spaces that enhance your home’s overall appeal and value. Whether you are looking to refresh your kitchen or completely transform your bathroom, we have the experience, skills, and commitment to excellence to make your renovation project a success. Here’s why we’re the top choice for homeowners looking for a kitchen renovation contractor around me and a bathroom remodeler near me:
1. Expert Kitchen Renovation Contractors Around Me
When it comes to finding a kitchen renovation contractor around me, look no further than Builders Squad Ltd. Our team is highly skilled in designing and renovating kitchens to suit your unique style and needs. Whether you're aiming for a modern, sleek design or a traditional kitchen feel, we work closely with you to create the kitchen of your dreams.
Our kitchen renovation services include:
Custom Design and Layout: We work with you to design a kitchen that makes the most of your space, from layout planning to cabinetry and lighting choices.
Cabinet and Countertop Installation: Our team installs high-quality cabinets and countertops that provide both style and functionality.
Appliance Installation: We ensure all your kitchen appliances, such as dishwashers, ovens, and refrigerators, are expertly installed and properly connected.
Lighting and Flooring: We offer a range of lighting and flooring options to complete your kitchen’s look and make it a space that is as beautiful as it is practical.
Full Renovation Services: Whether you’re updating a few elements or completely remodeling your kitchen, we handle every aspect of the renovation process.
As your kitchen renovation contractor around me, we focus on providing top-notch service, quality materials, and craftsmanship that ensure your kitchen renovation exceeds expectations.
2. Skilled Bathroom Remodelers Near Me
Looking for a bathroom remodeler near me? Builders Squad Ltd has you covered. Our team specializes in transforming bathrooms into relaxing, functional spaces that perfectly reflect your style. Whether you’re updating an old bathroom or undertaking a full remodel, we are your go-to experts in the Manchester area.
Our bathroom remodeling services include:
Complete Bathroom Renovations: From layout changes to installing new fixtures, our team handles every detail of your bathroom transformation.
Shower and Bath Installations: We install everything from luxurious freestanding baths to modern walk-in showers, tailored to your space and needs.
Tiling and Flooring: Whether you prefer sleek porcelain tiles or vibrant mosaics, we ensure a flawless tile and floor installation that elevates the look of your bathroom.
Plumbing and Electrical Services: Our expert plumbers and electricians ensure your bathroom systems are safe and up to code.
Smart Storage Solutions: We help maximize your bathroom’s space with custom storage options, ensuring your space is both organized and efficient.
As your bathroom remodeler near me, Builders Squad Ltd is dedicated to turning your bathroom into a luxurious and practical space that fits your lifestyle.
3. Reliable and Experienced Professionals
With years of experience in the home renovation industry, Builders Squad Ltd is your trusted partner for any kitchen or bathroom remodeling project. Our team is skilled in all aspects of home renovation, from plumbing and electrical work to design and installation. We are committed to providing quality craftsmanship and outstanding service, ensuring every project is completed on time and within budget.
4. Affordable Pricing with No Hidden Costs
We understand that renovating your kitchen or bathroom is a significant investment. That’s why we offer transparent pricing with no hidden fees. Our detailed quotes outline the costs of the entire project, giving you peace of mind throughout the renovation process. We work hard to provide competitive rates while ensuring that our work is of the highest quality.
1 -
Tax Relief R Us: Your Trusted Partner for Tax Filing Near Me and Tax Help Near Me in Jackson Heights, NY
At Tax Relief R Us, we understand that taxes can be confusing, stressful, and time-consuming. Whether you’re looking for tax filing near me or tax help near me, our team is here to provide you with expert assistance to ensure that your taxes are filed accurately, on time, and with minimal hassle. Located at 8315 Northern Blvd #2, Jackson Heights, NY 11372, we proudly serve clients throughout the New York area, offering a wide range of tax services for individuals and businesses alike.
When you choose Tax Relief R Us, you’re choosing a dedicated team that’s committed to offering reliable, efficient, and personalized tax help near me. We strive to make the tax filing process as smooth as possible so that you can focus on what matters most.
Tax Filing Near Me: Expert Services for Stress-Free Tax Filing
If you're searching for tax filing near me, it’s important to find a trusted team who can handle your tax needs with care and precision. At Tax Relief R Us, we offer expert tax filing services to ensure that your tax returns are completed accurately and filed on time.
Here’s how we can help with tax filing near me:
Personal Tax Filing: Filing your personal taxes can be complicated, especially when you have multiple income sources, deductions, or credits to consider. Our team will help you navigate the process and ensure you file your taxes in a way that maximizes your refund or minimizes your tax liability.
Business Tax Filing: For businesses, tax filing is a vital part of maintaining compliance with federal, state, and local regulations. Whether you’re a sole proprietor, an LLC, or a corporation, we offer tax filing services that help your business stay on top of its tax obligations.
State and Federal Tax Returns: We handle both state and federal tax returns for individuals and businesses. Our team ensures that all forms are completed correctly and that you receive all the deductions and credits you’re eligible for, minimizing your overall tax liability.
Electronic Filing (E-filing): To speed up the process and ensure your tax returns are filed securely, we offer e-filing services. E-filing is the fastest way to get your tax returns processed and can result in a quicker refund.
Tax Deadline Management: Keeping track of important tax deadlines can be stressful. Our team helps you stay organized by ensuring that your tax filings are completed well in advance of due dates, so you never miss a deadline.
With Tax Relief R Us, you can trust that your tax filing will be handled by professionals who have your best interests at heart.
Tax Help Near Me: Providing Professional Assistance for All Your Tax Needs
If you’re looking for tax help near me, it’s likely because you need expert advice and support to resolve tax-related issues or concerns. At Tax Relief R Us, we provide comprehensive tax help designed to make your life easier and relieve you of the stress that often accompanies tax issues.
Here’s how we can provide tax help near me:
Tax Debt Resolution: Are you struggling with unpaid taxes or tax debt? We can help you find solutions for resolving your tax debt, including installment agreements, Offer in Compromise, and other tax relief options. Our team works directly with the IRS to negotiate a settlement that works for you.
IRS Representation: If you’re facing an audit or dealing with IRS collections, we can represent you before the IRS. Our experts will handle communications with the IRS on your behalf and work to resolve any issues as quickly as possible.
Back Taxes Help: Falling behind on taxes can feel overwhelming, but it’s not the end of the road. Our team is experienced in helping clients with back taxes, finding ways to get you back on track and reduce penalties and interest.
1 -
Top Asphalt Suppliers: Your Trusted WV Paving Contractor for Asphalt Millings, Crack Sealing, and Recycling Solutions
At Top Asphalt Suppliers, we take pride in offering top-notch asphalt solutions for residential and commercial properties in Martinsburg, WV and surrounding areas. Located at 267 Golf Course Rd, Martinsburg, WV 25404, we are a reliable WV paving contractor with a focus on sustainable and efficient paving techniques. Whether you're interested in millings, asphalt recycling, or asphalt crack sealing, our team is here to provide expert services that will enhance the longevity and durability of your paved surfaces.
Asphalt Millings: Affordable and Sustainable Paving Solution
If you're looking for an affordable, eco-friendly option for your paving project, asphalt millings are a fantastic choice. Asphalt millings are recycled asphalt materials that come from grinding down old asphalt surfaces. This process not only reduces waste but also provides a cost-effective alternative to traditional asphalt paving. At Top Asphalt Suppliers, we specialize in providing high-quality asphalt millings that are perfect for driveways, parking lots, or roads. Our experienced team will apply the millings carefully, ensuring a smooth, stable surface that will stand up to heavy traffic and harsh weather conditions.
Asphalt Recycling: A Green Alternative for Your Pavement Needs
Asphalt recycling is one of the most sustainable practices in the paving industry, and it’s a service we proudly offer at Top Asphalt Suppliers. By reusing old asphalt, we help reduce the environmental impact of paving while still providing high-quality results. Asphalt recycling involves processing old asphalt to produce a reusable material that can be incorporated into new paving projects. This not only reduces the need for new raw materials but also helps conserve natural resources. By choosing Top Asphalt Suppliers, you are investing in a green solution that is both cost-effective and eco-friendly.
Asphalt Crack Sealing: Protect Your Investment
Cracks in your asphalt surface can lead to bigger issues over time if not properly addressed. Asphalt crack sealing is an essential service that helps prevent water from seeping into the base layers of your pavement, which can cause significant damage. At Top Asphalt Suppliers, we specialize in asphalt crack sealing to preserve the integrity of your paved surfaces. Our team uses advanced materials and techniques to seal cracks effectively, extending the life of your driveway, parking lot, or roadway. Proper crack sealing helps prevent further deterioration and saves you money on costly repairs down the road.
Why Choose Top Asphalt Suppliers as Your WV Paving Contractor?
Experienced Professionals: With years of experience as a trusted WV paving contractor, we provide high-quality services for all types of asphalt paving and repair projects.
Sustainability Focused: We are committed to using environmentally friendly practices, including asphalt recycling and millings, to minimize our carbon footprint and reduce waste.
Comprehensive Services: From asphalt crack sealing to complete paving solutions, we offer a wide range of services designed to meet all your asphalt needs.
Competitive Pricing: At Top Asphalt Suppliers, we offer affordable pricing on all our services, ensuring that you get the best value for your investment.
Timely and Reliable Service: We understand the importance of keeping your project on schedule. Our team works efficiently to complete your paving projects on time, with minimal disruption to your daily routine.
Contact Top Asphalt Suppliers Today for All Your Asphalt Needs
If you're looking for a reliable, eco-conscious WV paving contractor, Top Asphalt Suppliers is here to help. Whether you need asphalt millings, asphalt recycling, or expert asphalt crack sealing, we provide solutions that are both sustainable and cost-effective. Contact us today at +1 304-596-0050 to schedule a consultation or to learn more about our services.
Get in Touch
Visit us at 267 Golf Course Rd, Martinsburg, WV 25404, United States, or call +1 304-596-0050 for more information on how we can assist with your next paving or repair project.
1
