Skip to content

Month: June 2018

Software Distribution Simplified with GuancheMOS

In an ideal world there is a person responsible for every step in software development, from coding, UI design, distribution, documentation, marketing and support. All of this can seem really overwhelming for independent developers and small businesses. But if you break it down and take it one piece at a time, it’s manageable by even the smallest team of one. Right now, let’s look at software distribution.

For software, distribution usually means generating and validating unique serial numbers for each of your products and users. Serial numbers (or license keys) help you manage your users, unlock a free trial or demo version for full use and, of course, minimize illegal use of your apps.

Comments closed

#JustCode Challenge Week 1 – Color Picker

It’s the first week of the Just Code challenge so I’m starting with something pretty simple. This app lets you choose a color using the system color picker and then shows you the color values in hexadecimal (useful for programming, HTML and CSS), RGB (red, green, blue), HSV (hue, saturation,value) and CMY (cyan, magenta, yellow).

Comments closed

Create a Preferences Class with Operator_Lookup

Xojo is an Object Oriented Programming Language and, among other things, that means that it supports Methods Overloading. We have seen in other posts that some of these overloaded methods can be Class Constructors, but, there are others things you can do. For example, we can overload the operators. These are the methods in charge of adding two instances of the same class, subtracting, multiplying or dividing them. But we also have at our disposal another operator we can overload: Lookup. What advantages does this give us and how it does it work? Let’s explore it while building a Preferences class we can use in any of our projects.

Comments closed

Jump Right In! Just Code Challenge

I’m often asked by kids and adults how they can start coding and learn to make apps? You could start with the usual books or videos.

But maybe you want to jump right in. When I started programming that is exactly how I learned. I tried things to see what worked and what didn’t work. I also looked at and modified other programs I found.

You can learn to code if you just code.

Comments closed

Net Neutrality is dead, long live Net Neutrality!

Earlier this week, the FCC’s repeal of Net Neutrality officially when into effect. What does this mean? It means that the rules that were put into place to prevent ISPs from abusing their power are gone. You might be wondering what power they actually have? I’ve already written about this before but in summary, most people only have a single option for internet service. That means that for them, there is no competition. Their ISP has them by the proverbial short hairs and there’s no other place most of us can go for Internet access. Net Neutrality at least prevented those ISPs from really abusing their monopoly. That’s now gone.

As the Electronic Frontier Foundation said, you’re not going to see your Internet service suddenly slow to a crawl or block specific sites. It will be more of a steady decline. It’s like having terminal cancer. It won’t kill you tomorrow but it will eventually.

Comments closed

Which DLLs can I move and where?

After seeing this conversation on the forums, I thought it would be helpful to run through why you can move some of your app’s DLLs but you cannot move others.

On Windows, the Visual Studio C Runtime DLLs can be in one of two locations on systems that do not already have them installed. All versions of Windows prior to Windows 10 would need these installed.

Comments closed

Prepare Your Classes to Work in Simulated or Real Modes

In many of our development projects, if not all, we are confronted with situations when we need to test our classes before the final deployment of a project. I’m not talking about Unit Testing here, though I highly recommend the excellent session on that topic from XDC 2018.

For example, it would not be desirable to send hundreds of emails to all the entries in a database simply to test one of the workflow steps or to verify that emails are being delivered as expected. It would be a lot simpler, and less disruptive to those using your app, to test using a few email addresses that are under your control.

So let’s establish a mechanism that allows us tell our apps when to run in a “simulated” mode vs. a “real” mode for all or some of the components that we need to test along the development cycle.

Comments closed