Tag Archives: Uncategorized

The Truth About Cloud Hosting Vs. Self Hosting for Enterprises!

As technology advances and businesses expand, the decision between cloud housing and self hosting becomes increasingly important. Companies must carefully consider the actual costs of each option and weigh the potential benefits against the risks.Cloud housing, also known as cloud computing, is a popular choice for many enterprises. It involves renting server space from a third-party provider and accessing data and services through the internet. The initial cost of cloud housing is often lower than self hosting, as there is no need to purchase and maintain equipment or hire dedicated IT staff.

However, the long-term costs of cloud housing may be significantly higher. While providers offer flexible pricing models, over time, the cost of maintaining cloud services can surpass self hosting. In addition, enterprises may face unexpected expenses, such as fees for moving data, or overage charges for exceeding usage limits.Self hosting, while initially more expensive, may ultimately be the more cost-effective choice for enterprises. By owning and maintaining their own servers, businesses have greater control over their infrastructure and data.

They can optimize their technology to meet their specific needs and avoid the unexpected costs associated with cloud services.Additionally, self hosting can result in improved security and data management. With data stored in-house, businesses have more control over access and can implement more stringent security measures. They are also better equipped to handle data breaches and other security incidents.In conclusion, the decision between cloud hosting and self hosting for enterprises requires a careful analysis of costs and benefits.

While cloud hosting may offer initial cost savings, the long-term costs and risks may outweigh the benefits. Self hosting, though more expensive upfront, offers greater control, security, and cost-effectiveness over time.

John

The Struggles of Disabled-Owned Small Businesses in the Technology Sector

The technology sector is booming, with countless new startups and small businesses emerging every day. However, one group that is often left behind in this rush for innovation and growth is disabled-owned small businesses. These businesses face unique challenges that make it difficult to compete in the technology sector, and the disparity between disabled-owned businesses and other businesses is a cause for concern.

According to a report by the National Council on Disability, disabled-owned small businesses face numerous obstacles that other businesses do not. These obstacles include limited access to capital, lack of accessibility in the workplace and in technology, and discriminatory practices by larger companies. As a result, disabled-owned businesses are often at a disadvantage when it comes to competing in the technology sector.

One of the biggest challenges faced by disabled-owned businesses is the lack of access to capital. According to a study by the Small Business Administration, disabled-owned businesses receive only a small fraction of the funding that other businesses receive. This lack of access to capital can make it difficult for disabled-owned businesses to invest in new technology, develop innovative products, or expand their operations.

Another major obstacle is the lack of accessibility in the workplace and in technology. According to a report by the World Health Organization, over 1 billion people worldwide live with some form of disability, and many of them face barriers to accessing technology and participating fully in the workplace. This can include physical barriers, such as inaccessible buildings, as well as digital barriers, such as websites and apps that are not designed with accessibility in mind.

As a result of these challenges, disabled-owned small businesses often struggle to compete with other businesses in the technology sector. According to a report by the U.S. Chamber of Commerce Foundation, disabled-owned businesses make up only a small fraction of technology startups and small businesses, despite the fact that disabled individuals have higher levels of education and entrepreneurship than the general population.

One of the most significant barriers to success for disabled-owned businesses is discrimination. According to a study by the National Bureau of Economic Research, disabled individuals are more likely to experience discrimination in the workplace than other groups. This can make it difficult for disabled individuals to find employment, start their own businesses, or access funding and resources to support their businesses.

Despite these challenges, there are many disabled-owned small businesses that are thriving in the technology sector. These businesses are often founded by disabled individuals who have a deep understanding of the challenges faced by the disability community, and who are committed to creating innovative products and services that address these challenges.

One such business is AssistiveWare, a software company that develops assistive technology for people with disabilities. Founded by David Niemeijer, who has a physical disability himself, AssistiveWare has grown to become a global leader in assistive technology, with customers in over 150 countries.

In conclusion, the disparity between disabled-owned small businesses and other businesses in the technology sector is a cause for concern. Disabled-owned businesses face unique challenges that make it difficult to compete, including limited access to capital, lack of accessibility, and discrimination. However, there are many disabled-owned businesses that are thriving in the technology sector, and these businesses are often at the forefront of innovation and entrepreneurship. It is important to support and empower disabled-owned businesses, and to work towards a more inclusive and accessible technology sector for all. As disabled entrepreneur Jenelle Marie Pierce puts it, “We need to remember that people with disabilities are a part of society and that we are consumers and creators, just like everyone else.”

The technology sector is booming, with countless new startups and small businesses emerging every day. However, one group that is often left behind in this rush for innovation and growth is disabled-owned small businesses. These businesses face unique challenges that make it difficult to compete in the technology sector, and the disparity between disabled-owned businesses and other businesses is a cause for concern.

According to a report by the National Council on Disability, disabled-owned small businesses face numerous obstacles that other businesses do not. These obstacles include limited access to capital, lack of accessibility in the workplace and in technology, and discriminatory practices by larger companies. As a result, disabled-owned businesses are often at a disadvantage when it comes to competing in the technology sector.

One of the biggest challenges faced by disabled-owned businesses is the lack of access to capital. According to a study by the Small Business Administration, disabled-owned businesses receive only a small fraction of the funding that other businesses receive. This lack of access to capital can make it difficult for disabled-owned businesses to invest in new technology, develop innovative products, or expand their operations.

Another major obstacle is the lack of accessibility in the workplace and in technology. According to a report by the World Health Organization, over 1 billion people worldwide live with some form of disability, and many of them face barriers to accessing technology and participating fully in the workplace. This can include physical barriers, such as inaccessible buildings, as well as digital barriers, such as websites and apps that are not designed with accessibility in mind.

As a result of these challenges, disabled-owned small businesses often struggle to compete with other businesses in the technology sector. According to a report by the U.S. Chamber of Commerce Foundation, disabled-owned businesses make up only a small fraction of technology startups and small businesses, despite the fact that disabled individuals have higher levels of education and entrepreneurship than the general population.

One of the most significant barriers to success for disabled-owned businesses is discrimination. According to a study by the National Bureau of Economic Research, disabled individuals are more likely to experience discrimination in the workplace than other groups. This can make it difficult for disabled individuals to find employment, start their own businesses, or access funding and resources to support their businesses.

Despite these challenges, there are many disabled-owned small businesses that are thriving in the technology sector. These businesses are often founded by disabled individuals who have a deep understanding of the challenges faced by the disability community, and who are committed to creating innovative products and services that address these challenges.

One such business is AssistiveWare, a software company that develops assistive technology for people with disabilities. Founded by David Niemeijer, who has a physical disability himself, AssistiveWare has grown to become a global leader in assistive technology, with customers in over 150 countries.

In conclusion, the disparity between disabled-owned small businesses and other businesses in the technology sector is a cause for concern. Disabled-owned businesses face unique challenges that make it difficult to compete, including limited access to capital, lack of accessibility, and discrimination. However, there are many disabled-owned businesses that are thriving in the technology sector, and these businesses are often at the forefront of innovation and entrepreneurship. It is important to support and empower disabled-owned businesses, and to work towards a more inclusive and accessible technology sector for all. As disabled entrepreneur Jenelle Marie Pierce puts it, “We need to remember that people with disabilities are a part of society and that we are consumers and creators, just like everyone else.”

John

#DisabledOwnedBusinesses #DisabledOwnedSmallBusiness #DisablilityInTech #Technology #Startups #SBA #SmallBusiness

The Hidden Costs of Cloud Micro-Segmentation: Why Self-Hosting May Be the Better Option

As more and more companies move to the cloud, they are discovering the hidden costs of micro-segmentation – the practice of breaking down cloud services into smaller components and charging for each one individually. While the individual prices may look attractive, the end-to-end cost of a complete solution can be outrageously expensive, often more so than self-hosting the solution on-premise.

According to a study by 451 Research, 90% of enterprises are using some form of cloud computing, and many of them are seeing unexpected costs as they migrate workloads from on-premise solutions to the cloud. The study found that on average, companies overspend on cloud services by 23%, and much of this overspending is due to the complexity of cloud pricing models.One of the main reasons for the complexity is the micro-segmentation of cloud services. Cloud providers often break down services into smaller components, such as storage, computing power, and network bandwidth, and charge for each component individually.

While this may seem like a good way to offer flexibility and choice to customers, it can quickly add up, especially for companies that require a complete end-to-end solution.To make matters worse, cloud providers often make it difficult to calculate the total cost of a solution. Instead, they provide pricing for each component separately, without taking into account the other components that are required to create a complete solution. This can lead to unexpected costs and budget overruns, as companies are forced to pay for services they didn’t realize they needed.So, what can companies do to avoid these hidden costs? One option is to consider self-hosting the solution on-premise. While this may seem like a step backward, it can actually be more cost-effective in some cases. According to a study by Forrester Research, companies that self-host their applications can save up to 70% compared to using a public cloud provider.Self-hosting allows companies to have complete control over their infrastructure and avoid the hidden costs associated with micro-segmentation. However, it’s important to weigh the pros and cons of self-hosting versus using a public cloud provider. Self-hosting requires a significant upfront investment in hardware and software, as well as ongoing maintenance costs. Public cloud providers, on the other hand, offer flexibility and scalability, and may be a better option for companies that need to rapidly scale their infrastructure.In conclusion, the micro-segmentation of cloud services can be a hidden cost that many companies overlook when migrating to the cloud. While it may seem like an attractive option at first, it can quickly add up, especially for companies that require a complete end-to-end solution.

Self-hosting may be a better option for some companies, but it’s important to weigh the pros and cons before making a decision.

#CloudCosts #OnPremise #BudgetControl

Are cloud providers taking us for a ride? The extreme micro segmentation of cloud services is causing businesses to bleed out their budgets. What looks like an attractive price for individual components turns out to be an outrageous cost for the end-to-end solution.… https://t.co/s8Uav9KtOq



from Twitter https://twitter.com/spindlecrank

Cloud Services Are Seriously Nickle And Diming Us To Death With Micro-Segmentation Of Common Services

I look at my Azure bill each month and cannot make heads or tails of it because each service I use in Azure is so broken down into such fine pieces that it makes no sense to me. I mean take a function, you pay for the memory it consumes, the CPU cycles it consumes, the bandwidth it consumes, and the total number of times it is executed each month. Come the fuck on! How much finer can you break a service down and charge separately for each component and then charge excessively for each component and then advertise it as a single item?

Seriously! I have spent the last month talking to Azure Sales, Microsoft Partner Solutions (I’m a partner I must admit), and Azure Billing trying to get an accurate quote for 4 C# functions executing 14,400,000 times a month consuming less than 128MB ram and using less than 512MB of bandwidth a month. After a month my answer is that no one CAN TELL ME! I was taken aback by that and told to try the pricing calculator after being told in a round-robin fashion to talk to so and so and then that person would refer me to another section and they would refer me back to another section that I had talked to two weeks earlier. It is just sad that they are billing this stuff and the people who are selling it and generating the billing statements don’t know how to generate a quote based on numbers calculated by their own pricing calculator LOL!

It all goes back to my post title, cloud companies have micro-segmented everything they sell down so far to their basic components and are charging outrageous prices for each and then advertising them as a whole package with no price tag on it. They just say, “Hey we got Serverless Functions! They’re easy to set up and use!” They don’t tell you that they are gonna bill you out the ass for each individual little piece that makes up the total function in that pitch or that they can’t honestly quote you an accurate price other than say get on a pricing plan and pray you don’t go over and end up paying Consumption Tier Pricing for going over your cap.

Apps are going the same way with micro-billing and features but I’m not going that way with mine. I’m going subscription in order to keep them updated and be able to keep my backends up to date and development environment current but I think I charge a reasonable price. That is what I am trying to do now with my upcoming app to bring the subscription cost down to a reasonable cost but Azure will literally eat 75% of the revenue generated from the individual subscription as it currently stands and I can’t bring the cost down enough to really make it more appealing to the end user. That is fucking sad.

Four C# functions should not cost $9500 a month for just an estimated 1000 users…… even when it takes them only 6 seconds to execute a task per user, per function…….ever…..

John

Configure Mobile.BuildTools in .NET MAUI to keep your secrets safe

I had some issues at first with compiling after doing my first migration from Xamarin to .NET MAUI with Mobile.BuildTools but I went back to some of mother other apps and found my old solution to a new problem.

The nuget works great in MAUI and I am more comfortable with it than some of the newer methods to keep secrets out of your source. So here is a quick overview of what it takes to configure it and get it working in your .NET MAUI or Xamarin app.

Understanding the configuration file for the nuget is key. There are some subtle things in the config that need to be set properly in order for it to work right. Here is an example config for your to look at.



So in the JSON file the basics I commented on are to set the project name, class name (I made a folder called Helpers and put “Helpers” there in that spot), and root namespace of the app. Then you can enter in your secret NAME/TYPE pairs, so it can be a string or whatever. Generally, it will be strings for your secrets but what you name them here is a reference in the actual secrets file itself.

The secrets file should be named after the class name you defined in your JSON file. So if you called it AppSecrets then you would name your secrets file “appsecrets.json.” Pretty straightforward forward but it can lead to problems later on that are hard to figure out without some debugging. In your secrets file you use the NAMES defined in your config as KEY/VALUE pairs in it and it is formatted in ordinary JSON format like below.



Now in code, you refer to your secrets by the Class Name then a dot then the Secret Name you input into your config. So you would refer to ApiKey as “AppSecrets.ApiKey.” So in your code, you can refer to it like this, “var myapikey = AppSecrets.ApiKey.”

The rest can be ignored if you are not using the full capabilities of Mobile.BuildTools.

If you run into a compile error complaining about build tools that refer to some weird message about build properties, here is what you need.



Name it like in the gist and then place that file with your .sln file in the root of your project so MS Build can find it. Then the error should go away, I don’t remember the exact specifics of it but the file remedies that.

Adding A Foreground Service To Your .NET MAUI Android App – Updated Feb 14, 2023

It’s not well documented and I had to scrape stuff together from several sources and post on a couple of different forums but I have a working foreground service that puts up a notification in the notification tray that is tappable to reopen the app after you close it. Here is the code to enable it by file in your project:



They are out of order for some reason but first, you want to create the interface in the root of your project called IService.cs with two methods Start and Stop. Just copy the example and adjust the namespace. After that is done, in your android folder create the foreground class, name it what you want but use the inherited interface and Service class. Once that is done, edit MauiProgram.cs to add the entries I have in the example for the service, the property, and the two builder services, and then end as I have it where it calls those services and then calls app. On your home page make a property referencing the service and then also a reference to them in the constructor as well to initialize the service.

At this point, you can either call it through a button or have it launch automatically however you want it from that page or whichever page you choose.

Now I am assuming you are only targeting Android in your project, if you are not then your need to create dummy classes in your other project folders that reference the IService interface so that there are no issues and then in whichever page you choose to launch the service from use:

#if ANDROID #ENDIF around the Service.Start()/Service.Stop() to isolate to just Android or if you were smart and blackhole the interface references in your other classes’ implementations then don’t worry about it 🙂

John

Edit!

You need one more thing if you’re targeting Android 13 and up. That would be the Post Notification permission and getting that from the user. Currently .NET MAUI essentials doesn’t have that built in but if you dig into the docs on Microsoft you’ll find out how to create an extension class to add it. Also, in your AndroidManifest.xml you need to add the following:



Then just do like normal before starting the service, check for the notification permission and request it if it’s not granted.

Edit 2!

If you’re building a Shell App and you see a crash when bringing the app off the back stack then here is the work around!

In your MainActivity.cs add Launchmode = Launchmode.SingleTop where I have it in the example below and it should go away.



Edit 3!

Found this this morning during debugging! In your AndroidManifest.xml in the Application section add the following entry.

android:enableOnBackInvokedCallback=”true

John

[wpedon id=3183]

Apples New UIDevice.Name Entitlement

If you were like me and trying to figure out how to implement the new entitlement to get the iOS and iPadOS Device Name Entitlement to work then look no further!

First after you get your entitlement approval, go to the developers portal and go to your apps Identification entry and a new tab for entitlements will have showed up. There you will find the UIDevice.Name entitlement. Check it and save it. Then go to your profile for development and deployment and just save them again to ensure the new entitlement are attached with the ID is secured to the profiles. I’m not sure if you need a new development and deployment certs but I would revoke the old ones and just make a new set to be sure.

Once that is done, go into the key chain on your Mac and delete the old certs and install the new certs. Export P12’s and import them into your Visual Studio IDE (I would clean out the old certs first under %APPDATA%/Local/Xamarin/iOS) so that is has them as well on the Windows side and reimport the profiles from the developer portal. I would reimport the profiles into XCode and also VS Mac as well.

Once that is done, on your Mac/Windows machine edit your Entitlements.Plist and add the following line to it:

<key>com.apple.developer.device-information.user-assigned-device-name</key> <true/>

Do a clean and you should be able to do a build and see the device name now if all went well. I went through so many iterations of trying things and not finding information on the internet for doing it through MAUI that I hope that I have guided you in the right direction!

John

Is .NET MAUI ready now?

The short answer is maybe and the long answer is no. I started my next project totally Xamarin but when the news hit that although they were not sunsetting it until the end of 2023, the last big update to Xamarin.iOS was the last.

So it quickly turned into a .NET MAUI project and the conversion process is not a “day long” event like Microsoft put in their blog. It was more like a month and spending 1700 bucks on new MAUI controls. So, no Microsoft it’s not a day to convert.

Speaking of controls Telerik needs to lower their price because what you’re getting is in beta at best.

App Center support is alpha at best and not all features implemented. And don’t even think of targeting .NET 7 either as they only started working on supporting 6.

So my summary is they pushed .NET MAUI as fast as they could leaving all the support entities behind. I mean really it’s like the control and other providers are playing catch-up and .NET MAUI just plows on leaving what makes an app complete in the dust.

John

After thought for me is AppCenter is a big mess and barely supporting. NET 6. They are never going to catch up with .NET MAUI. Crashes is weird and Analytics is throwing an exception whenever called. I’ve submitted bug reports on them, hopefully they’ll get fixed.