Digital Ruby Software – Home
Greetings. I’m Jeff Johnson and I founded Digital Ruby in 2009 in order to learn how to run a software company, teach myself mobile programming and expand my skills and knowledge. I craft all manner of software including mobile apps, websites, security and even Unity and visual fx.
Recent Posts
.NET 8 and Trimming
2023-12-12In .NET 6, trimming worked pretty well, even if your assemblies weren’t annotated properly. In .NET 7 and now with .NET 8, things have changed, and trying to trim with the same project files and settings will cause everything to break.
If you want to get the old .NET 6 behavior, annotate your csproj files with these elements:
<TrimMode>partial</TrimMode>
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault>
Hoping this saves someone the hours I lost fussing around with this. Microsoft’s trimming guide is good, but doesn’t mention the json property, which is now false by default in .NET 8, instead of true.
Announcing IPThreat
2022-10-09I am pleased to announce that ipthreat.net is live and ready for use. My goal is to have ipthreat be Earth’s repository for bad ip addresses. The data is licensed under a creative commons by attribution license – that means the community owns ALL the data. There are no fees, no subscriptions, nothing. Everything is free to re-use and re-mix as long as the license is followed. If you are familiar with the StackExchange family of websites, the license is in the same spirit.
This is another rung on my ladder of eliminating hackers and botnets, along with IPBan and IPBan Pro. Please give ipthreat a try, create an account and integrate your logs. It will help everyone on Earth keep their servers safe.
As a personal update, I am managing my personal health the best I can. I take several medications that help keep symptoms to a small roar and allow me to function for the most part. I appreciate everyone that has reached out and offered words of kindness and encouragement.
– Jeff
Azure Functions Failure
2022-08-05As some of you know, ipban pro had an outage on 2022-08-04. This lasted a good 6 hours.
I have been using Azure Functions as a proxy layer for all of ipban pro. At a basic level, Azure functions knows about all the other services and data stores necessary to handle orders, licenses, api keys and the recent and naughty list. For the last several years it has been running pretty smoothly.
Yesterday I was ddos attacked for about an hour. After this attack, Azure functions decided to melt down and return 503 codes or timeout for all calls. I believe this was a bug in Azure functions not releasing connections. My metrics showed 600 simultaneous connections and then suddenly zero every few minutes. Clearly Azure didn’t like that and decided to kill my app. Even stopping it for a few minutes and starting it again failed to fix things.
I had considered just deleting the function app and re-deploying it, but in my mind the root problem needed to be discovered and addressed.
I spent a few hours poking around application insights and the troubleshooting section. There were references to this connection limit. But I even shut down my entire layer of services and still received the 503 and/or timeouts when calling the function app directly. So it wasn’t because of traffic I was throwing at it.
Azure charged me 29$ to just be able to send an email to someone. By the time they responded four hours later, I had re-written my function app into a regular server app and hosted it myself. Azure still hasn’t provided a reason as to why the function app went belly up.
This is the first time I have had a cloud provider completely fail on me. I won’t be using Azure functions again. This also left a very sour taste in my mouth for Azure itself. The other services Azure provides have been working well for me but I will definitely be keeping a backup plan in my back pocket in case some of the other services have similar problems.
The State of Cloud File Storage in 2022
2022-06-30Storing terabytes of data in Azure, AWS or Google Cloud can get quite expensive. Per Backblaze, here is a brief breakdown of pricing as of June 2022:
Backblaze will not charge for bandwidth for accessing public urls via CDN partners.
Backblaze does not charge for incoming bandwidth, upload or delete requests.
For the big 3 in cloud storage, 10tb of data will run you between 2000$ and 2500$ per year – just for the storage. This doesn’t cover the api calls or bandwidth which can often be an order of magnitude greater or more than the storage cost – running your bill to 25000$ or more.
A couple of new providers have really taken off that are not in the above table.
Cloudflare is unique in all storage offerings in that they will automatically replicate your data for you in multiple regions. They attempt to move objects closer to where they are accessed. This makes Cloudflare R2 a top choice for any data that must be highly performant and redundant.
5.99$/TB/month. Wasabi has a sneaky provision. Each file will round up to a minimum of 4k (but not higher) when determining billing. So even a 1 byte file will count as 4k for billing purposes. Also, deleted files will count against your storage for 90 days after deletion. But they have no API fees and no bandwidth fees.
Wasabi has a clause in the contract that if you go over bandwidth in a month that is greater than the sum storage of your account that they might terminate or suspend the account without notice. Yikes…
There is a common trend of vastly reducing bandwidth costs or not charging for bandwidth at all. This will force AWS, Azure and Google Cloud to adapt, and I could see a future where they all move to an api call storage only billing model (or even storage only). They will have to adapt or start losing market share as tech companies go to the cheaper providers.
The last point I will mention is bandwidth lock-in. This is why the major cloud providers charge for bandwidth out. For a large businesses it becomes prohibitively costly to migrate their data out to another provider. Essentially a form of blackmail to ensure people don’t switch to another provider. It’s wrong and is why I respect Backblaze and Cloudflare so much, along with other companies who are part of the bandwidth alliance.
I Quit my Day Job (Again)
2022-04-29It was about 7 1/2 years ago I quit my last day job at Ancestry.com. Now today I have left Jane.com as the vp of engineering due to personal health reasons and misalignment with top company management. I am taking a breather for a while and then plan to go full steam on IPBan Pro to ensure that it solves the problem of hackers, botnets and brute force login attacks.
To achieve this lofty goal I have to give it every ounce of time that I have. I still battle my brain issues but am becoming tougher and able to deal with them a little better, along with learning the diet and medications that help things.
Here’s to another great adventure!
IPBan Pro Update – March 2022
2022-03-26Hello humans of Earth,
IPBan Pro is beginning to pick up steam. As I optimize the simplicity, performance and feature-set, more and more people and organizations are turning to IPBan Pro to secure their computers.
Recently I started receiving cyber attacks from Asia against multiple domains of mine, including ipban.com. Unfortunately for the attackers I am running multiple layers of defense, including IPBan Pro itself 🙂
IPBan Pro is a threat to any organization or government that wants to harm or spread mis-information or limit the freedom of humans via cyber attacks. I see a future where IPBan Pro or other software of the like eliminates cyber attacks, malware, ransomware and a host of other attack vectors at very little cost.
As a species, we must out of necessity and out of our own desires for a better world move towards a global civilization that cooperates on global threats like climate change, disease, resource exhaustion and lack of equality and freedom.
Happy 2022!
2022-01-09It’s been over a year since the worst of my chronic health issues have flared up with only some relief. I am thankful that I’ve been able to find a way to live life despite the challenges.
The perspective that is continually burned into me is what we leave behind. Our legacy, our impact and the memory others have of us. This is all that matters in life.
Project-wise, I continue to work on and enhance IPBan Pro. The latest 1.7.0 updates greatly reduce memory usage and increase performance.
Here’s to a great year!
Health Update – August 2021
2021-08-22Greetings once again. I spent some time at the Mayo Clinic a few months ago. I came out of there with a diagnosis that fits pretty well with what I am dealing with:
– Chronic PPPD
– Chronic, sometimes intermittent vestibular migraine
– Chronic tinnitus
– Occasional BPPV
There is a lot of medical terms, so I will sum up, but feel free to search this stuff up online if you are curious.
PPPD:
PPPD stands for Persistent postural-perceptual dizziness. Essentially I am always dizzy, unsteady and foggy. Some days are worse than others. I treat this condition with medication and a lot of vestibular therapy. Mayo Clinic hopes that I can improve 50-85% long term. Right now I would say I am hitting more in the 25% range improvement from my worst. I hope long term to get this under control.
Vestibular Migraine:
I get regular migraines. They are moderately painful, but the more debilitating symptom is the inability to focus on anything, including computer screens. When I get these really bad, I have to close my eyes for hours until they settle down. I deal with these weekly. I’ve tracked them down, partially, to diet and using computer screens too much. I am hoping to put these into remission at some point.
Tinnitus:
My brains auditory system is, for lack of a more scientific term, out of whack. I hear many different sounds all the time – whistling, humming, rumbling, metal grinding, high tones and the like. It is always there and is very loud when things are quiet. This will almost certainly be a life-long condition, barring any medication advances, which are possible, I know of some phase 2 and 3 trials of tinnitus drugs in the works or planned.
BPPV:
About once a year I am getting BPPV. Crystals in the ear responsible for sense of motion and orientation in space come loose and leak into the vestibular canals. This results in extreme vertigo whenever moving my body or head. These episodes last from a day to a few weeks. When this flares up, I am out of commission. Mayo Clinic believes my BPPV flared up my brains vestibular and auditory system, resulting in my chronic symptoms.
I also deal with brain zaps pretty much every day. These happen while using computer screens, hearing certain frequencies and most commonly during the middle of the night and when I am going to sleep or waking up. They are annoying but apparently not harmful. They cause very loud tinnitus bursts, vision distortions and colors, along with a brief sense of vertigo or dizziness.
Treatment plan:
Treating this wide range of symptoms is not possible with a single approach or medication. I found a wonderful website about chronic migraines, Migraine Strong where the woman goes over a treatment pie. Essentially, you throw a lot of treatment options at an incredibly complex system like the brain, in the hopes that some of the efforts will make a difference. My efforts include:
– Regular exercise and stretching.
– Diet (I still struggle, but am trying).
– Stress relief (meditation, massages, soft music, etc.).
– Cognitive behavioral therapy.
– Medication (I have tried a lot of them, I have a few I use now, including for sleep).
– Supplements – I take about 5-10 on any given day.
– Physical therapy (I do vestibular therapy at home daily, forcing my brain to feel dizzy and some vertigo so it gets used to it).
– Chiropractor. They have adjusted the curve of my neck and spine to be optimal, along with loosening me up.
– TMJ – I have a mouth-guard that I wear at night, and it has adjusted my jaw to the optimal position.
– Sleep. I have bad insomnia, and I wake up 4-5 times a night with brain zaps. I do all the classic recommendations for sleep.
– White noise. I cannot sleep without multiple white noise sources. My tinnitus is pretty bad when it is quiet, and the noise helps in part to mask it.
So far I still feel pretty yucky most days. I am learning mostly through the mental health approach to just accept that this is the new state of my life and not expect too much out of myself. These conditions may never get better, and I have to be ok with that fact, but I will keep trying nonetheless.
I think that has been the most helpful part of my treatment pie, mental health.
Please feel free to comment or ask any questions 🙂
– Jeff
Health Update – May 2021
2021-05-25My health situation has continued to get worse. Brain issues including tinnitus, vertigo, brain zaps, general migraine along with anxiety and depression that comes with that are all a big challenge still. I have started reaching out to specialty clinics around the country in an attempt to find a root cause. I’ve tried diet and so many medications and supplements with only minor successes at best. I’ve taken short term disability with my day job and have had to limit my screen time to no more than 30-60 minutes a day. Sadly, using a screen or even just reading anything (even a paper book) exacerbates my symptoms. But I will keep fighting this and am determined to get stabilized. I feel like before all of this I was living life on easy mode. Now I have been giving a giant kick in the pants and if I get through this I hope that the rest of my life will be different, that I will be a better person, more driven to do good in the world and enjoy life’s experiences.
Thanks for visiting, best wishes and health to you!
Appendicitis
2021-03-02So I had an emergency appendectomy in early February and am just starting to recover from it. There were complications with internal bleeding and inflammation that caused significant pain and discomfort. Thankfully my body is slowly absorbing the blood and they have not had to go in a second time to clean me out 🙂
I am still dealing with brain zaps, dizziness and very bad ringing in the ears. This makes sleep an incredible challenge.
Nevertheless, I am continuing work on IPBan Pro and will strive to make it the best software on the planet to block out hackers and botnets.