<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3823545419527675336</id><updated>2024-11-05T19:03:20.262-08:00</updated><title type='text'>Business Software</title><subtitle type='html'>The Business of Open Source Software</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-3703391801391961300</id><published>2023-11-25T21:55:00.000-08:00</published><updated>2023-11-25T21:55:55.212-08:00</updated><title type='text'>An overview of the changes in PHP 8.3</title><content type='html'>&lt;p&gt;1. PHP 8.3 Release Overview:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; PHP 8.3 has reached feature freeze, with beta releases already available, and is scheduled for general availability on November 23, 2023.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; The release focuses on cleaning up the language and aligning features with the language&#39;s evolution in recent years.&lt;/p&gt;&lt;p&gt;2. New Features in PHP 8.3:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Typed Class Constants: Constants in PHP 8.3 can now declare their type explicitly, impacting interfaces, abstract classes, and child classes.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Dynamic class constant and Enum member fetch support: Allows accessing class constants and Enum members dynamically.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; json_validate() function: A new function for efficiently validating JSON strings.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Random extension additions: Enhancements to the &quot;Random&quot; extension for generating random bytes.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Addition of mb_str_pad(): A new function similar to str_pad() but works with multibyte strings.&lt;/p&gt;&lt;p&gt;3. Addition of #[\Override] attribute:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Developers can use this attribute to indicate that a method intends to override a parent method. It helps prevent mistakes during code upgrades.&lt;/p&gt;&lt;p&gt;4. Changes and Deprecations in PHP 8.3:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Various changes and deprecations are introduced, including improvements to unserialize(), class_alias support for aliasing PHP builtins, and more.&lt;/p&gt;&lt;p&gt;5. Considerations When Upgrading or Migrating:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Due to the number of deprecations and changes, PHP teams are advised to closely inspect their codebase when planning the migration to PHP 8.3.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; The blog suggests checking the official PHP documentation for migration guidance, which becomes available closer to the release date.&lt;/p&gt;&lt;p&gt;6. Final Thoughts:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; While the new features may not be a significant factor for migration, PHP 8.3 offers quality of life improvements, and upgrading ensures three years of community support.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Developers are encouraged to start investigating changes that might impact their applications and review the official PHP documentation upon release.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/3703391801391961300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2023/11/an-overview-of-changes-in-php-83.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/3703391801391961300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/3703391801391961300'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2023/11/an-overview-of-changes-in-php-83.html' title='An overview of the changes in PHP 8.3'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-2501205347046527109</id><published>2017-09-19T00:41:00.000-07:00</published><updated>2017-09-19T00:41:07.283-07:00</updated><title type='text'>Laravel Tutorial: Step by Step Guide to Building Your First Laravel Application</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h1 class=&quot;post__title&quot;&gt;
&lt;/h1&gt;
Since its initial release in 2011, Laravel has experienced 
exponential growth. In 2015, it became the most starred PHP framework on
 GitHub and rose to the go-to framework for people all over the world.&lt;br /&gt;

Laravel focuses on you, the end user, first which means its focus is 
on simplicity, clarity, and getting work done. People and companies are 
using it to build everything from simple hobby projects all the way to 
Fortune 500 companies.&lt;br /&gt;

My goal with this Laravel tutorial to create a guide for those just 
learning the framework. This guide will take you from the very beginning
 of an idea into a real deployable application.&lt;br /&gt;

This look at Laravel will not be exhaustive, covering every detail of
 the framework, and it does expect a few prerequisites. Here is what you
 will need to follow along:&lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;A local PHP environment (Valet, Homestead, Vagrant, MAMP, etc.).&lt;/li&gt;
&lt;li&gt;A database. I’ll be using MySQL.&lt;/li&gt;
&lt;li&gt;PHPUnit installed&lt;/li&gt;
&lt;li&gt;Node installed&lt;/li&gt;
&lt;/ul&gt;
Note: For the local PHP environment I am using a Mac and like to use &lt;a href=&quot;https://laravel.com/docs/5.4/valet&quot;&gt;Valet&lt;/a&gt;
 because it automatically sets up everything. If you are on Windows, you
 should consider Homestead or some flavor of a virtual machine.&lt;br /&gt;

I am attempting to go through the process of creating a new 
application just as I would in a real world environment. In fact, the 
code and idea are taken from a project I built.&lt;br /&gt;

&lt;h2&gt;
Planning&lt;/h2&gt;
Every project has to start from somewhere, either assigned to you by 
your work or just an idea in your head. No matter where it originates, 
thoroughly planning out all the features before you start coding is 
paramount in completing a project.&lt;br /&gt;

How you plan is dependent on how your mind works. As a visual person,
 I like to plan on paper, drawing out the way I picture the screens 
looking and then working backward into how I’d code it out. Others 
prefer to write a project plan in a text file, wiki, or some mind 
mapping tool. It doesn’t matter how you plan, just that you do it.&lt;br /&gt;

For this guide, we are going to be building a link directory. Here is a list of basic goals for this links app:&lt;br /&gt;

&lt;ol&gt;
&lt;li&gt;Display a simple list of links.&lt;/li&gt;
&lt;li&gt;Create a form where people can submit new links.&lt;/li&gt;
&lt;li&gt;Validate the form&lt;/li&gt;
&lt;li&gt;Insert the data into the database.&lt;/li&gt;
&lt;/ol&gt;
Let’s get started building all this out.&lt;br /&gt;

&lt;h2&gt;
The First Steps&lt;/h2&gt;
With a simple plan of attack outlined, it’s time to get a brand new 
empty project up and running. I like to put all my projects in a ~/Sites
 directory, and these instructions will use that location. I’ve already 
“parked” this directory in Valet, so any folders will automatically be 
mapped to “foldername.dev” in the browser.&lt;br /&gt;

Open your terminal application and switch into this directory.&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;cd ~/Sites
&lt;/code&gt;&lt;/pre&gt;
Next, install Laravel’s command line installer:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;composer &lt;span class=&quot;hljs-keyword&quot;&gt;global&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&quot;laravel/installer&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
Once that finishes you can create the project by running:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;laravel &lt;span class=&quot;hljs-keyword&quot;&gt;new&lt;/span&gt; links
&lt;/code&gt;&lt;/pre&gt;
This will create a new directory named “links” and install an empty 
Laravel project. Visiting “links.dev” in the browser now shows the 
default Laravel welcome page:&lt;br /&gt;

&lt;img alt=&quot;&quot; class=&quot;alignnone size-full wp-image-8457&quot; data-recalc-dims=&quot;1&quot; src=&quot;https://i0.wp.com/wp.laravel-news.com/wp-content/uploads/2016/03/laravel-landing.png?resize=525%2C234&quot; /&gt;&lt;br /&gt;

Now scaffold out the authentication system by running:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs css&quot;&gt;&lt;span class=&quot;hljs-selector-tag&quot;&gt;php&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;artisan&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;hljs-selector-pseudo&quot;&gt;:auth&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
Even though this tutorial will not dive into authentication by 
running this command, it will modify our views and routes. So by doing 
it early, we don’t have to worry about it messing with any of our code.&lt;br /&gt;

With the basics setup and working it’s time to start doing some coding.&lt;br /&gt;

&lt;h2&gt;
Building a List of Links&lt;/h2&gt;
If you start thinking about the whole finished project, it’s easy to 
get overwhelmed. The best way to fight this is to break everything down 
into small tasks. So, let’s start with showing a list of links.&lt;br /&gt;

Even though showing a list of links sounds like a small task it still
 requires a database, a database table, data in the table, a database 
query, and a view file.&lt;br /&gt;

Creating a migration will be the first step, and the Laravel Artisan command line tool can help us create that.&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;php artisan make:migration create_links_table --create=links
&lt;/code&gt;&lt;/pre&gt;
Now, open the file this command created. It will be located at database/migrations/{{datetime}}_create_links_table.php&lt;br /&gt;

Inside the up method add our new columns:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;Schema::create(&lt;span class=&quot;hljs-string&quot;&gt;&#39;links&#39;&lt;/span&gt;, &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;hljs-params&quot;&gt;(Blueprint $table)&lt;/span&gt; &lt;/span&gt;{
      $table-&amp;gt;increments(&lt;span class=&quot;hljs-string&quot;&gt;&#39;id&#39;&lt;/span&gt;);
      $table-&amp;gt;string(&lt;span class=&quot;hljs-string&quot;&gt;&#39;title&#39;&lt;/span&gt;);
      $table-&amp;gt;string(&lt;span class=&quot;hljs-string&quot;&gt;&#39;url’)-&amp;gt;unique();
      $table-&amp;gt;text(&#39;&lt;/span&gt;description&lt;span class=&quot;hljs-string&quot;&gt;&#39;);
      $table-&amp;gt;timestamps();
});
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
Save the file and run the migration:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;php artisan migrate
&lt;/code&gt;&lt;/pre&gt;
Now we need to enter some data and Laravel provides two features that
 help with this. The first is database seeds and model factories. But 
before we can use those we will need a model which can be generated like
 this:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs css&quot;&gt;&lt;span class=&quot;hljs-selector-tag&quot;&gt;php&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;artisan&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;hljs-selector-pseudo&quot;&gt;:model&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;Link&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
Open the ModelFactory.php file and let’s add one for the links table:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;$factory-&amp;gt;define(App\Link::class, &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;hljs-params&quot;&gt;(Faker\Generator $faker)&lt;/span&gt; &lt;/span&gt;{
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; [
        &lt;span class=&quot;hljs-string&quot;&gt;&#39;title&#39;&lt;/span&gt; =&amp;gt; $faker-&amp;gt;name,
        &lt;span class=&quot;hljs-string&quot;&gt;&#39;url&#39;&lt;/span&gt; =&amp;gt; $faker-&amp;gt;url,
        &lt;span class=&quot;hljs-string&quot;&gt;&#39;description&#39;&lt;/span&gt; =&amp;gt; $faker-&amp;gt;paragraph,
    ];
});
&lt;/code&gt;&lt;/pre&gt;
Next, create the link seeder, so we can easily add demo data to the table:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs css&quot;&gt;&lt;span class=&quot;hljs-selector-tag&quot;&gt;php&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;artisan&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;hljs-selector-pseudo&quot;&gt;:seeder&lt;/span&gt; &lt;span class=&quot;hljs-selector-tag&quot;&gt;LinksTableSeeder&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
Open the LinksTableSeeder.php file that was just created, and in the 
run method we will utilize the links model factory we created above:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;hljs-title&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;hljs-params&quot;&gt;()&lt;/span&gt;
&lt;/span&gt;{
    factory(App\Link::class, &lt;span class=&quot;hljs-number&quot;&gt;10&lt;/span&gt;)-&amp;gt;create();
}
&lt;/code&gt;&lt;/pre&gt;
Open the DatabaseSeeder.php and add this to the run method:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;$this&lt;/span&gt;-&amp;gt;call(LinksTableSeeder::class);
&lt;/code&gt;&lt;/pre&gt;
You can now run the migrations and seeds to add data to the table automatically:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;php artisan migrate --seed
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
Routing and Views&lt;/h3&gt;
To build out a view showing the list of links first open the routes/web.php file and you should see the default route below:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;Route::get(&lt;span class=&quot;hljs-string&quot;&gt;&#39;/&#39;&lt;/span&gt;, &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;hljs-params&quot;&gt;()&lt;/span&gt; &lt;/span&gt;{
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; view(&lt;span class=&quot;hljs-string&quot;&gt;&#39;welcome&#39;&lt;/span&gt;);
});
&lt;/code&gt;&lt;/pre&gt;
Laravel provides us two options at this point. We can either add our 
code additions directly to the route closure, where the “return view..” 
is, or we can move the code to a controller. For simplicity let’s add 
our needed code to fetch the links directory in the closure.&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;Route::get(&lt;span class=&quot;hljs-string&quot;&gt;&#39;/&#39;&lt;/span&gt;, &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;hljs-params&quot;&gt;()&lt;/span&gt; &lt;/span&gt;{
    $links = \App\Link::all();
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; view(&lt;span class=&quot;hljs-string&quot;&gt;&#39;welcome&#39;&lt;/span&gt;, [&lt;span class=&quot;hljs-string&quot;&gt;&#39;links&#39;&lt;/span&gt; =&amp;gt; $links]);
});
&lt;/code&gt;&lt;/pre&gt;
Next, edit the welcome.blade.php file and add a simple foreach to show all the links:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;@&lt;span class=&quot;hljs-keyword&quot;&gt;foreach&lt;/span&gt; ($links &lt;span class=&quot;hljs-keyword&quot;&gt;as&lt;/span&gt; $link)
&lt;li&gt;{{ $link-&amp;gt;title }}&lt;/li&gt;
@&lt;span class=&quot;hljs-keyword&quot;&gt;endforeach&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
If you refresh your browser, you should now see the list of all the 
links added. With that all set, let’s move to submitting links.&lt;br /&gt;

&lt;h2&gt;
Submitting Links&lt;/h2&gt;
The next major feature is the ability for others to submit links into
 the app. This will require three fields: title, URL, and a description.&lt;br /&gt;

I am a visual person and before planning out features that will 
require HTML I like to draw them out so I can get an idea of what I’m 
building in my head. Here is a simple drawing of this form:&lt;br /&gt;

&lt;img alt=&quot;&quot; class=&quot;alignnone size-full wp-image-8456&quot; data-recalc-dims=&quot;1&quot; src=&quot;https://i2.wp.com/wp.laravel-news.com/wp-content/uploads/2016/03/form-drawing.jpg?resize=525%2C586&quot; /&gt;&lt;br /&gt;

Since we’ve added all the core structure, model factory, migration, 
and model, in the last section, we can reap the benefits by reusing all 
those for this section.&lt;br /&gt;

First, create a new route in the routes/web.php file:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;Route::get(&lt;span class=&quot;hljs-string&quot;&gt;&#39;/submit&#39;&lt;/span&gt;, &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;hljs-params&quot;&gt;()&lt;/span&gt; &lt;/span&gt;{
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; view(&lt;span class=&quot;hljs-string&quot;&gt;&#39;submit&#39;&lt;/span&gt;);
});
&lt;/code&gt;&lt;/pre&gt;
We will also need this view file so we can go ahead and create it at 
resources/views/submit.blade.php and add the following boilerplate 
bootstrap code:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs javascript&quot;&gt;@extends(&lt;span class=&quot;hljs-string&quot;&gt;&#39;layouts.app&#39;&lt;/span&gt;)
@section(&lt;span class=&quot;hljs-string&quot;&gt;&#39;content&#39;&lt;/span&gt;)
    &lt;div class=&quot;hljs-class&quot; span=&quot;&quot;&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;class&lt;/span&gt;&lt;/div&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
=&lt;span class=&quot;hljs-string&quot;&gt;&quot;container&quot;&lt;/span&gt;&amp;gt;
        &lt;span class=&quot;xml&quot;&gt;&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;div&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;row&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;h1&lt;/span&gt;&amp;gt;&lt;/span&gt;Submit a link&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;h1&lt;/span&gt;&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;form&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;action&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;/submit&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;method&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;post&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                {!! csrf_field() !!}
                &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;div&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;form-group&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;label&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;for&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;title&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Title&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;label&lt;/span&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;text&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;form-control&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;title&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;title&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;placeholder&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;Title&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;div&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;form-group&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;label&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;for&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;url&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Url&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;label&lt;/span&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;text&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;form-control&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;url&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;url&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;placeholder&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;URL&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;div&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;form-group&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;label&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;for&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;description&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Description&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;label&lt;/span&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;textarea&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;form-control&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;description&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;description&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;placeholder&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;description&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;textarea&lt;/span&gt;&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;button&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;submit&quot;&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;class&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;btn btn-default&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Submit&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;button&lt;/span&gt;&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;form&lt;/span&gt;&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;/&lt;span class=&quot;hljs-name&quot;&gt;div&lt;/span&gt;&amp;gt;&lt;/span&gt;
@endsection
&lt;/span&gt;
Now, let’s create a route to handle the POST data and do our 
validation. Let’s create that route and add our validation rules in:&lt;br /&gt;

&lt;pre&gt;&lt;code class=&quot;hljs php&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;hljs-title&quot;&gt;Illuminate&lt;/span&gt;\&lt;span class=&quot;hljs-title&quot;&gt;Http&lt;/span&gt;\&lt;span class=&quot;hljs-title&quot;&gt;Request&lt;/span&gt;;

Route::post(&lt;span class=&quot;hljs-string&quot;&gt;&#39;/submit&#39;&lt;/span&gt;, &lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;hljs-params&quot;&gt;(Request $request)&lt;/span&gt; &lt;/span&gt;{
    $validator = Validator::make($request-&amp;gt;all(), [
        &lt;span class=&quot;hljs-string&quot;&gt;&#39;title&#39;&lt;/span&gt; =&amp;gt; &lt;span class=&quot;hljs-string&quot;&gt;&#39;required|max:255&#39;&lt;/span&gt;,
        &lt;span class=&quot;hljs-string&quot;&gt;&#39;url&#39;&lt;/span&gt; =&amp;gt; &lt;span class=&quot;hljs-string&quot;&gt;&#39;required|max:255&#39;&lt;/span&gt;,
        &lt;span class=&quot;hljs-string&quot;&gt;&#39;description&#39;&lt;/span&gt; =&amp;gt; &lt;span class=&quot;hljs-string&quot;&gt;&#39;required|max:255&#39;&lt;/span&gt;,
    ]);
    &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; ($validator-&amp;gt;fails()) {
        &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; back()
            -&amp;gt;withInput()
            -&amp;gt;withErrors($validator);
    }
    $link = &lt;span class=&quot;hljs-keyword&quot;&gt;new&lt;/span&gt; \App\Link;
    $link-&amp;gt;title = $request-&amp;gt;title;
    $link-&amp;gt;url = $request-&amp;gt;url;
    $link-&amp;gt;description = $request-&amp;gt;description;
    $link-&amp;gt;save();
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; redirect(&lt;span class=&quot;hljs-string&quot;&gt;&#39;/&#39;&lt;/span&gt;);
});
&lt;/code&gt;&lt;/pre&gt;
This route is a little more complicated than the others. First, we 
are injecting the Illuminate\Http\Request which will hold all of the 
POST data. Then, we create a new Validator instance with our rules. If 
this validation fails, it returns the user back with the original input 
data and with the validator errors.&lt;br /&gt;

Finally, if everything passed validation, we use the “App::Link” model to add the data.&lt;br /&gt;

&lt;h2&gt;
Conclusion&lt;/h2&gt;
Congratulations on making it through the tutorial. This guide was 
designed to get you started on building your app, and you can use this 
as a building block to you gain the skills you need to build your 
application. I know this covers a lot of features and can be 
overwhelming if you are not familiar with the framework.&lt;br /&gt;

I hope this introduction to Laravel shows you why so many people are excited about the framework.&lt;br /&gt;

Join the weekly &lt;a href=&quot;https://laravel-news.com/newsletter&quot;&gt;newsletter&lt;/a&gt; and check out the &lt;a href=&quot;https://laravel-news.com/category/laravel-tutorials&quot;&gt;Laravel tutorials&lt;/a&gt; section of the site to go deeper and learn even more about the framework.</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/2501205347046527109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/09/laravel-tutorial-step-by-step-guide-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/2501205347046527109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/2501205347046527109'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/09/laravel-tutorial-step-by-step-guide-to.html' title='Laravel Tutorial: Step by Step Guide to Building Your First Laravel Application'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-1405709255308460933</id><published>2017-03-29T11:01:00.001-07:00</published><updated>2017-03-29T11:10:19.020-07:00</updated><title type='text'>Install Elastix from USB Step by Step</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;post-body entry-content&quot; id=&quot;post-body-2901503209057593273&quot; itemprop=&quot;description articleBody&quot;&gt;
&lt;h2&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: medium;&quot;&gt;Install Elastix from USB Step by Step &lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Elastix is one of&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; &lt;/span&gt;the best Open Source Unified Communications Servers available today, it&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; &lt;/span&gt;is very easy to install but the installer is designed to be run from&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt; &lt;/span&gt;CDROM and we can make the installation in several devices that don´t have an optical drive.  This document will guide you to modify the installer so you can install entirely from an USB Flash drive.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;Warning&lt;/b&gt;:&lt;br&gt;
 The Server Security is a very important and serious aspect in a VoIP server, this guide will not cover that but there is plenty of information on that topic in the Internet. If you are looking for a professional installation contact me and I&amp;#39;ll be glad to help you for a &lt;br&gt;
very reasonable price.&lt;/span&gt;&lt;/span&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href=&quot;http://olasoftsite.blogspot.com/2017/03/henrys-it-tech-blog-install-elastix.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/1405709255308460933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/03/henrys-it-tech-blog-install-elastix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/1405709255308460933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/1405709255308460933'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/03/henrys-it-tech-blog-install-elastix.html' title='Install Elastix from USB Step by Step'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmsnXVgQGIK-nqkMeu-zcjXR-rqUYQno5KJdY6avz9NKJgaCgBD508iO2pgsdMviwc-zAxFTvBe5ywVsbmi5yJqBG9NPZAv2GJCkh7YXBY0T4KOripXzWAGGx963eDcQ18-osILzpgn_c/s72-c/unetb1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-2628492095463439273</id><published>2017-03-22T04:35:00.001-07:00</published><updated>2017-03-22T04:37:18.303-07:00</updated><title type='text'>JQuery autocomplete tutorial with PHP and MySQL</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
My goal was to make an &lt;b&gt;autocomplete &lt;/b&gt;on a site that passed also another value as the selected to the new page.&lt;br&gt;
&lt;br&gt;I have a &lt;b&gt;MySQL&lt;/b&gt; database with a table called Customer with several fields but the important ones are :&lt;br&gt;
&lt;div class=&quot;crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate&quot; data-settings=&quot; minimize scroll-mouseover&quot; id=&quot;crayon-58d25a323d408595732007&quot; style=&quot;font-size: 12px ! important; height: auto; line-height: 15px ! important; margin-bottom: 12px; margin-top: 12px;&quot;&gt;
&lt;div class=&quot;crayon-plain-wrap&quot;&gt;
&lt;textarea class=&quot;crayon-plain print-no&quot; data-settings=&quot;dblclick&quot; readonly=&quot;readonly&quot; style=&quot;-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; overflow: hidden; z-index: 0;&quot; wrap=&quot;soft&quot;&gt;`id` int(11) NOT NULL AUTO_INCREMENT,
`firstName` varchar(50) NOT NULL DEFAULT &amp;#39;&amp;#39;,
`lastName` varchar(50) NOT NULL DEFAULT &amp;#39;&amp;#39;,
`customerCode` varchar(6) NOT NULL DEFAULT &amp;#39;&amp;#39;&lt;/textarea&gt;&lt;/div&gt;
&lt;div class=&quot;crayon-main&quot; style=&quot;overflow: hidden; position: relative; z-index: 1;&quot;&gt;
&lt;table class=&quot;crayon-table&quot;&gt;
     &lt;tbody&gt;
&lt;tr class=&quot;crayon-row&quot;&gt;
    &lt;td class=&quot;crayon-nums &quot; data-settings=&quot;show&quot;&gt;&lt;div class=&quot;crayon-nums-content&quot; style=&quot;font-size: 12px !important; line-height: 15px !important;&quot;&gt;
&lt;div class=&quot;crayon-num&quot; data-line=&quot;crayon-58d25a323d408595732007-1&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;crayon-num crayon-striped-num&quot; data-line=&quot;crayon-58d25a323d408595732007-2&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;crayon-num&quot; data-line=&quot;crayon-58d25a323d408595732007-3&quot;&gt;
3&lt;/div&gt;
&lt;div class=&quot;crayon-num crayon-striped-num&quot; data-line=&quot;crayon-58d25a323d408595732007-4&quot;&gt;
4&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
      &lt;td class=&quot;crayon-code&quot;&gt;&lt;div class=&quot;crayon-pre&quot; style=&quot;-moz-tab-size: 4; -o-tab-size: 4; -webkit-tab-size: 4; font-size: 12px !important; line-height: 15px !important; tab-size: 4;&quot;&gt;
&lt;div class=&quot;crayon-line&quot; id=&quot;crayon-58d25a323d408595732007-1&quot;&gt;
`id`&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-t&quot;&gt;int&lt;/span&gt;(11)&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-r&quot;&gt;NOT NULL&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;AUTO_INCREMENT,&lt;/div&gt;
&lt;div class=&quot;crayon-line crayon-striped-line&quot; id=&quot;crayon-58d25a323d408595732007-2&quot;&gt;
`firstName`&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-t&quot;&gt;varchar&lt;/span&gt;(50)&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-r&quot;&gt;NOT NULL&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-r&quot;&gt;DEFAULT&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-s&quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&lt;/div&gt;
&lt;div class=&quot;crayon-line&quot; id=&quot;crayon-58d25a323d408595732007-3&quot;&gt;
`lastName`&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-t&quot;&gt;varchar&lt;/span&gt;(50)&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-r&quot;&gt;NOT NULL&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-r&quot;&gt;DEFAULT&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-s&quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;,&lt;/div&gt;
&lt;div class=&quot;crayon-line crayon-striped-line&quot; id=&quot;crayon-58d25a323d408595732007-4&quot;&gt;
`customerCode`&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-t&quot;&gt;varchar&lt;/span&gt;(6)&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-r&quot;&gt;NOT NULL&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-r&quot;&gt;DEFAULT&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-s&quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
     &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
For the &lt;b&gt;HTML&lt;/b&gt; I used a simple inputfield (which can be in a form) :&lt;br&gt;
&lt;div class=&quot;crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate&quot; data-settings=&quot; minimize scroll-mouseover&quot; id=&quot;crayon-58d25a323d416817075473&quot; style=&quot;font-size: 12px ! important; height: auto; line-height: 15px ! important; margin-bottom: 12px; margin-top: 12px;&quot;&gt;
&lt;div class=&quot;crayon-plain-wrap&quot;&gt;
&lt;textarea class=&quot;crayon-plain print-no&quot; data-settings=&quot;dblclick&quot; readonly=&quot;readonly&quot; style=&quot;-moz-tab-size: 4; font-size: 12px ! important; line-height: 15px ! important; opacity: 0; overflow: hidden; z-index: 0;&quot; wrap=&quot;soft&quot;&gt;&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
    &lt;input type=&quot;text&quot; placeholder=&quot;Name&quot; id=&quot;customerAutocomplte&quot; class=&quot;ui-autocomplete-input&quot; autocomplete=&quot;off&quot;&gt;
&lt;/form&gt;
&lt;/textarea&gt;&lt;/div&gt;
&lt;div class=&quot;crayon-main&quot; style=&quot;overflow: hidden; position: relative; z-index: 1;&quot;&gt;
&lt;table class=&quot;crayon-table&quot;&gt;
     &lt;tbody&gt;
&lt;tr class=&quot;crayon-row&quot;&gt;
    &lt;td class=&quot;crayon-nums &quot; data-settings=&quot;show&quot;&gt;&lt;div class=&quot;crayon-nums-content&quot; style=&quot;font-size: 12px !important; line-height: 15px !important;&quot;&gt;
&lt;div class=&quot;crayon-num&quot; data-line=&quot;crayon-58d25a323d416817075473-1&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;crayon-num crayon-striped-num&quot; data-line=&quot;crayon-58d25a323d416817075473-2&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;crayon-num&quot; data-line=&quot;crayon-58d25a323d416817075473-3&quot;&gt;
3&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
      &lt;td class=&quot;crayon-code&quot;&gt;&lt;div class=&quot;crayon-pre&quot; style=&quot;-moz-tab-size: 4; -o-tab-size: 4; -webkit-tab-size: 4; font-size: 12px !important; line-height: 15px !important; tab-size: 4;&quot;&gt;
&lt;div class=&quot;crayon-line&quot; id=&quot;crayon-58d25a323d416817075473-1&quot;&gt;
&lt;span class=&quot;crayon-r &quot;&gt;&lt;/span&gt;&lt;br&gt;
&lt;form span=&quot;&quot;&gt;
&lt;span class=&quot;crayon-r &quot;&gt;&lt;span class=&quot;crayon-e &quot;&gt;&lt;form action=&quot;&quot; font=&quot;&quot;&gt;
&lt;span class=&quot;crayon-o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;crayon-s &quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-e &quot;&gt;method&lt;/span&gt;&lt;span class=&quot;crayon-o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;crayon-s &quot;&gt;&amp;quot;post&amp;quot;&lt;/span&gt; &amp;gt;&lt;/form&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/form&gt;
&lt;span class=&quot;crayon-r &quot;&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;crayon-line crayon-striped-line&quot; id=&quot;crayon-58d25a323d416817075473-2&quot;&gt;
&lt;span class=&quot;crayon-i &quot;&gt;    &lt;/span&gt;&lt;span class=&quot;crayon-r &quot;&gt;&lt;span class=&quot;crayon-e &quot;&gt;&lt;input font=&quot;&quot; type=&quot;&quot;&gt;&lt;span class=&quot;crayon-o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;crayon-s &quot;&gt;&amp;quot;text&amp;quot;&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-e &quot;&gt;placeholder&lt;/span&gt;&lt;span class=&quot;crayon-o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;crayon-s &quot;&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-e &quot;&gt;id&lt;/span&gt;&lt;span class=&quot;crayon-o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;crayon-s &quot;&gt;&amp;quot;customerAutocomplte&amp;quot;&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-e &quot;&gt;class&lt;/span&gt;&lt;span class=&quot;crayon-o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;crayon-s &quot;&gt;&amp;quot;ui-autocomplete-input&amp;quot;&lt;/span&gt;&lt;span class=&quot;crayon-h&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-e &quot;&gt;autocomplete&lt;/span&gt;&lt;span class=&quot;crayon-o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;crayon-s &quot;&gt;&amp;quot;off&amp;quot;&lt;/span&gt;&lt;span class=&quot;crayon-r &quot;&gt; &amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;crayon-line&quot; id=&quot;crayon-58d25a323d416817075473-3&quot;&gt;
&lt;span class=&quot;crayon-r &quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
Using &lt;b&gt;jQuery autocomplete&lt;/b&gt; one combines the autocomplete to the inputfield so at the page is a piece of Javascript.&lt;br&gt;
For this I inserted the jQuery scripts that you can find &lt;a href=&quot;http://api.jqueryui.com/autocomplete/&quot;&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://olasoftsite.blogspot.com/2017/03/jquery-autocomplete-tutorial-with-php.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/2628492095463439273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/03/jquery-autocomplete-tutorial-with-php.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/2628492095463439273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/2628492095463439273'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/03/jquery-autocomplete-tutorial-with-php.html' title='JQuery autocomplete tutorial with PHP and MySQL'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-157575503718179419</id><published>2017-01-27T03:24:00.001-08:00</published><updated>2017-01-27T03:24:19.748-08:00</updated><title type='text'>GeneralSQL: TempDB running out of space</title><content type='html'>&lt;a href=&quot;http://generalsqlnaveengupta.blogspot.com/2017/01/tempdb-running-out-of-space.html?spref=bl&quot;&gt;GeneralSQL: TempDB running out of space&lt;/a&gt;: First of all need to check, if any stored procedure (or nested) are running in Transaction. If transaction is very long means there are lot...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/157575503718179419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/generalsql-tempdb-running-out-of-space.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/157575503718179419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/157575503718179419'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/generalsql-tempdb-running-out-of-space.html' title='GeneralSQL: TempDB running out of space'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-5441062086848022330</id><published>2017-01-27T03:21:00.001-08:00</published><updated>2017-01-27T03:21:58.860-08:00</updated><title type='text'>SmartTutorials - php mysql jquery javascript ajax html5 css3 CAKEPHP tutorial: Export MySQL SELECT Query into CSV File</title><content type='html'>&lt;a href=&quot;http://blog.smarttutorials.net/2016/06/Export-MySQL-SELECT-Query-into-CSV-File.html?spref=bl&quot;&gt;SmartTutorials - php mysql jquery javascript ajax html5 css3 CAKEPHP tutorial: Export MySQL SELECT Query into CSV File&lt;/a&gt;: Sometimes we need to export MySQL SELECT query results into CSV format for testing or some other purpose. Here we are going to see how to o...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/5441062086848022330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/smarttutorials-php-mysql-jquery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/5441062086848022330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/5441062086848022330'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/smarttutorials-php-mysql-jquery.html' title='SmartTutorials - php mysql jquery javascript ajax html5 css3 CAKEPHP tutorial: Export MySQL SELECT Query into CSV File'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-7461272341669390307</id><published>2017-01-27T03:20:00.001-08:00</published><updated>2017-01-27T03:20:55.080-08:00</updated><title type='text'>Monty says: In search of a BSD/LGPL/Apache licensed client lib...</title><content type='html'>&lt;a href=&quot;http://monty-says.blogspot.com/2010/12/in-search-of-bsdlgplapache-licensed.html?spref=bl&quot;&gt;Monty says: In search of a BSD/LGPL/Apache licensed client lib...&lt;/a&gt;: We have received many requests for a client library for MariaDB (and MySQL) under a license other than the GPL, and decided that it&#39;s no...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/7461272341669390307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/monty-says-in-search-of-bsdlgplapache.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/7461272341669390307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/7461272341669390307'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/monty-says-in-search-of-bsdlgplapache.html' title='Monty says: In search of a BSD/LGPL/Apache licensed client lib...'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-8597364973983415222</id><published>2017-01-27T03:18:00.003-08:00</published><updated>2017-01-27T03:18:55.137-08:00</updated><title type='text'>mySQL DBA, Architecture, Dev, Scale, HA, Code : Building a realtime Feed with RabbitMQ Node.js AMQ...</title><content type='html'>&lt;a href=&quot;http://mysqldba.blogspot.com/2011/06/building-realtime-feed-with-rabbitmq.html?spref=bl&quot;&gt;mySQL DBA, Architecture, Dev, Scale, HA, Code : Building a realtime Feed with RabbitMQ Node.js AMQ...&lt;/a&gt;: Being a backend programmer, I rarely code in JavaScript. Today I code a lot of cross browser JavaScript with the fantastic lib jquery and it...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/8597364973983415222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/mysql-dba-architecture-dev-scale-ha_1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/8597364973983415222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/8597364973983415222'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/mysql-dba-architecture-dev-scale-ha_1.html' title='mySQL DBA, Architecture, Dev, Scale, HA, Code : Building a realtime Feed with RabbitMQ Node.js AMQ...'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-2098431761331130589</id><published>2017-01-27T03:18:00.001-08:00</published><updated>2017-01-27T03:18:14.221-08:00</updated><title type='text'>mySQL DBA, Architecture, Dev, Scale, HA, Code : Federating THE friends table in a Sharded mySQL en...</title><content type='html'>&lt;a href=&quot;http://mysqldba.blogspot.com/2015/04/federating-friends-table-in-sharded.html?spref=bl&quot;&gt;mySQL DBA, Architecture, Dev, Scale, HA, Code : Federating THE friends table in a Sharded mySQL en...&lt;/a&gt;: A friends table is the cornerstone of social applications. Its purpose is to define relationships and help answer the question what are my ...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/2098431761331130589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/mysql-dba-architecture-dev-scale-ha_27.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/2098431761331130589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/2098431761331130589'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/mysql-dba-architecture-dev-scale-ha_27.html' title='mySQL DBA, Architecture, Dev, Scale, HA, Code : Federating THE friends table in a Sharded mySQL en...'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-5683212954831393309</id><published>2017-01-27T03:17:00.001-08:00</published><updated>2017-01-27T03:17:31.169-08:00</updated><title type='text'>mySQL DBA, Architecture, Dev, Scale, HA, Code : INNODB Tablespace Copy in Go Lang</title><content type='html'>&lt;a href=&quot;http://mysqldba.blogspot.com/2016/11/innodb-tablespace-copy-in-go-lang.html?spref=bl&quot;&gt;mySQL DBA, Architecture, Dev, Scale, HA, Code : INNODB Tablespace Copy in Go Lang&lt;/a&gt;: I just uploaded a quick tool that I think you will find useful if you need to consolidate, expand innodb databases if tablespaces are in use...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/5683212954831393309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/mysql-dba-architecture-dev-scale-ha.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/5683212954831393309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/5683212954831393309'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/mysql-dba-architecture-dev-scale-ha.html' title='mySQL DBA, Architecture, Dev, Scale, HA, Code : INNODB Tablespace Copy in Go Lang'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-4389186259384219723</id><published>2017-01-27T03:11:00.001-08:00</published><updated>2017-01-27T03:11:23.944-08:00</updated><title type='text'>Open Source For Geeks: Introduction to crontab - scheduling tasks in Linu...</title><content type='html'>&lt;a href=&quot;http://opensourceforgeeks.blogspot.com/2016/12/introduction-to-crontab-scheduling.html?spref=bl&quot;&gt;Open Source For Geeks: Introduction to crontab - scheduling tasks in Linu...&lt;/a&gt;: Background   Cron is a daemon that runs in background and helps executing commands or set of commands at a predefined time. You can use to...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/4389186259384219723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/open-source-for-geeks-introduction-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/4389186259384219723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/4389186259384219723'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/open-source-for-geeks-introduction-to.html' title='Open Source For Geeks: Introduction to crontab - scheduling tasks in Linu...'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-340794000553445627</id><published>2017-01-27T03:09:00.001-08:00</published><updated>2017-01-27T03:09:41.807-08:00</updated><title type='text'>Open Source Photogrammetry: openMVG a C++ open source Multiple View Geometry l...</title><content type='html'>&lt;a href=&quot;http://opensourcephotogrammetry.blogspot.com/2013/08/openmvg-c-open-source-multiple-view.html?spref=bl&quot;&gt;Open Source Photogrammetry: openMVG a C++ open source Multiple View Geometry l...&lt;/a&gt;: : &quot;open Multiple View Geometry&quot; is a library for computer-vision scientists and especially targeted to the Multiple View Geometr...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/340794000553445627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/open-source-photogrammetry-openmvg-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/340794000553445627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/340794000553445627'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/open-source-photogrammetry-openmvg-c.html' title='Open Source Photogrammetry: openMVG a C++ open source Multiple View Geometry l...'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-5727705151438569720</id><published>2017-01-27T03:02:00.001-08:00</published><updated>2017-01-27T03:02:56.775-08:00</updated><title type='text'>Open Source GIS Blog: Video: Open GIS Data Portals</title><content type='html'>&lt;a href=&quot;http://opensourcegisblog.blogspot.com/2016/01/video-open-gis-data-portals.html?spref=bl&quot;&gt;Open Source GIS Blog: Video: Open GIS Data Portals&lt;/a&gt;: Open GIS data portals are becoming more common, and can contain lots of geospatial data, but is it a case of too much of a good thing?      ...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/5727705151438569720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/open-source-gis-blog-video-open-gis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/5727705151438569720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/5727705151438569720'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/open-source-gis-blog-video-open-gis.html' title='Open Source GIS Blog: Video: Open GIS Data Portals'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-7284962412132636534</id><published>2017-01-27T03:01:00.001-08:00</published><updated>2017-01-27T03:01:50.754-08:00</updated><title type='text'>Open Source Software &amp; Usability: LibreOffice updating its user interface</title><content type='html'>&lt;a href=&quot;http://opensource-usability.blogspot.com/2016/12/libreoffice-updating-its-user-interface.html?spref=bl&quot;&gt;Open Source Software &amp;amp; Usability: LibreOffice updating its user interface&lt;/a&gt;: I saw a recent blog post from LibreOffice about an upcoming change to their user interface. They call it the MUFFIN, a new &quot;tasty&quot;...</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/7284962412132636534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/open-source-software-usability.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/7284962412132636534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/7284962412132636534'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2017/01/open-source-software-usability.html' title='Open Source Software &amp; Usability: LibreOffice updating its user interface'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-6593582738620433880</id><published>2015-10-30T02:59:00.001-07:00</published><updated>2015-11-17T05:31:15.564-08:00</updated><title type='text'>How to Install and Configure pfSense 2.1.5 (Firewall/Router) </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;b&gt; How to Install and Configure pfSense 2.1.5 (Firewall/Router)&lt;/b&gt; &lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
 pfSense is an open source network firewall/router software distribution which is based on the FreeBSD operating system. pfSense software is used to make dedicated firewall router for a network and it is considered for its reliability and offers many features which mostly found in commercial firewalls. Pfsense can be included with many third party free software packages for additional functionality.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
As we are using many popular firewall’s in industry level such as Cisco ASA, Juniper, Check Point, Cisco PIX, Sonicwall, Netgear, Watchguard etc.. We can use the pfsense in free of cost with rich web interface to configure all our network components. pfsense supports traffic shapper, virtual ip, Load balancer and much more. It has several Diagnostics tool by default.&lt;/div&gt;
&lt;/div&gt;&lt;a href=&quot;http://olasoftsite.blogspot.com/2015/10/to-install-and-configure-pfsense-2.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/6593582738620433880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2015/10/to-install-and-configure-pfsense-2.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/6593582738620433880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/6593582738620433880'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2015/10/to-install-and-configure-pfsense-2.html' title='How to Install and Configure pfSense 2.1.5 (Firewall/Router) '/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3823545419527675336.post-325846824990823808</id><published>2010-06-08T03:56:00.000-07:00</published><updated>2015-11-17T05:33:33.939-08:00</updated><title type='text'>Zimbra and Samba Integration Howto</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Zimbra and Samba Integration Howto&lt;br&gt;
&lt;br&gt;
This howto explains how to implement the zimbra collaboration suite that offers a spam and virus free email solution and how to integrate it with a samba domain so as to manage the domain using zimbra, In lay man terms, every user with an email account could use his/her username to login to any computer within that domain and have access to his/her files that are stored centrally. Easing the administration of such a domain.&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://olasoftsite.blogspot.com/2010/06/zimbra-and-samba-integration-howto.html#more&quot;&gt;Read more »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://olasoftsite.blogspot.com/feeds/325846824990823808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://olasoftsite.blogspot.com/2010/06/zimbra-and-samba-integration-howto.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/325846824990823808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3823545419527675336/posts/default/325846824990823808'/><link rel='alternate' type='text/html' href='http://olasoftsite.blogspot.com/2010/06/zimbra-and-samba-integration-howto.html' title='Zimbra and Samba Integration Howto'/><author><name>olasoft</name><uri>http://www.blogger.com/profile/13298273921219612551</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry></feed>