• 5 Votes
    2 Posts
    1k Views
    scottalanmillerS

    Transcript:

    Today what I want to talk to you about is a standard pattern for developing bespoke or in-house custom software for
    the small business market. in SMBs it's relatively common that someone wants to make a small application, and
    traditionally we used things like MS Access and some stuff like that to do this. And that's been less than ideal, and I think
    most people understand that they don't want to do that, but a lot of people don't know where to go other than "not
    Access" and that leaves some problems as you can kind of skew off in all kinds of directions as you try to figure out what
    you should do rather than focusing on what you shouldn't. One of the problems here is that there are so many
    ways you can make this work, but there's only so many that really make sense in the majority of circumstances and that's
    why we kind of have a standard standard pattern.

    It's not a best practice, it's nothing like that, but there is a pattern of how to approach this as kind of a baseline of "unless you have a reason not to do things this way consider that this is probably the way to do it", and what that is is want so a couple things: one - your application is going to be web-based unless you have a really strong technical reason why it can't be and you'd better be sure about that. It's going to be web-based - that's what a modern application looks like and it's
    what a modern application has looked like for a long time. Do not assume that you're going to start with something
    else and only go web-based if you have to; it's you assume you go web-based you're going to have a web interface and
    there are situations where that doesn't apply, but don't start somewhere else start with the baseline move away from
    it where it's applicable to do this.

    The language of choice if you are not already a competent programmer in some specific language is PHP; not because PHP is the most amazing language ever, not because PHP provides us all kinds of technology we don't have other places,
    but because it is simple, it is universal, it is very functional, it is custom designed for this exact use case, and it is super easy to find people with experience in PHP to help you whether it's online or you've got to hire someone or your company needs to maintain this in the future. For all of those purposes PHP is the ideal language, not only that but if you need to hire PHP they tend to be lower in cost than a lot of other languages.

    You are neither constrained because it is a language that is very hard to learn or very obscure like f-sharp or Ocaml or
    something like that, nor are you charged a premium because you're dealing with a language that is archaic and the only
    people who would be using it or people who are trapped with it say COBOL or Fortran or Visual Basic. So PHP really
    fits into a perfect spot here where it meets all the checkboxes that you would reasonably have for a normal business
    application.

    If you need something other than PHP chances are you will know and it won't actually be that you need something else it's that something else will have a specific benefit that makes sense. For example Ruby on Rails - you may already know Ruby or you may be interfacing with other Ruby components - so Ruby on Rails might make great sense or you may be a Python developer already and Python with Django just fits your needs. All that's fine, but if you don't have something driving you to some other language assume PHP.

    One of the really big reasons for this as opposed to say C# or VB.NET that a lot of people feel might be easier to use one PHP is easier to it's more universal in three it doesn't provide any lock in whether real or perceived to an expensive
    proprietary platform. PHP allows you to deploy whether to a platform as a service provider or to your own systems
    whether there are free ones or paid ones or whatever. It provides you the flexibility in the future to do what's needed - even if you have things today that lock you in that doesn't mean you should invest into that technical debt.

    If you're making a new investment in new code it should be towards something that gives you the freedom to do what you
    need in the future this is just basic protections basic best practices around developing don't create lock-in without very clear reason to justify it and sometimes even with very clear reason really really work hard to justify that locking is a terrible thing. So we also assume with the rarest of exceptions that your application is going to need a database to hold the data on the back end. Not always true, but certainly most times if you don't need one just don't use one. If you do need one look to MongoDB or MySQL as a lot of people have used that in the past, MariaDB is kind of where
    the development is going in the future. A lot of the the best platforms or the most common platforms have moved to
    MariaDB from MySQL for those who are not aware MariaDB is a drop-in replacement for MySQL. Don't don't consider those two different products. Just if you're if you're getting one go check out MariaDB to get that it that's really ideal if
    you need a relational database that's on the the slightly leaner side. It is fast and easy and lots of people know it, but
    it's it's not the most robust it's pretty robust it's a good platform but if you need a really powerful robust database or you're really versed in this one PostgreSQL is the other really awesome choice.

    Both of these are all three of these really are completely free you have unlimited open source options. You can deploy to Windows, you can deploy to Linux, you can float deploy to BSD, you can deploy them Solaris, you can put it on Mac, you have no lock-in. You can put it wherever makes sense including unlimited free platforms and hosting without limitations. So you are free and clear to do what you need to do. That said it's also important to consider that relational databases may not make sense to you for you for your project. A lot of things don't people jump it to that a lot of times when they're making internal software and PHP specifically is super easy to work with MySQL or MariaDB. Most documentation kind of
    assumes that that's what you're going to do there are loads of NoSQL options out there such as Redis or MongoDB or
    Cassandra, all kinds of things, and they may make great choices for you, depending on the type of data that you're going to
    be storing.

    If you're making a really simple application you're probably going to lean towards traditional relational databases not because they make sense, but because they're easy and assumed but if you're doing a lot of things, especially if you're doing distributed software where you may need to handle like failover or unbelievable performance or geographically disparate locations, a lot of NoSQL options may be very very appropriate for you. And remember it is actually high complexity that tends to push you towards relational databases and simplicity that pushes you away - that's not a given thing, but like for example Redis is a key value pair database so it tends to be very good for extremely basic use case
    whereas something like MongoDB is a document database and it's very very good for document style data great for
    light posts on a website or tracking assets things like that it tends to be very very strong.

    Whereas relational data but relational databases tend to be very good for financial data where you need really really strong relations between lots of different actors and objects. So there's a lot to choose from there, but make sure when you're looking at your database and your platforms that you're looking at things that are not going to lock you in unnecessarily for the future, because that will cost you potentially an extreme amount of money because what is minor technical debt today can be crippling technical debt just a year or two down the road. And when your successors come they may be very unhappy to find that you are in a situation where you've created an amount of debt that will cost them more than recreating the project to get away from.

    So that's just a baseline to start with and I think really gives a strong almost every time we have a conversation which is
    pretty often about how people are going to approach a problem like this the answer really comes out to being PHP and
    bring a DB it's free, it's easy, there's so many resources for it, there's always someone to help you, it's a good place to
    start only vary from that if you find your reasons you have to.

  • PHP 7.2 Slated to Release in November 2017

    News
    5
    1 Votes
    5 Posts
    1k Views
    Reid CooperR

    Maybe we are in for something good when 8.0 comes out.

  • 1 Votes
    12 Posts
    4k Views
    C

    @scottalanmiller How are you liking Salt Stack?

  • Ubiquiti vulnerability

    News
    14
    0 Votes
    14 Posts
    3k Views
    JaredBuschJ

    @stacksofplates said in Ubiquiti vulnerability:

    @JaredBusch said in Ubiquiti vulnerability:

    @stacksofplates said in Ubiquiti vulnerability:

    @JaredBusch said in Ubiquiti vulnerability:

    None of that is the EdgeMax series.

    That is all the original wireless stuff before even the Unifi line.

    Yes it is all still currently available, but not nearly as horrible as that article is trying to insinuate.

    All that gear should be behind a router normally.

    Ya I was looking through it and noticed that. The tough switch was in there, but that's the only non bridge type device I saw.

    The tough switch has been a dead product for years.

    Ah didn't realize that. I've seen it for sale a few places, but never noticed they weren't produced any more.

    It might still be produced, but it has not been developed against at all.

  • Web Hosting Options

    IT Discussion
    11
    3 Votes
    11 Posts
    3k Views
    scottalanmillerS

    @wirestyle22 said in Web Hosting Options:

    @scottalanmiller said in Web Hosting Options:

    A Small Orange uses cPanel and has been very good.

    I love a small orange. Have never had a bad experience with them.

    It's been great here.

  • 3 Votes
    1 Posts
    1k Views
    No one has replied
  • 4 Votes
    20 Posts
    5k Views
    JaredBuschJ

    @scottalanmiller said in Installing a Basic LAMP Stack on CentOS 7:

    @NashBrydges said in Installing a Basic LAMP Stack on CentOS 7:

    @scottalanmiller I haven't yet. About to give it a try. Stuck to legacy since that was what I was reading everywhere.

    Where is everywhere? Technet says to not use legacy.

    https://technet.microsoft.com/en-us/windows-server-docs/compute/hyper-v/supported-centos-and-red-hat-enterprise-linux-virtual-machines-on-hyper-v

    Legacy is a fallback driver that you never want to use, it's low performance and high overhead. If you needed that for CentOS, it would make Hyper-V a silly, non-production ready platform. But Hyper-V is a good, solid performer.

    Not only that, but I install all of my CentOS 7 VM's as Generation 2 when on Hyper-V they work perfectly with default settings for everything except secure boot. Uncheck secure boot. Everything else is 100% default settings.

  • 2 Votes
    4 Posts
    1k Views
    IRJI

    @BRRABill said in How to Reset your Wordpress Admin Password:

    @IRJ said in How to Reset your Wordpress Admin Password:

    @scottalanmiller How do you put your scripts on here. I was looking for a toggle in the toolbar for it. Is there some code that you use?

    use the ` character 3 times

    you mean this? you mean this?

    cool beans

  • 1 Votes
    1 Posts
    747 Views
    No one has replied
  • 4 Votes
    4 Posts
    19k Views
    JaredBuschJ

    @scottalanmiller said:

    Just tested and working great for me.

    It makes the warning go away. No clue if it helps performance any.

  • 2 Votes
    7 Posts
    7k Views
    JaredBuschJ

    If you want to enable PHP 7 you need to edit a different repo file to find the remi-php70 repo to enable.

    nano /etc/yum.repos.d/remi-php70.repo

  • 3 Votes
    9 Posts
    2k Views
    scottalanmillerS

    @JaredBusch said:

    and while I sure some many people will have 25 year old systems.... they seriously should not.

    FTFY

  • Laravel Homestead

    Developer Discussion
    4
    1 Votes
    4 Posts
    1k Views
    RojoLocoR

    You mean it's not a prefab, disposable housing solution for the homeless? (what else would you think when you heard "vagrant box"?)

  • 6 Votes
    143 Posts
    71k Views
    scottalanmillerS

    @clisting said in Installing PocketMine MineCraft PE Server on CentOS 7:

    it constantly disconnects me. the server appears to be online please help me.

    I've not touched this in three and a half years, I'm afraid. This stuff easily doesn't work any longer 😞

  • PHP 7 is Here

    News
    4
    1 Votes
    4 Posts
    2k Views
    scottalanmillerS

    I wonder how much this will impact CPU investment in the next 24 months as the needs of the cloud computing world start to scale back temporarily.

    Have you guys at ownCloud looked to see if there are significant changes in memory for these speed boosts? Like is more or less memory being consumed?

  • Testing out EspoCRM

    IT Discussion
    5
    0 Votes
    5 Posts
    2k Views
    stacksofplatesS

    @art_of_shred said:

    @johnhooks Zurmo is on our list to look at. What did you like about it? Anything specific?

    I liked the interface a lot. It was pretty easy to use. I didn't use nearly all of the features. Mostly just to track possible website jobs and some other small stuff. It was one of the only free ones that had a nice mobile interface at the time.

  • PHP 7 RC7 Released

    Developer Discussion
    1
    1 Votes
    1 Posts
    937 Views
    No one has replied
  • 3 Votes
    14 Posts
    4k Views
    scottalanmillerS

    @coliver said:

    Wasn't there a project that ran Python on top of Python?

    Likely.

  • ownCloud development reports

    Developer Discussion
    2
    5 Votes
    2 Posts
    1k Views
    mlnewsM

    Makes sense, thanks!

  • PHP 7 Release Candidate Drops

    News
    1
    1 Votes
    1 Posts
    887 Views
    No one has replied