kernology - where laurie and learning meet
  • Home
  • Blog
  • Pictures
    • Art & Craft >
      • Temari
      • Yubinuki
      • Quilting
      • Weaving
      • Lapidary Work
      • Metal Work 2010
      • Metal Work 2009
      • Classes - 2010
      • Classes - 2009
    • Boots
    • Views of Texas
    • Views of Scotland
    • Travel >
      • Bunny Bravehart Road Trips
      • Scotland 2012
      • Maine 2011
      • New Mexico 2010
      • Scotland 2008
  • Oh, the places you will go!
  • Contact Laurie

Changing the UI

6/25/2017

0 Comments

 
A month ago, when I left California to move to Texas, all codesmithing on my application (code project) came to a complete halt.  But that is not to say "work" on it stopped.  I have been pondering the UI (user interface).

Since I am using a MVC (model/view/controller) framework for Electron, much of the back end has been already written; the database calls for displaying data, generating the menus from the database, routing menu clicks to the appropriate page and more.  

During this path month, I have come to the conclusion that many of the pages where the user would see data, are not actual menu items. They are the detail pages of a main page and that the best way to display them was via a tabbed interface.  The menu, at this point should only have 3 items: People, Workshops, Setup. For example, when People are selected from the menu, a list of their names will be visible and when the person is selected, then that person's details will appear with four tabs - Person Info, Address, Emails, and Phones.  

Now I have to go back and re-code many of the screens I have already done.  Initially I was not please with that thought and wondered if there was another way to build my application that would be easier for me - such as using Visual Studio and C#; but that would not give me ability to run it on my Mac. Then I looked into Visual Studio for the Mac (yes, it does exist!); I could code in c# but many of the objects I am use to are different and that means an entirely different learning curve.  Now, having slept on this, I am ready to tackle it, in Electron.

To accomplish this, I have to upgrade my skills in Bootstrap and Angular and dive deeper into the framework so that I can load tabs that are not menu items.  

But hey, wasn't this projects supposed to be about upgrading my skills. 

Here is a sample of a tabbed interface in a test project, that I am using to figure it all out.  
​
Picture
0 Comments

Coding Continues

5/14/2017

0 Comments

 
I am actually making progress on my coding project.  This past week, almost no code was written because I was furiously packing for my move to Texas but two weeks ago I got quite a bit done.

I have each of the basic lookup list pages and the major major pages are built.  I also hooked up the drop down using the lookup lists for the foreign key data.  Along the way I made a few database changes by adding some indexes and constraints and then added in some pop-up messages for when a user tries to create a duplicate record. 

I have also moved my private Git repositories out of BitBucket and into GitLab and now I use GitKraken as my UI for Git. 

Next up is coding up the secondary pages for each section. I already have pondered some enhancements for these pages that would make the application better but they are on the to do list as I have to get the basic functionality done first; things like emailing directly from the application, printing, and a calendar view to name a few.

Time to do some more packing and this evening a bit more coding
Picture
0 Comments

Prototyping Completed

4/22/2017

0 Comments

 
Over the past month or so I have blogged about developing an electron application.  

Since then I have prototyped the database, part of the UI and the workflow.  Much of this was done in the languages and tools that I know well - Visual Studio with C# and MVC and SQL Server.  I also did some testing in a sample electron application I set up to try out various tools like Bootstrap, Angular, React, SQLite and a NOSQL/JSON database and I also tried out various Electron frameworks which include some of these packages. 

I have decided to use a BASEL stack - Bootstrap, Angular, SQLite and of course Electron, and all of this is wrapped up in a new Electron framework I found name BASEL. This is similar to the term of MEAN development which is the stack of MongoDB, Express, Angular, Node.  

Why BASEL? There are several factors.
  • SQLite is a cross-platform lightweight db and it is free. As are many GUI to work with it.
  • Angular is a Google tech so it has good support and it allows me to use an MVC design pattern. 
  • Bootstrap is a great front end framework that allow for all sorts theming of controls
  • Electron - I have covered this earlier but again, it allows me to develop a cross-platform desktop application. 
Now I am ready to start the actual development.  Last night I started creating all the tables in SQLite and should be done with that sometime tomorrow. Next week I will be able to start the hard part - writing all that javascript code. 


Picture
0 Comments

Elsewhere in the Coding Universe...

3/25/2017

0 Comments

 
Last week I wrote a tool, in c# to convert SQLServer create table scripts to a format that could be used by PostgreSQL.  

Why did I write the tool and not just do it by hand? Well, there are over 250 tables (266 to be exact) in the database we need to migrate. 

Why not use a tool? Ha, I wish!
I am working on a secure network and getting an application that on the network takes FORE_EVER!
Not only has the application have to be approved to be on the network, getting a paid license takes months and then we have to get it installed. All in all, the process would take 6 months if we were lucky.  

So I figured out what had to be changed and wrote an app that uses regular expressions to find/replace the reserved words and data types and output a new file, one for each table. The app took 2 days to write and a day to run. Now my new database has 226 empty tables. 

On to the next problem... 

I have spent this week working on a tool, yes another one, in c#, to migrate the data from the SQLServer db to the ready and waiting PostgreSQL db. Why am I writing a tool when many exist? See the above reason for that tool and you will get the idea, again.  

Yes, there is an ODBC driver which would allow me to use the SQLServer tools to push it from our SQLServer db into the new PostgresDB.   But we are having 'problems' getting that installed too.

SO write the app I did.  
I started it Wednesday and was completed yesterday afternoon.  I have done some preliminary test and so far it looks like it will do the job. Monday, I will start to test with one table and if that works, I will run it against the entire db.  

In other news - 
And I am still playing with Electron. I am now looking at framework that uses the React Javascript library - "React is a declarative, efficient, and flexible JavaScript library for building user interfaces."

And to that end I have installed the framework named Electron-Forge with the --template=react parameter. Now I have to learn how to use it. And while that is going on I have selected the NoSQL/JSON package named lowdb I will use for the database storage.   Time to get back to the codesmithing
Picture
0 Comments

Eleven Days

3/14/2017

0 Comments

 
11 days and many, many hours later, my first Electron application is (almost) done. 
I have just finished 2 days of work on figuring out how to make a portable executable.
As I build out the application, I created a new code branch which started where the last one left off. That is so if anyone want to look at it all, step by step, it is all there. This is a link to the repository.

So what have I learned along the way?
  • How to code with Node JS which is what Electron is built upon.
  • How to use Electron package/framework to create an application, build the menu, call other pages, write middle ware to respond to events.
  • How to submit bugs to GitHub.. I found 4 long the way.
  • How to use the Atom text editor which I like; 
  • How to use the Sublime text editor, which I don't.
  • Using NPM - the package installer for Node.
  • The documentation on many of these open source packages can be rather lacking!

So what's next? I am going to investigate a framework package (Photon) to add into Electron which can make my life easier and a NOSQL database in preparation for the actual application I want to write.

 ​Here is a picture of my application.
Picture
0 Comments

My First Electron Application

3/11/2017

0 Comments

 
I am now working on my first Electron application.  If NodeJS and these other frameworks (EmberJS, ExpressJS, AngularJS, etc.) allow you to create OS agnostic web sites and applications; someone pondered......
"H..................mm............, why can't you do an OS agnostic application too?"

And thus we now have Electron. Which by the way, is how the Atom editor was created too; and many other applications as well.

So I am now taking my little Ember Bcrypt tool and making it a desk top application.  I am writing it on my Windows 10 laptop and when I am done, I will test it on my Mac. Then at the day job, I can get a co-worker to test it on a Linux box we have.

Stay tuned!
0 Comments

First NodeJS Project Done

3/9/2017

0 Comments

 
I have finished my first NodeJS and ExpressJS project.  Along the way I learned a lot about Atom and the packages that can be installed to make writing code easier.  Then I set up an account on GitHub and added/uploaded my code. 

So what did I code? It is a small web application, written in using NodeJS with ExpressJS that will encrypt a password using the Bcrypt algorithm and it will also validate an encrypted password against a plain text password. 

My goals for this little project was to not only learn the basics of Node and Express but to implement an Model-View-Controller (MVC) pattern without using a package that creates an MVC environment. 

It isn't pretty but it works! The code can be downloaded from the repo BcryptTool.

My next project is to do the same tool but using Electron, which is a desktop application
0 Comments

Time For An Upgrade

3/3/2017

0 Comments

 
Way back in the olden days of yore, I learned to program in Algol, Cobal and Fortran IV - with punch cars on a Univac 1108.  And I HATED IT.
I may have been due to having aixelsyd (that's dyslexia, to a dyslexic) or maybe what we were being taugh had no connection to my current situation and thus I couldn't relate to it. It was, what it was. 

Then back in the early 90's I purchased a copy of Visual Basis and I learned the basics of it in about a week. YES, I found that I actually liked writing code and could do it well. 

Fast forward 20+ years to now and I am still working with Microsoft technologies with a bit of Oracle, PostgreSQL, Photoshop, Illustrator, XML, JavaScript and more thrown in. 

But the world of code is changing and I must too. For the past month or so I have been learning the new JavaScript technologies which allow applications and websites to be portable to any operating system.  I so far have focused on Node JS, and Express JS and along the way the Atom editor.  I have also written my first mini website in Node and Express using Bcrypt which is a tool to encrypt and validate passwords. Hey, I even pushed it to GitHub where I am now learning about projects and issues.  Whew! 

Next I am going to expand my skill set with AngularJS - a web framework; NoSQL - which is another database type of which I have to select a specific implementation; and then Electron - a way to create desktop application using Node JS technologies that will run on almost any desktop.

WHY - hey, I got ideas for a few applications and this seems a good way to get two things done at once! 
0 Comments

    RSS Feed

    About Laurie

    Laurie lives in central Texas with Erich a.k.a. "the shop elf"- her hubby of 35+ years and Cowboy Boots, the cat; her metals studio including 100+ hammers and 300+ chasing tools; her sewing studio which has a sewing machine, a closet filled with fabric, hundreds of skeins of embroidery floss and perle cotton, silk and other materials, and Mrs. King the dress dummy; two weaving looms, assorted knitting needles, tubs of yarn; lots of books; plus a plethora of geeky tech gadgets, computers, and more.

    Archives

    June 2022
    May 2022
    April 2022
    March 2022
    February 2022
    January 2022
    December 2021
    November 2021
    October 2021
    September 2021
    August 2021
    June 2021
    May 2021
    April 2021
    March 2021
    February 2021
    January 2021
    December 2020
    November 2020
    October 2020
    September 2020
    August 2020
    July 2020
    June 2020
    May 2020
    April 2020
    March 2020
    February 2020
    January 2020
    December 2019
    November 2019
    September 2019
    June 2019
    May 2019
    April 2019
    March 2019
    February 2019
    November 2018
    October 2018
    September 2018
    August 2018
    July 2018
    June 2018
    May 2018
    April 2018
    March 2018
    November 2017
    October 2017
    September 2017
    August 2017
    June 2017
    May 2017
    April 2017
    March 2017
    February 2017
    October 2016
    September 2016
    August 2016
    June 2016
    May 2016
    April 2016
    February 2016
    January 2016
    November 2015
    October 2015
    September 2015
    August 2015
    July 2015
    June 2015
    May 2015
    April 2015
    March 2015
    February 2015
    January 2015
    December 2014
    October 2014
    September 2014
    August 2014
    July 2014
    June 2014
    May 2014
    April 2014
    March 2014
    February 2014
    January 2014
    December 2013
    November 2013
    October 2013
    September 2013
    August 2013
    July 2013
    June 2013
    May 2013
    April 2013
    March 2013
    February 2013
    January 2013
    December 2012
    November 2012
    October 2012
    September 2012
    August 2012
    July 2012
    June 2012
    May 2012
    April 2012
    March 2012
    February 2012
    January 2012
    December 2011
    November 2011
    October 2011
    September 2011
    August 2011
    July 2011
    June 2011
    May 2011
    April 2011
    March 2011
    January 2011
    December 2010
    November 2010
    August 2010
    July 2010
    June 2010
    May 2010
    April 2010
    March 2010
    February 2010
    January 2010
    December 2009
    August 2009

    Categories

    All
    42
    Android
    Boots
    Bunny Bravehart
    Codesmith
    Comic-Con
    Covid
    Day Job
    Family
    Fencing
    Fiber
    Health
    Hike
    Jewelry
    Knitting
    Laurie
    Metals
    Minecraft
    Pandemic
    Photography
    Quilting
    Retirement
    Road Trip
    Scotland
    Sources
    Spinning
    Temari
    Texas
    The Big Walk
    Weaving
    Web
    Yubinuki

Powered by Create your own unique website with customizable templates.