Merry Christmas

by Web Master 26. December 2020 02:32

Merry Christmas, everyone!

 

I pray you find hope and peace today in these troubled times.

God bless!

 

Merry Christmas

 

Tags:

Thoughts on Javascript Frameworks

by Web Master 14. October 2019 03:39

In a previous post, I shared some research on various Javascript frameworks. The frameworks have matured and there are three that standout in popularity. These are Angular.js, React.js and Vue.js. Below I will give my impressions of each of these frameworks.

Angular

Angular.js is a full featured framework with support across a variety of platforms. I code using Microsoft .NET on the backend and Visual Studio is now shipped with templates to set up an Angular SPA (Single Page Application).

Code in Angular is developed in Typescript modules and components which are converted ultimately into Javascript. HTML markup is not directly added to the DOM, but is imported/defined in the Typescript file. The HTML markup is modified to implement loops, model insertions, conditional sections, etc. 

Support for services, dependency injection and routing.

Works with other libraries, like RxJS (Observables). Use of a shadow DOM limits use of libraries like jQuery.

My initial impression is that it is a robust framework for an SPA. It appears to be awkward or an afterthought to setup for multiple pages as delivered by a typical .NET MVC application. Lazy loading of pages and controls is possible, but again appears to be an awkward process, though, to be fair, I'll need to code more extensive examples to test this. It seems to be heavy on the library size and the site can be slow to load if everything is loaded at the outset.

 

React

React is described as a JavaScript library for building user interfaces. Like Angular, React defines the HTML markup within the component code. This is simplified by developing using JSX, but can be developed using vanilla JavaScript. The components can be rendered to multiple DOM nodes. Makes use of JavaScript classes. Often paired with Redux for state management.

Hooks all state to be managed without defining a class.

React appears to be more extensible to multiple page apps than Angular. This would make it more suited for use in a multiple page setup and seems more efficient for initial load times. Library size is also smaller than Angular. I'm still not sold on the shadow DOM definitions used by React (or Angular). Both React and Angular make the DOM definition easier with the use of JSX (React) and directly importing html documents for Angular using Typescript. This seems to limit use of outside libraries not targeted to the framework, such as JQuery or Bootstrap, to connect to the DOM. It is possible utilizing events in the framework to access the final DOM, but this seems like a kludge. I prefer direct use of the template tag to define document fragments.

Vue

Vue is described as The Progressive JavaScript Framework. Vue is designed to be incrementally adoptable. Focus is on the view layer only (as opposed to model and controller layers). Vue uses "Mustache" syntax, {{}}, to declaratively render data to the DOM. Files appear to be standard HTML and JavaScript files. Components can be defined and inserted into the DOM using tags with component name.

 Vue comparison to other frameworks can be found here

 

 

 

 

 

Tags:

HTML | Javascript | Programming

Almost Socialism

by Web Master 25. December 2018 00:04

I'm a big fan of Daniel J. Mitchell's blog where he shared the following tweet:

 

 

Advocates for socialism often claim that it has failed so far because "real socialism" has never been tried. With so many examples of failed "almost socialism," is it really a good idea to abandon capitalism or strive for more of it?

 

Tags:

Politics

Thoughts on Gun Control

by Web Master 3. October 2017 20:16

On October 1, 2017, a cowardly asshole with guns murdered innocent people in Las Vegas (see At least 59 dead, 527 injured in mass shooting on Las Vegas Strip). This is a horrific tragedy and my condolences to all of the victims and those affected.

This horrific murder has led to the call for more gun control (again). Here is my opinion of gun control and how to proceed after this tragic shooting.

Most gun control ideas espoused by the media and politicians are targeted at law abiding citizens in reducing the number of guns and people allowed to own them. Laws based on these ideas would not have prevented this attack, or most other shootings. This is because these laws do not target the real problem.

The real problem is in finding ways to dissuade criminals and violent people or groups from attacking innocent people. Disarming the people emboldens, not dissuades, the aggressor.

Historically, disarming law abiding citizens has been disastrous, resulting in the deaths of millions (yes, millions!) of people (See http://jpfo.org/filegen-a-m/deathgc.html). This happens because politicians disarm the people, but not themselves. Evil politicians or their cronies are then free to impose their views through violence and coercion. The people suffer and die and the genocide of groups and political opponents follows. This is the primary reason for the second Amendment of the US Constitution.

Disarming the people also allows criminals to prey upon the disarmed populace. Criminals will still be able to get guns as they will ignore the law (Duh!). Criminals are less likely to attack people who they think are armed as evidenced by the drop in crime in States with conceal carry laws. Many of the most infamous shootings are in "gun free" zones where the criminal is more sure of facing disarmed victims.

How do we reduce gun violence? We need a multi-pronged solution. Better mental care for the suicidal, better education in the areas more concentrated with gangs and their associated gun violence, more firearms in the hands of responsible adults, convicted murderers should be reviled and not sensationalized, etc. All solutions meant to dissuade the criminal or to help the mentally ill.

Tags:

Politics

Javascript Frameworks

by Web Master 5. October 2016 05:31

The computer programming world is constantly changing in the available libraries, frameworks and standards. I have been working on some new programming projects, so have been researching some of the latest frameworks for JavaScript to see if I want to use any of them.  JavaScript is a programming language used primarily in browsers to provide interactive and responsive user interfaces on web pages. A JavaScript framework is composed of supporting libraries for UI interaction, server communication and coding standards.

Here are some of the most popular JavaScript frameworks available at the time this post was written:

List from https://colorlib.com/wp/javascript-frameworks/:

Reactive Frameworks

  • Reactive.js - has nice plugins, but some don't seem to work
  • WebRx - developed in TypeScript. Based on ReactiveX.
  • Riot.js - replaces custom tags in HTML with JS code generated by a compiler. Possible solution as it looks straight forward.
  • Mithril - Small and fast. All in JavaScript. Need to consider how it will interface with .NET
  • Vue.js - looks run of the mill.

MVC JavaScript Frameworks and Libraries

  • Angular.js - Popular framework, but transitioning to new version
  • jQuery - Not a framework, but simplifies DOM access and changes.
  • React - Popular. .NET MVC support at https://reactjs.net and discussion here
  • Socket - website isn't very helpful. looks like it is used for chat or multi-user games. Utilizes Node.js
  • Polymer - library to build reusable HTML elements.
  • Node.js - not a framework, development platform like Java and .NET
  • Meteor - use Node.js
  • D3.js - very nice data visualizations
  • Ember - works in conjunction with Babel. Compiles files into JavaScript.
  • Aurelia - Integration with HTML tags looks promising. Limits framework intrusion by using defaults. Programmer friendly syntax.
  • Knockout - looks nice, but may not be actively supported. Some markup is a little quirky. Good .NET support
  • Keystone - use Node.js
  • Stapes.js - Small.
  • Inferno - small and extremely fast rendering. Similar to React

 

 

 

Tags: , ,

Javascript | Programming

PRCA Rodeo In Kalispell

by Web Master 28. December 2015 15:17

I attended the PRCA Rodeo in Kalispell, Montana in August. It was an exciting rodeo with a variety of events, including an Indian relay race where Native Americans, some dressed in traditional garb, raced bareback on horses around the track surrounding the rodeo. The weather was nice and not too smoky from the surrounding forest fires. My only complaint is that we were forced to buy tickets to the fair in addition to the rodeo. We needed to walk through the fairgrounds to get to the rodeo arena.

 


Mutton Busting

Saddle Bronc Riding

Steer Wrestling

Indian Relay Race

Rodeo Clown

Tie Down Roping

Bull Riding

Bull Riding

 


Team Roping


Barrel Racing


Bull Riding

 

Additional Rodeo Pictures and Videos

 

 

Tags:

SQL String Parsing

by Web Master 30. July 2015 12:10

I found a slick way to parse a string in SQL at link.  It utilizes the XML features offered by SQL Server to break down the string into components.  Here is the code sample from the link:

declare @s varchar(max) = 'I=940;A=29.5;D=20090901|
I=941;A=62.54;D=20090910|
I=942;A=58.99;D=20091005|
I=954;A=93.45;D=20091201|
I=944;A=96.76;D=20091101|
I=946;A=52.5;D=20091101|
I=943;A=28.32;D=20091101|
I=945;A=52.5;D=20091101|
I=955;A=79.81;D=20091201|
I=950;A=25.2;D=20091124|
I=948;A=31.86;D=20091110|
I=949;A=28.32;D=20091120|
I=947;A=25.2;D=20091109|
I=951;A=242.54;D=20091124|
I=952;A=28.32;D=20091129|
I=956;A=38.94;D=20091210|
I=957;A=107.39;D=20091215|
I=958;A=32.55;D=20091228|
I=959;A=27.3;D=20091228|
I=960;A=24.79;D=20091230|
I=1117;A=28.32;D=20100131|
I=1115;A=272.58;D=20100131|
I=1116;A=159.6;D=20100209'
declare @xml xml

select @xml = '<item><value>'+replace(replace(@s,
 ';','</value><value>'), 
'|','</value></item><item><value>')+
'</value></item>'

select N.value('substring(value[1],3)', 'int') as Invoice,
       N.value('substring(value[2],3)', 'money') as Amount,
       N.value('substring(value[3],3)', 'date') as [Date]
from @xml.nodes('item') as T(N)

This example produces a table with each item's invoice, amount and date.

Tags: , ,

Programming

Mother's Hibiscus

by Web Master 22. July 2015 10:14

My mother grows the most beautiful, large hibiscus flowers in her yard. They bloom only in the summer as the winter is too cold here.

 

     

Hibiscus Flower

Tags: , ,

Family

Camping in Colorado

by Web Master 19. July 2015 23:28

This year (2015) was my first camping excursion in the Rocky Mountains in Colorado. Highlights of this trip included driving over Independence Pass and a visit from a ghost bear. Yes, a ghost bear! Read on to find out more....

Independence Pass


For summer vacation, we decided to visit my sister in Aspen. There are many outdoor activities in the area. One that we decided to explore is the exciting drive over Independance Pass, a narrow road with steep dropoffs, hairpin turns and an elevation of 12,095 feet.  You can read about the pass on Wikipidia. The scenery is spectacular. There are several campgrounds, hiking trails and the ghost town of Independence (info).


Ghost town of Independence


View from the summit

Weller Campground


While driving through Independence Pass we camped in Weller Campground (info). It's a nice campground, though the door to the toilet didn't have a lock so we had to stand guard for each other. Weather was partly cloudy and not too cold considering the elevation. There is an easy hike to Weller Lake across the road (info).

 


Camping in Weller Campground


Wildlife in the campground



Weller Lake

Ghost Bear


Most of the time you hear about ghost stories told to frighten your fellow campers around a camp fire. These are fanciful, made up stories to add excitement to the camping trip.  What I am about to tell you is a real ghost story. No one told it to me. It really happened to me.

During the night while camping in the back of the truck in Weller Campground we woke up to the sounds of scratching.

<scratch> <scratch> <scratch>

It sounded like an animal scratching at the passenger door. I thought it must be a bear trying to get into the cab of the truck.  Perhaps some food left in the truck had attracted it.

<scratch><scratch><scratch>

I was hesitant about leaving the safety of the back of the truck to confront the animal.  Looking out through the windows with a flashlight was inefective due to the reflections of the window. Perhaps it could be scared off.  I used the truck remote to unlock/lock the doors. This had the effect of turning on the headlights.  The sound stopped. We waited, listening for sounds of movement outside the truck. Moments passed.

<scratch><scratch><scratch>

The sound of scratching returned. The bear was still trying to get into the truck. I had thoughts of the animal damaging the truck in its efforts to gain access. How were we going to scare it away. I still couldn't see anything through the window.

<scratch><scratch><scratch>

Was that a jostle of the truck as the animal tried harder to gain access? I must find a way to scare it so that it would leave the truck alone. I reached for the remote and pressed the button to start the engine. The truck started and the headlights turned on. The sound of the scratching stopped, but I couldn't see anything outside. I waited a minute before shutting off the engine. Was the bear gone?  We waited.

<scratch><scratch><scratch>

Oh no! The bear was still outside! What was it going to take to convince the bear to leave us alone?  I couldn't see anything outside. The other people camping were all asleep. I needed to stop the bear before it damaged the truck. I decided that I should go outside and take a look to see exactly what was happening. I unzipped the tent used to extend the bed of the truck and poked my head outside with the flashlight. I shined the light around to see if anything was behind the truck.  I couldn't see anything out of the ordinary, though the scratching had stopped. I tried looking to the side of the truck, but couldn't do so without fully exiting the back of the truck.  I slowly stepped outside and peeked around the corner. Nothing. I shone the light under the truck. Nothing. I looked at the other side of the truck and in the bushes. Again nothing. What had been making the noise? It wasn't windy and there were no trees or bushes rubbing against the truck. I looked at the door expecting to see paw prints, but saw nothing.

I climbed back into the bed of the truck and zipped up the back. There was no scratching while I investigated outside. Perhaps the animal had been scrared off when I exited the vehicle? I got back under the blankets hoping the matter was at an end.

<scratch><scratch><scratch>

The scratching had returned! We decided to ignore the scratching. It took a while to go back to sleep with scratching noises outside, but there was nothing else we could do. How do you stop a ghost bear? At least it wasn't doing any damage to the truck. Maybe if it was ignored it would go on its way.

I awoke in the morning to the noises of other campers breaking camp. No more scratches could be heard. The ghost bear had moved on.

Dumont Lake Campground


We also camped at Dumont Lake Campground (info) near Steamboat Springs. It is a very nice campground with great views of meadows, mountains, trees and wildflowers. Dumont Lake is close by, but not visible from the campground.

 


Camping in Dumont Lake Campground


Trail near Dumont Lake Campground


Wildflowers

 

Tags: , , , , , , ,

Recreation | Camping

Religious Freedom

by Web Master 4. July 2015 23:36

With marriage equality becoming the law of the land there have been several instances where business and government employees, such as county clerks, bakers and florists, have refused services to same-sex couples using the excuse that doing so violates their religious freedom. They do not want to participate in a same-sex wedding. It is illegal to deny services based on certain traits of people requesting the service, such as religion, sex, race and, in some States, sexual orientation. The courts are finding businesses that deny services to same-sex couples for their weddings are in violation of these equal protection laws. Are the business owners and government employees being denied their religious freedom by being forced to accomodate marriages between people of the same sex?  I say no, they are not being denied their religious freedom. Let me share my reasoning.

The business and government employees provide services to the general public also known as a public accomodation.  The service provided may include baking a wedding cake in the case of a baker or issuing a marriage certificate for a county clerk. The complaint has been that the employee doesn't want to participate in a same-sex wedding and providing the service makes them a participant. This is nonsense. The service provider is hired to do a service, not to become a participant. How many brides and grooms thank their florist for "participating" in the wedding? None! They may thank them for the flowers, but don't consider them active participants. To think this is utter nonsense.

Some people argue that to provide a wedding cake or flowers to a same-sex marriage is asking the business to provide a new service that they don't provide.  Comparisons are made to asking a Muslim restaurant to provide bacon when that isn't already on the menu.  This argument is also nonsense. There is no physical difference between a cake made for a wedding between a same sex couple and that of an opposite sex couple. The product is EXACTLY the same physically. If the baker was asked to change the cake, such as putting a distasteful message on it, then that is a service they don't provide to anyone, gay or straight, and need not make that change. However, the people denying services are not doing so because of any physical change to the service. They are just flat out denying a product they would serve to an opposite sex couple to the same sex couple.

From a religious standpoint, why is it that a service provided to countless opposite sex couples suddenly become a sin when given to same sex couples? You aren't sinning because of what other people are doing with your product. The employee is not being asked to marry someone of the same sex. They are only expected to provide the SAME service to everyone EQUALLY. Actions, such as baking a cake, don't become sinful because of what your customer does with the cake!

 

 

Tags: ,

Politics | Religion