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 - "fallback"
-
I ranted about this guy before who thought he was a security expert while hardly knowing what the word is probably. Today I met him again at a party.
Holy fucking shit, this guy.
"we use the best servers of the netherlands"
"we use a separate server for each website and finetune them"
"we always put clusters under servers, that way we have a fallback mechanism"
"companies mostly use bv ssl certificates"
"you're on call for a week? I'm full-time on call. Why I'm drinking alcohol then? Because fuck the clients hahaha"
😥🔫15 -
"Is it sexy when I talk in nerd words? Ie 11....backwards compatibility....fallback..."
My fiancé.10 -
My current project at work: purchase verification, aka anti-fraud.
It's been two weeks, and my boss is flipping out because it isn't done. A robust anti-fraud solution. in two weeks. And he thought one week was a little much.
like, fucking really?
There are companies whose entire service is helping combat fraud. and he wants this done in a bloody week?
What makes me laugh through my tears of frustration is that the company that moved into the previous office? Yep, anti-fraud. Their entire business model is providing anti-fraud services to other businesses. They even tried selling him on it when they moved in. Bossman sales guy turned it around and sold my freaking desk out from under me instead.
But like. They're a small company: they had 9 people when they moved in, and were looking to add three more, so a total of 12 people. (I totally considered jumping ship, but their stack was too different.)
So. Bossman wants me to replace 9-12 people and their entire business in a fucking week. Yeah.
"Oh, but it's just sms verification" says he. What he also wants is the ability to flag users as fraudulent, have sticky verifications so they can't bypass them by backing out, have email checks as well as sms, have deferred verification to allow collecting required info (e.g. phone number), verification fallback, lockouts, manual admin whitelisting, admin blacklisting, and different rules per merchant and rule groups for affiliates to apply to all of their merchants, and of course the ability to customize those merchant/affiliate anti-fraud rules. But he shortens this gigantic list to "I want sms verification," despite actually asking for all of the above. I don't want to know about the mental gymnastics and/or blindfolding required to equate the two, but he's nuts.
Yeah.
All of that.
In a goddamn week.
And I get chewed out when it isn't done? Fuck off.
Go build me a goddamn 5m ft^2 castle out of basalt and marble using only your toothbrush and a rusty garden trowel, and have it done in a week. No outsourcing.
talk about ridiculous.5 -
Years ago we deployed this system with a SQL DB on a separate windows server.
Every now and then we had error messages saying that the system could not connect to the db. It was going on for about 5 minutes or so and then the db was up again.
We built a bunch of fallback logic to handle it gracefully.
Then one day one of the guys was in the "server room". It was not a real server room but like a dedicated office in another building.
He saw how the cleaning lady came in, unplugged the server's cable from the wall socket and plugged in the vacuum cleaner...6 -
Hesitated for a while before posting this, as I don't like to whine in public but this should be therapeutical
Beware, it's a #longread
Years ago, I thought about how cool it'd be to have conversation-based interactive fiction on my phone. I remember showing early prototypes to my ex in 2012. It took me over 2 years to build up the courage to make it my priority and to take time off. FictionBurgers.com was born.
A few weeks in, a friend of mine forwarded me a link to Lifeline. I was devastated. I literally spent 2 days cursing my past self for not making a move sooner.
I soldiered on, worked 7 months straight on it. Now the tech is 90-95% finished, content is maybe 60% finished and I just... gave up. Every other week now, similar projects are popping up. I'm under-staffed and under-financed compared to them. Beyond the entertainment space, "conversation-based" is hot stuff in 2016, and I still can't seem to know what to do with what I have.
I feel like I had this fantastic opportunity and squandered it, which makes me miserable.
Anyway, just so you get some cheese with my whine, here are a few lessons I learned the hard way:
Lesson #1 : Don't go it alone. I thought I could hack it, and for over 7 months, I did. But sooner or later, shit gets to you, it's just human. That's when you need someone; just so that their highs compensate your lows and vice versa. Most of the actual writing was done by a freelancer (and he did AMAZING WORK, especially considering that I couldn't pay him much) but it's not the same as a partner, who's invested same as you.
Lesson #1.5 : Complementary skills. Just like my fiction project failed because I was missing a writer partner, my fallback plan of getting into conversational tech hit the skids for lack of a bizdev partner. It's great to stick among devs when ranting, but you need to mingle with a variety of people. Some of them are actually ok, y'know :)
Lesson #2 : Lean Startup, MVP. Google those terms if you're not familiar with them. My mistake here (after MVPing the shit out of the tech) was to let my content goal run amok : what made my app superior to the competition (or so I reasoned) was that it would allow for conversations with multiple characters! So I started plotting a story... with 9 characters. Not 2 or 3. NINE FREAKING CHARACTERS! Branching conversations with 9 characters is the stuff of nightmare -- and is the main reason I gave up.
Lesson #3 : Know your reasons. I wasted some much time early on, zig-zaging between objectives:
"I'm just indulging myself"
"No, I really want it to be a project that pays off"
"Nah, it's just a learning opportunity"
"Damn, why is it bothering me so much that someone else is doing the same thing ?"
"Doesn't matter, I just mine finished"
"What a waste of time !!"
etc etc
And it's still a problem now that I'm trying to figure out what to do!
So anyway, that's my story, thanks for readin'
Check out chatty.im/player/sugar-wars if you want to test the most advance version.
Also, I've also tagged this #startupfail, if any of you fine people want to share the lessons you've dearly paid to learn!13 -
PO: Here's a small cool feature I thought of, should be easy enough *shows very basic draft spec*
Me: Cool, how does it work for logged out users? What about customers in Spain? Does it work with US sales tax? Do we need to update the privacy policy? Do we have translations? What's the fallback if it breaks? Who will be maintaining the content?
PO: ...
PO: I'll get back to you
*never hears about feature again*4 -
So everyone at the company I work for is getting a new machine before Christmas
Since I do a bunch of backend development and devops stuff (despite actually being hired as an Android developer), I requested that my machine use Linux, since that's what the servers run
Windows was the fallback OS I requested, since it's what I'm most familiar with
The machine that I will probably get will be a Mac
Stay tuned for further updates to this most thrilling of tales10 -
We (as new hires) had to add a fallback logic for input validation on every input element using only JSP and Spring controllers just because the client still uses IE6 and fucking disables Javascript!!5
-
I do not like the direction laptop vendors are taking.
New laptops tend to feature fewer ports, making the user more dependent on adapters. Similarly to smartphones, this is a detrimental trend initiated by Apple and replicated by the rest of the pack.
As of 2022, many mid-range laptops feature just one USB-A port and one USB-C port, resembling Apple's toxic minimalism. In 2010, mid-class laptops commonly had three or four USB ports. I have even seen an MSi gaming laptop with six USB ports. Now, much of the edges is wasted "clean" space.
Sure, there are USB hubs, but those only work well with low-power devices. When attaching two external hard drives to transfer data between them, they might not be able to spin up due to insufficient power from the USB port or undervoltage caused by the impedance (resistance) of the USB cable between the laptop's USB port and hub. There are USB hubs which can be externally powered, but that means yet another wall adapter one has to carry.
Non-replaceable [shortest-lived component] mean difficult repairs and no more reserve batteries, as well as no extra-sized battery packs. When the battery expires, one might have to waste four hours on a repair shop for a replacement that would have taken a minute on a 2010 laptop.
The SD card slot is being replaced with inferior MicroSD or removed entirely. This is especially bad for photographers and videographers who would frequently plug memory cards into their laptop. SD cards are far more comfortable than MicroSD cards, and no, bulky external adapters that reserve the device's only USB port and protrude can not replace an integrated SD card slot.
Most mid-range laptops in the early 2010s also had a LAN port for immediate interference-free connection. That is now reserved for gaming-class / desknote laptops.
Obviously, components like RAM and storage are far more difficult to upgrade in more modern laptops, or not possible at all if soldered in.
Touch pads increasingly have the buttons underneath the touch surface rather than separate, meaning one has to be careful not to move the mouse while clicking. Otherwise, it could cause an unwanted drag-and-drop gesture. Some touch pads are smart enough to detect when a user intends to click, and lock the movement, but not all. A right-click drag-and-drop gesture might not be possible due to the finger on the button being registered as touch. Clicking with short tapping could be unreliable and sluggish. While one should have external peripherals anyway, one might not always have brought them with. The fallback input device is now even less comfortable.
Some laptop vendors include a sponge sheet that they want users to put between the keyboard and the screen before folding it, "to avoid damaging the screen", even though making it two millimetres thicker could do the same without relying on a sponge sheet. So they want me to carry that bulky thing everywhere around? How about no?
That's the irony. They wanted to make laptops lighter and slimmer, but that made them adapter- and sponge sheet-dependent, defeating the portability purpose.
Sure, the CPU performance has improved. Vendors proudly show off in their advertisements which generation of Intel Core they have this time. As if that is something users especially care about. Hoo-ray, generation 14 is now yet another 5% faster than the previous generation! But what is the benefit of that if I have to rely on annoying adapters to get the same work done that I could formerly do without those adapters?
Microsoft has also copied Apple in demanding internet connection before Windows 11 will set up. The setup screen says "You will need an Internet connection…" - no, technically I would not. What does technically stand in the way of Windows 11 setting up offline? After all, previous Windows versions like Windows 95 could do so 25 years earlier. But also far more recent versions. Thankfully, Linux distributions do not do that.
If "new" and "modern" mean more locked-in and less practical and difficult to repair, I would rather have "old" than "new".12 -
o2 business login. The whole interface is built in flash. Fucking Flash! Can't even login! No fallback. WTF!!! Useless piece of shit bastards.1
-
There you are, fiddling with next.js webpack settings, because your isomorphic JS-in-CSS-in-JS SSR fallback from react-native-web to react-dom throws a runtime error on your SSR prerendering server during isomorphic asynchronous data prefetching from Kubernetes backend-for-frontend edge-server with GraphQL.
You have all that tech to display a landing page with an email form, just to send spam emails with ten tracking links and five tracking beacons per email.
Your product can be replaced by an Excel document made in two days.
It was developed in two years by a team of ten developers crunching every day under twelve project managers that can be replaced with a parrot trained to say “Any updates?”
Your evaluation is $5M+. You have 10,000 dependency security warnings, 1000 likes on Product Hunt, 500 comments on Hacker News, and a popular Twitter account.
Your future looks bright. You finish your coffee, crack your knuckles and carry on writing unit tests.5 -
Monday is the deadline for a big project in my master, I worked together with 11 people for one whole year. Our repository is on a server from university and we use the uni cluster to evaluate our results.
And today the uni spontaneous turns of its electricyty for the weekend to test some fallback systems...2 -
!rant
This is a major part of my workflow, and I wanted people to see it. So I went an inch-deep on quicktime screen recording and ffmpeg flags to produce this low-quality gif.
I pop open the alfred text window with cmd-space, and have it set to use DDG as my default search provider fallback. In this way, I'm able to execute bang-searches without having to load any urls, or even move the pointer.
What kinds of productivity/workflow tricks do you use?14 -
Crazy... Hm, that could qualify for a *lot*.
Craziest. Probably misusage or rather "brain damaged" knowledge about HTTP.
I've seen a lot of wild things when devs start poking standards, but the tip of the iceberg was someone trying to use UTF-8 in headers...
You might have guessed it - German umlauts. :(
Coz yeah. Fucktard loved writing everything in german, so why not write custom header names in german.
The fun thing is: It *can* work, though the usual sane thing is to keep it in ASCII range for the obvious reason that using UTF-8 (or ISO-8859-1, which is *not* ASCII) is a gamble you gonna loose.
The fun game was that after putting in a much needed load balancer between services for monitoring / scaling etc suddenly *something* seemed off.
It took me 2 days and a lot of Wireshark hoola hooping to find out why, cause the header was used for device detection aka wether it's a bot or not. Or in the german term the dev used: "Geräte-Art".
As the fallback was to assume a bot, but only rate limit based on IP, only few managed to achieve the necessary rate limit to get blocked.
So when I say *something* seemed off, I really mean a spooky kind of "sometimes IP blocked for seemingly no reason at all".
Fun stuff. The dev btw germanized everything. Untangling the code base was a lot of non fun. -.-6 -
I've been using DDG now for quite a while and as most of you that did too, I enjoyed it for most of the ride, though me and many others that I recommended the duck to, had themselves using the "!g" bang much more than it was worth to be using DDG.
It's amazing for "most" things, like a quick search and especially code related questions, thanks to the stackoverflow embeds, but it still sucks at search results for those other searches.
Just recently I've hit startpage again, they were quite awkward to use imho in the past, but they did an entire redesign and have added advanced options which are nearly non existent in google anymore without knowing the secret konami code to access e.g. "in-title".
So now I am switching between DDG and Startpage and thought I'd share, because finally there's a proper way to ditch google (except if you want some very localized results or use a lot googles in results math {which DDG can too, just not startpage}).
It easily integrates into most browsers too and on android you can just make use of the custom search engine adding in firefox mobile.
Qwant was another option I thought to use, but startpage simply proxies the google results, which were literally the fallback issue for so long - Qwant iirc runs their own and also is often times pretty laggy on mobile from my testing.
https://www.startpage.com/ -
Android development sucks assssssssssss.
They FINALLY made a design system that doesn't look ugly so I thought might as well upgrade my old apps to it.
Publish and tonnnnes of crashes hours after launch.
Test on older devices and turns out some @color/material_xyz was missing in a lower API code BUT available in higher ones? No fallback, no error in AndroidStudio, just a runtime crash. Amazing
Then the location permissions glitch up. On lower androids even if you aren't actively tracking the user, the system tries to call some method which if you haven't overridden, the app crashes at launch.
And no amount of wrapping in try-catch-ignore helps (https://stackoverflow.com/questions... helped)
OH AND THEN the above solution if used on latest Android code33, CRASHES ON RUNTIME. so more sets of 'if VCODE this then ask this else that' bullshit.
I don't even need location it's just for better ad money ffs.
I've been team-android since Froyo and hate apple's monopoly, but if this is the level of their competence, many will jump ship sooner or later.
PS: yes I know I should've checked for lower versions before hand but Im not gonna make 8 android VMs to test all when different things fail in different versions.
I did have to do that in the end, but for a meh pet project one shouldn't have to. The system should have enough fallbacks and graceful fails.3 -
I was working with a stable installation of an elaborated platform. Some plugins were installed. After upgrading the installation by 2 patch level the customer registration was not working anymore.
In these two patch level a method in an interface got an additional optional parameter which had a major impact on the behaviour the implemented method. A plugin decorated the implementation without knowing about the new parameter. Therefore when calling the method the decorating class did not pass the new parameter in to the decorated implementation and the fallback value was given instead.
The caller expected the method to do something and did not branch into an alternative way but the default value disables the expected behaviour. Eventually nothing happened.
Breaking changes in patch levels woop di fucking do.2 -
ZNC shenanigans yesterday...
So, yesterday in the midst a massive heat wave I went ahead, booze in hand, to install myself an IRC bouncer called ZNC. All goes well, it gets its own little container, VPN connection, own user, yada yada yada.. a nice configuration system-wise.
But then comes ZNC. Installed it a few times actually, and failed a fair few times too. Apparently Chrome and Firefox block port 6697 for ZNC's web interface outright. Firefox allows you to override it manually, Chrome flat out refuses to do anything with it. Thank you for this amazing level of protection Google. I didn't notice a thing. Thank you so much for treating me like a goddamn user. You know Google, it felt a lot like those plastic nightmares in electronics, ultrasonic welding, gluing shit in (oh that reminds me of the Nexus 6P, but let's not go there).. Google, you are amazing. Best billion dollar company I've ever seen. Anyway.
So I installed ZNC, moved the client to bouncer connection to port 8080 eventually, and it somewhat worked. Though apparently ZNC in its infinite wisdom does both web interface and IRC itself on the same port. How they do it, no idea. But somehow they do.
And now comes the good part.. configuration of this complete and utter piece of shit, ZNC. So I added my Freenode username, password, yada yada yada.. turns out that ZNC in its infinite wisdom puts the password on the stdout. Reminded me a lot about my ISP sending me my password via postal mail. You know, it's one thing that your application knows the plaintext password, but it's something else entirely to openly share that you do. If anything it tells them that something is seriously wrong but fuck! You don't put passwords on the goddamn stdout!
But it doesn't end there. The default configuration it did for Freenode was a server password. Now, you can usually use 3 ways to authenticate, each with their advantages and disadvantages. These are server password, SASL and NickServ. SASL is widely regarded to be the best option and if it's supported by the IRC server, that's what everyone should use. Server password and NickServ are pretty much fallback.
So, plaintext password, default server password instead of SASL, what else.. oh, yeah. ZNC would be a server, right. Something that runs pretty much forever, 24/7. So you'd probably expect there to be a systemd unit for it... Except, nope, there isn't. The ZNC project recommends that you launch it from the crontab. Let that sink in for a moment.. the fucking crontab. For initializing services. My whole life as a sysadmin was a lie. Cron is now an init system.
Fortunately that's about all I recall to be wrong with this thing. But there's a few things that I really want to tell any greenhorn developers out there... Always look at best practices. Never take shortcuts. The right way is going to be the best way 99% of the time. That way you don't have to go back and fix it. Do your app modularly so that a fix can be done quickly and easily. Store passwords securely and if you can't, let the user know and offer alternatives. Don't put it on the stdout. Always assume that your users will go with default options when in doubt. I love tweaking but defaults should always be sane ones.
One more thing that's mostly a jab. The ZNC software is hosted on a .in domain, which would.. quite honestly.. explain a lot. Is India becoming the next Chinese manufacturers for software? Except that in India the internet access is not restricted despite their civilization perhaps not being fully ready for it yet. India, develop and develop properly. It will take a while but you'll get there. But please don't put atrocities like this into the world. Lastly, I know it's hard and I've been there with my own distribution project too. Accept feedback. It's rough, but it is valuable. Listen to the people that criticize your project.9 -
In my early days I thought "fallback" is a bad thing like, hey no wait I don't want my function to fall back! I want it to move forward, man!!!1
-
For all the hate that Java gets, this *not rant* is to appreciate the Spring Boot/Cloud & Netty for without them I would not be half as productive as I am at my job.
Just to highlight a few of these life savers:
- Spring security: many features but I will just mention robust authorization out of the box
- Netflix Feign & Hystrix: easy circuit breaking & fallback pattern.
- Spring Data: consistent data access patterns & out of the box functionality regardless of the data source: eg relational & document dbs, redis etc with managed offerings integrations as well. The abstraction here is something to marvel at.
- Spring Boot Actuator: Out of the box health checks that check all integrations: Db, Redis, Mail,Disk, RabbitMQ etc which are crucial for Kubernetes readiness/liveness health checks.
- Spring Cloud Stream: Another abstraction for the messaging layer that decouples application logic from the binder ie could be kafka, rabbitmq etc
- SpringFox Swagger - Fantastic swagger documentation integration that allows always up to date API docs via annotations that can be converted to a swagger.yml if need be.
- Last but not least - Netty: Implementing secure non-blocking network applications is not trivial. This framework has made it easier for us to implement a protocol server on top of UDP using Java & all the support that comes with Spring.
For these & many more am grateful for Java & the big big community of devs that love & support it. -
Considering I had a 10 year career as a restaurant chef before I decided to switch lanes and go to college at age 30, I guess I'll always have that as a fallback.2
-
Currently making a perfect sudoku webapp / plugin using native JS and html templates where I'm very enthousiast about.
It allows to select multiple cells and then put in a number and all selected have that number. It keeps state of every change, you can do unlimited redo's. Right click or double click someehere removes selection. Not built yet, but it will have a box where you can paste sudoku's you've found on the internet. I just parse 81 times [1-9] with regex. So all formats are supported including noisy ones as long the noise is not numbers. Making your own puzzle is very easy. Art is to make hard ones. I'm generating extra hard puzzles using C threading. For reference: there are 6,670,903,752,021,072,936,960 sudoku puzzles possible and from that I try to resolve the hard ones using simple human logging with brute forcing as fallback until it can use logic again. 30 million attempts to solve per secon. I should at some more logic. I don't do xwing or ywing, bs imho. You have to be a superhuman to spot xwing / ywing possibilities. I think i can imagine a better logic myself. We'll see.
And yes, that's a real screenshot. Puzzle is validated and it found issues. Marked with red font. Green is current selection by user11 -
I must be some kind of retard to think that a fallback font would actually handle the characters not handled by the previous fonts.
I hate configuring fonts so fucking much4 -
How to replace rEFInd bcuz M$ locks linux out of your system if M$ installed first.
-----
This will be long so get your salsa ready.
-----
1. Get your rEFInd from sourceforge
Since we are installing INTO windows, dl the zip.
2. extract to a folder.
2-a-: Install themes if you want any or edit the config if you want/need to, at this stage.
3. open a cmd as Admin and cd to the refind's folder.
4. mount system volume
`mountVol S: /S` will mount it to S:
5. use xcopy to copy as system
`xcopy /E refind-bin-x.xx.x\ S:\EFI\refind`
6tynice: go to System volume and to the refind folder
`S:`
`cd EDI\refind\refind`
7:Set rEFInd as Windows Boot Manager
`bcdedit /set {bootmgr} \EFI\refind\refind\refind_x64.efi`
(It's possible to use ia32 or aa64 for different architectures)
At this point, try plugging a linux thumb drive and restart your computer. Windows Boot Manager should be deactivated and should show refind.
You can use mouse and keyboard to select an OS boot or just set config to start one automatically unless you are holding a "power" button.
rEFInd also offers "fallback" boot for linux, which boots the efi from rEFInd and not from syslinux.4 -
So I got my compute shader rasterizer working pretty well now which is great. I now also have a fallback to hardware rasterization for triangles which are a bit sussy (mostly just too large) and getting that implemented without tanking performance (gazillion threads hitting the same atomic variable at the same time) involved some tricky workgroup/subgroup hackery but I'm happy with it
Only problem... I have like 90%+ SM occupancy (which is great) but I also have 90%+ SM occupancy which means the nvidia drivers think I'm mining cryptocurrency and start bottlenecking my compute performance at random. It slowly goes up to 3x, then it slowly goes down again, then it slowly goes up again... argh
Thanks, miners 😐8 -
Has anyone experience with true full remote working?
I keep searching for job postings, but they mostly have huge BUT(s)
- remote BUT you need to be resident where the company is
- remote BUT you need to have a valid vat number and it won't be a contract, just a "we will ask x hours per month, you get no vacations or sick days"
- remote BUT you need to be in our timezone or work at our hours.
I am lately thinking a lot about what to do with my life due to the possibility that i will move with my sweet half and... We live very far apart so it's like... A bummer to be bound to a place. Especially since they love where they are, but i have a free house which I inherited, so... Could be nice as a fallback
Edit: the vat number thing is not necessarily bad, but one of the main reasons to work as an employee is that i get sick days and stuff, if i have to follow your hours, get no sick days/vacation days/benefits i may as well be a freelancer and gain more, lol.7 -
Client: hey, we need to build an interactive campaign page. Something that can be fun on mobile too..
Developer: o...kay... such as?
Client: how about a 360 environment and mobile can make use of the gyroscope?
Developer: should be fine but may I know what is the browser support we need to cater to?
Client: IE 9
Developer: .... ok we may need a fallback for non-supported. May I know how about the timeline?
Client: 1 month.
FML.6 -
You come to me to seek help to clean your mess **YOU** did to someone and If I fix it, it's you who fixed it or else I'm your fallback guy, *claps*
You fucking moron, I was your fallback guy ever since we met, I treat you as a friend, ask to meet unconditionally and all you've ever done to me is to fix Windows installation. FUCK YOU MAN2 -
I estimated 4 days for a task, took me 1,5 and I fixed an issue in there while I ran into it and made a nice fallback for when some edgecase thingy is not supported, which is somewhat of a new feature...
Oh and its paydayayay! Olé! -
I fixed a bug properly... Took down an entire application systems, sometimes you just gotta monkey patch that shit.
So it was a 15 year old cold fusion system and chrome had deprecated some window pop up feature, so I tracked it to the shared function that triggered this, fixed it there, tested it and even got it all past qa.
Turned out some of the other modules on the app had some other logic around this that made it not work there, they had implemented the fallback check without any fallback logic.
Time to rollback a 3 week sprint...1 -
Okay, if I understand correctly, if you want your website to be RGPD compliant, you must wait for user opt-in before storing anything to their device.
Maybe I'm asking myself too much questions but, how exactly does this work for a PWA ? Should you ask user for permission before starting a service worker and/or before caching any content ? If so, what if the user refuses the authorization ? The app is broken ? Or it just fallback to good old http browsing if it's server-rendered ?3 -
I am put to the task of creating a Chat Robot in ChatFuel.
Cool, I thought at first.
Cool is not what I would call it at this point..one week later.
The size is a factor at play, for sure, it needs to point to 27 cities and give individual information, handle e-mails, phone, automate e-mails.. a bunch of stuff.
Now, I am located in Sweden.
{{city}} as a set user attribute acknowledges Gothenburg and geolocation thusly worked fine for my boss. But not for me, and won't work for any other city.
So..Global AI calling for static blocks it is... 27 blocks...
For two languages.. 54 blocks...
Static pointing to the first answer for every individual block multiplies this by a factor of two. 108 static blocks. Fine.
I have since realized that my ChatFuel-Luddite ways were limiting the expected performance of the end result and learned that most other set attributes in ChatFuel work fine. Yay.
So we set up everything the last 54 blocks need to do with user attributes and to my surprise it works, really well at that. The answer from a user that is a correct city puts you into a block that is a series of questions using user attributes, both {{first_name}} and {{last_name}}, asks for e-mail and phone, displays an image and stuff like that.
Now.. as I attempt to copy these blocks..
THEY JUST POOP OUT CHUNKS OF THE ORIGINAL BLOCK. IT'S INCONSISTENCY IS STAGGERING. IT NEVER REALLY COMPLETES THE DUPLICATION, NO ERROR MESSAGE OR ANYTHING.
Which then reminded me of when my boss asked why everything was botched earlier in the project, at that point I copied the entire bot as a fallback and worked with my change in the copy first for safety reasons, didn't work, copy wasn't entire.
Wasted fucking hours on this.
I'm glad my boss is cool, and the job is easily worth it. I actually think that the design aspect of ChatFuel is nice, and the people behind it are kind in the facebook group and all. I don't think they're trying to be mean. But holy shit.
This has been a mental anguish that levels pissing bleach filled with fire ants.
" You could've easily solved this with APIs and third-party geofencing services ", yeah, but their services won't stack for the customer, nice attempt though.
Deep breaths.1 -
Fucked a clients wordpress website up by editing a saved option thats saved as serialised php data. Tried using the row data from a backup and updating it in the database and it still loads the fallback theme settings. What do?5
-
A very long rant.. but I'm looking to share some experiences, maybe a different perspective.. huge changes at the company.
So my company is starting our microservices journey (we have a 359 retail websites at this moment)
First question was: What to build first?
The first thing we had to do was to decide what we wanted to build as our first microservice. We went looking for a microservice that can be used read only, consumers could easily implement without overhauling production software and is isolated from other processes.
We’ve ended up with building a catalog service as our first microservice. That catalog service provides consumers of the microservice information of our catalog and its most essential information about items in the catalog.
By starting with building the catalog service the team could focus on building the microservice without any time pressure. The initial functionalities of the catalog service were being created to replace existing functionality which were working fine.
Because we choose such an isolated functionality we were able to introduce the new catalog service into production step by step. Instead of replacing the search functionality of the webshops using a big-bang approach, we choose A/B split testing to measure our changes and gradually increase the load of the microservice.
Next step: Choosing a datastore
The search engine that was in production when we started this project was making user of Solr. Due to the use of Lucene it was performing very well as a search engine, but from engineering perspective it lacked some functionalities. It came short if you wanted to run it in a cluster environment, configuring it was hard and not user friendly and last but not least, development of Solr seemed to be grinded to a halt.
Elasticsearch started entering the scene as a competitor for Solr and brought interesting features. Still using Lucene, which we were happy with, it was build with clustering in mind and being provided out of the box. Managing Elasticsearch was easy since there are REST APIs for configuration and as a fallback there are YAML configurations available.
We decided to use Elasticsearch since it provides us the strengths and capabilities of Lucene with the added joy of easy configuration, clustering and a lively community driving the project.
Even bigger challenge? Which programming language will we use
The team responsible for developing this first microservice consists out of a group web developers. So when looking for a programming language for the microservice, we went searching for a language close to their hearts and expertise. At that time a typical web developer at least had knowledge of PHP and Javascript.
What we’ve noticed during researching various languages is that almost all actions done by the catalog service will boil down to the following paradigm:
- Execute a HTTP call to fetch some JSON
- Transform JSON to a desired output
- Respond with the transformed JSON
Actions that easily can be done in a parallel and asynchronous manner and mainly consists out of transforming JSON from the source to a desired output. The programming language used for the catalog service should hold strong qualifications for those kind of actions.
Another thing to notice is that some functionalities that will be built using the catalog service will result into a high level of concurrent requests. For example the type-ahead functionality will trigger several requests to the catalog service per usage of a user.
To us, PHP and .NET at that time weren’t sufficient enough to us for building the catalog service based on the requirements we’ve set. Eventually we’ve decided to use Node.js which is better suited for the things we are looking for as described earlier. Node.js provides a non-blocking I/O model and being event driven helps us developing a high performance microservice.
The leap to start programming Node.js is relatively small since it basically is Javascript. A language that is familiar for the developers around that time. While Node.js is displaying some new concepts it is relatively easy for a developer to start using it.
The beauty of microservices and the isolation it provides, is that you can choose the best tool for that particular microservice. Not all microservices will be developed using Node.js and Elasticsearch. All kinds of combinations might arise and this is what makes the microservices architecture so flexible.
Even when Node.js or Elasticsearch turns out to be a bad choice for the catalog service it is relatively easy to switch that choice for magic ‘X’ or component ‘Z’. By focussing on creating a solid API the components that are driving that API don’t matter that much. It should do what you ask of it and when it is lacking you just replace it.
Many more headaches to come later this year ;)3 -
It's the first day of school and they try to make an entertaining segment on TV.
There has been a lot of controversy whether electronic books should replace paper ones.
They ask a mother about her opinion on electronic books:
Her: I myself like the idea of lighter school bags a lot. But yesterday I tried to open one of the books on my perfectly working laptop, and it was all white. I tried to zoom but nothing changed...
People are simply not ready for that much technology in their lifes. Teachers also can't use the technology to its full potential. They have been teaching the same thing the same way for tens of years, they'll always fallback to their old methods1 -
rant & question
What am I supposed to do to finally get log4j working?? It just doesn't want to log in my project. Or it simply hates me. However many tutorials and documentation I've followed, even copy pasting simplest examples with ConsoleAppendet, setting the xml config to classpath.
It starts with default fallback logging.
How do all the tutorials automagically work??1 -
Well that depends on if I made the A.I
if I did fuck it I'm rich buy an island get airdropped a two month supply of crown every month and I wouldn't give a shit what happens.
if I don't I guess trade skills in carpentry and electrical would be a good fallback if I don't just become a farmer -
Nothing like working on a (really) big project in VS Code and the editor lags so much that I have to fallback to Notepad++.
Native does have its perks.8 -
It's lovely when your corporate application starts having problems sending mail through google, so you fallback to your onsite mail server, only to learn it is nothing more than a pass through to your gmail account.
Not only that, but it isn't secured at all, so spam bots have been sending millions of spam emails through it, leading to your google account being blacklisted which caused the email problems in the first place. Yay!2 -
Had to add some affiliate JS with a fallback pixel. Put it between noscript tags since thats what the fallback is meant for.
Affiliate Guy: did you implement the fallback?
Me: Did you turn of javascript?
AG: I've just talked to our developers, they say we can't turn of javascript or something
Me: <headdesk>
Are these people retarded -
Every now and then I decide to try and use vim, spending hours in customizing it with all the enthusiasm of this world.
When I start editing code on it, I fallback to sublime text.1 -
Just putting the idea out there:
How cool would it be to be able to make SVG screensots!
The OS asks every application within view whether it supports SVG rendering. If so, it collects the SVG rendering. If not, it uses a PNG pixelated fallback.
Most form applications and browsers should be able to provide SVG renderings of the view, right?
Imagine the crispness of the screenshots...2 -
It's 2016! How do I still not have a favorite IDE?!
I guess the Jet Brains IDEs are my "favorite". More like a fallback. When I can't decide. Which is almost all the time. -
I work as a developer where I mainly work on internal solutions. The worst fucking part about this, is how we're basically always the fallback for fucking everytging. Sales dept are constantly selling services without knowing if it's even possible, not checking if we need new hardware and shit like that.
Fucknuggets. -
Not really most painful, but definitely most painful of the recent bunch..
// yup, a bunch.. I've managed to fuck up a little on every thing I did that day :/ little friday the 13th for me, especially as I went on sick leave the next day and had to fixup my fuckups with a friggin migrane..
Anyways, I was fixing fallback to some default value in plsql.. before it didn't check what the input format was and simply relied on certain format, parsed that and converted to number..threw an error, duh!
I fixed it somehow elegantly to check with regex if the format is as expected and if not default to xy value..and if format is as expected to parse out the number..except that when I copied (or typed?! for the sake of me, I cannot recall how the fuck I managed to fuck this up) over the code to the package I didn't see additional [ at the begining, so everything went to the default.. Most embarrassing part is I commented everything, how it should work, use cases, what the input was and what was expected output..and failed to see the friggin extra [..
It was fixed easily, the extra [ stood out later when I saw the code, but it bothers me how I managed to overlook that in the first place. I think I need a vacation.. but have to fix other fuckups first.. :/ -
firstly, does anyone know of an online telegram or whatsapp group where i can ask silly stuff regarding web dev and get immediate answers, just like it is here?
secondly i am trying to learn js and there are just too many related terms that are messing with my brain:
"some features are supported ines5/es6/es15/es16/es17 , some are supported in chrome's v8/chakra/spidermonkey/android browser , some features are only supported in "serverside" and blocked in all browsers thanks to browser's vm environment; babel can't read this code, some features are provided only by node js..."
WHAT THE MESS IS THIS?
All i am trying to do is to write code that would make a website visible to everyone. if by specific browser , i want to target, chrome and its subsidaries and android chrome/other android browsers .
for other browsers am willing to make external converters later but don't want to change my code by 1 bit. And from what i know, each browser (at least the browsers am thinking of supporting) has the complete JS compilers already built in
can i or can i not built a complete functional website with those things?
and finally my main question : how to make custom exceptions in vanilla js? i saw this answer on stack overflow:
===================
function InvalidArgumentException(message) {
this.message = message;
// Use V8's native method if available, otherwise fallback
if ("captureStackTrace" in Error)
Error.captureStackTrace(this, InvalidArgumentException);
else
this.stack = (new Error()).stack;
}
InvalidArgumentException.prototype = Object.create(Error.prototype);
InvalidArgumentException.prototype.name = "InvalidArgumentException";
InvalidArgumentException.prototype.constructor = InvalidArgumentException;
Usage:
throw new InvalidArgumentException();
var err = new InvalidArgumentException("Not yet...");
=====================================
where is the error code? what would be the exception details? what is the line number/timestamp of error?why is that function making an error, i thought error/exception is a class in JS?4 -
So we're approaching the end of WebStorm license subscription. Got notified about renewal. Then there's this question... Should we
1. not renew, use the fallback version (2018 something) because we don't need that many updates anyway and renew next year to get essentially a 50% off discount, or
2. renew and get the 20% off discount?
Asking for my boss lol3 -
If (true) {
// do else action instead
} else {
// fallback code
}
...no one else is in the pod, I "could" open a bottle, but I also have a deadline. X-o -
This might be a weird one or something that you're not supposed to do
I have a domain which I bought because it was very cheap, I have an old pc which I use as a server and I have to servers on the Oracle Cloud free tier
Now the actual question
Without shelling for a managed dns (which would be more per month than I'm paying for the domain per year), is there a way that I can self-host from my server and then use the Oracle Cloud servers as fallback/failover?
All 3 machines are Ubuntu 18.04 using Apache HTTPD, if that helps2 -
I finally got around to setting up my own cloud with nextcloud on my own dedicated server.
Just setting up Nextcloud alone was not really the challenge ( I've set up at least 2 Nextcloud instances in the past ).
The actual challenge was to install /e/ OS on my mobile phone and get it to work with my Nextcloud instance.
It's not all performant, buttery-smooth or super-fast yet, but for a one-person / user-cloud, I think it should be just fine.
There's still room for improvement in terms of server-side performance, but it's working fine with the basics at least.
I need to figure / iron out some issues like social federation via ActivityPub not working, Nextcloud SMS not syncing up my SMS, Mail app crashing because I used a self-hosted Nextcloud instance, etc; but those are things I could work on slowly, in the course of time.
No, the server is not physically controlled by me, yet ( it's a dedicated box server though. Still, hosted and physically controlled by a provider ).
I intend on setting up another 'replica' on a RaspberryPi which I will then make primary, connecting to the internet via DynamicDNS.
I'll probably keep the server as a fallback / backup server just in case my home server loses connectivity.
Taking back control from Big Tech is something I intend on pursuing actively this year. I've had the idea in my head for too long that it has started to fester.
This is only a first step, of many, that needs to follow, in order for me to take control back from Big Tech.
Yes, there still is some room for improvement, but I think for now ‒
Mission Accomplished!🤘3 -
Probably be an electrician with my dad. It's my fallback in case being a comp sci teacher doesn't work out.
-
Seems like spring boot kotlin doesn't want to cooperate in any way. Tried to set up a backend with it, but it keeps showing an error regarding wrong jvm-target. The project runs nevertheless. I changed the maven settings according to the docs, but no change. Whatever, still runs. However a newly created "hello world" rest endpoint just doesn't work, even following a beginner tutorial. localhost:8080/hello ... error fallback page.
I really wanted to give kotlin a try. Doing the same with java, instantly working.
Fuck spring boot kotlin. Or fuck me for not knowing how to handle it.5 -
You know @otokolo reminded me of a gripe of mine regarding a doomsday fallback
Why has no one taken advantage of the considerable reduction in physical space required for storage and put a copy of Linux on ROM on a motherboard loaded with compilers and an ide ? Also why are these people so weird and cyclic? Was not originally that way and I don't remember enough up front to avoid it.11 -
i am so fucking conflicted right now. seeing my fiture getting ruined in front of my present eyes. Life always gives me a chance to jump out of a ship that's about to fucking blow , i took it the first time, but this time i missed it for bravery ( and stupidity), and now am sinking alongside this fucking ship
my first job was amazing. decent work, sometimes a lot and sometimes too less. i would learn new things ,interact with people, handle a lot of fuckups . at one point i felt like looking for another opportunity , got one giving 50% hike , so i jumped the ship and sent a resignation letter. the noitice peripd was less, so i enjoyed my days applying to other ships. got even a better offer with 100% hike, so from one boat to another to now a literal cruise.
later i got to know that my original company got bankrupt and fired 85% staff. the next month the company that gave me the first offer layed off 30% staff.
now the waters are tough and my cruise is also getting impacted. but instead of firing, they are asking us to come to the office permanently. their office is in a fucked up place: you need 8$ just to breath the fucking air there. its the city of blood and money. and you will be giving away both things there.
my brain got split into 2 parts after this announcement: my stupid self was still considering this while my sensible self started applying for jobs. my stupid self was thinking that this is a great opportunity to leave my fucking nest of a home , where i am liv8ng woth my parents for last 25 years, and learn to live alone. clean utensils, cook food , wash clothes... i wanted to live the life the harsh way.
but life still took a pity on the fool that j am and gave me an opportunity. an opportunity to work with a big brand who hasn't done any layoffs in their 40+ yrs of existence (but also known for giving shit increments)
the offer was just a 40% hike but it was near my home. i could be in office in 1 hr in less than a dollar a day and still earn more than what am earning now.
plus my notice period is now 60 days , so who knows what other offer i could have got in those 60 days ( when i would keep my profile with a big green "immediately available to hire" circle on me.
however this time i didn't jump the boat. i asked them for a bigger raisez they declined and my stupid self was more than happy.
now the company has started to send mails regarding relocation and yepp the cruise is sinking , atleast for me. if i was savingsx in this company, my savings would become x/8 if i go to that city. in the new offer it would have at worst remained x.
and that's not even half of what's bothering me. i had accepted the money loss in exchange of what that city and my company had to offer : a chance to experience WFO, a chance to live life like a mature man and not a kid in his mom's house ,and a life full of hurdles and strangers.
however i always like to keep an emergency fallback mechanism on me , for if things don't work out. I don't wanna go depressed and cut my wrists there, I don't want people to hurt me so much that I can't recover. i want to run away from that wreched city the moment i start to loose the battles there and the city starts taking over me.
but what the holy fuck? my company's notice period is 60 days, and my rented room's security deposit is 6 fucking months? i will be giving 6 months of deposit + 1 month of brokerage + 1month of rent on the first day i put my steps on that wretched land after travelling in a 100 dollar flight! where am i supposed to get this much money?!
and okay, somehow i manage this. say i did an 11 months agreement, paid the fucking 8 months of rent at one go and simply started living a shitty life there. in month 2 i break down and wanted to implement my escape mechanism. it would go like this : i will suck up and try to live for rent free for next 6 months. but wait, THAT'S NOT FUCKING ALLOWED!! iam supposed to get my security AFTER 11+1 MONTHS!! why not freaking adjust it in my rent?
I can't think straight . 6 months of security deposit has blown my brain. i am regretting anything and everything. I can't think of my roommates situation, home safety, room location, whatever the fucks we think while looking for a room . all i can think is ...WHY SO MUCH MONEY NEEDS TO GO AT ONCE!?
FUCK1