Table Forms

Posted at 5:52:13 AM in Web (12)

Everyone is pretty much aware of the problems one encounters when trying to create a form that spans multiple columns in a table. It doesn't work. If you put the <form> tag in the first column, the first </td> it runs into inserts a </form> and completely ignores the form tag you placed elsewhere in the row. So, off I went in search of a solution.

Use DIV instead of TABLES

The big push I see a lot of designers go for is to not use tables at all. Use divs in their place, but the responsive divs I've used for table forms were cumbersome and didn't respond as I expected. The first div group I came across used this css contraption:

.table { display: table; }
.table>* { display: table-row; }
.table>*>* { display: table-cell; }

They provided this HTML to go with it.

<div class="table">
    <div>snake<input type="hidden" name="cartitem" value="55"></div>
    <div><input name="count" value=4/></div>

This code is super simple, too simple. Notice that the html has no row div. That caused me endless amounts of trouble and sent me off to research how > and * worked in CSS. Obviously, all the children of the class "table" cascade, each level in order, table, row, and cell.

It doesn't have to be a div. As it turns out, the form tag acts as a row. I noticed this note from the author:

I wanted to emphasize the fact that you should not put a div to display as the table-row around the divs that are displaying as a table-cell, and that the form itself should display as table-row

I needed the form to span columns but I also needed a div to insert rows dynamically. Both tags destroyed my layout, so I couldn't use the above CSS for my form and I found that specifying classes for each element of the table didn't help either. I created this one and eventually used all of if with one modification:

.grid { display: table; }
.gridr { display: table-row; }
.gridc { display: table-cell; }

But, inserting the form tag and any other div tag gave me very similar results as the .table CSS. When I used a table instead of a div, tbody would allow me to group the rows that would be filled in with dynamic content. I would pick a date on the calendar and if that date had data in it, it would fill in the table rows with that data. I read that all of the table elements had a display element, but finding what the names of those table elements were was very hard. The note only showed one element besides table, table-row. I guess they assumed that we could guess at what the other element names were (This is one of my great frustrations. There doesn't appear to be a cookbook to explain or even list the incredients of functions, libraries and/or css elements just to name a few. They give you a sample and you have to figure out the rest.)

I finally found the element I was looking for: table-row-group. I assume that css stylesheets use thead, tbody and tfoot all use table-row-group. A note here, I had to use a different name (and I know know that there is an element called grid, so that may not have been a good name to use) for this class because I was already using a table class and I needed this just for this one table on the page. So I simply added the follow to the grid elements above:

.gridrg { display : table-row-group; }

But I still can't use a div for the table-row. I put the class in the form tag: <form class="gridr">

using table-row-group allows me to group the rows together so that I can insert rows into the group with $("#groupname").load("getdata");



Written by Leonard Rogers on Thursday, August 24, 2023 | Comments (0)

Mikrotik CSS326-24G-2S+RM

Posted at 8:02:10 PM in Hardware (9)

Be it known to all techies who want to install a VPN router, be careful that you do not buy the Mikrotik CSS326-24G-2S-RM (or Any CSS switch) because, they are switches and not routers. When you connect to the switch with winbox, you will find it in the list of neighbors, but when you click to connect to it, it will not present you with the routerOS. It will close winbox and open your default browser with very very limited options. The only IP address you can give it is the address of the box, initially set at After that, you won't be able to do much if you're looking for a routing solution.

The router you are probably looking for is a CRS326-24G-2S+RM. One letter makes the difference

Written by Leonard Rogers on Saturday, July 29, 2023 | Comments (0)

In process.... Moving my databases to a new server

Posted at 2:16:58 AM in Web (12)

I was maintaining my pgAdmin with the updates as they've been coming through. One feature that I really loved, and then lost, was the ability to break the query panels into separate windows. I performed an update and discovered that pgAdmin was no longer compatible with the version of the databse I was running on the server. There are a lot of problems that pile up when you do an update to fix obsolete software and this was no exception. 

I use the SSL mode to authenticate and connect to the database. That's changed quite a bit and was also no longer compatible. So, when I updated it for the new server, I had problems accessing the legacy data with the old certificates and accessing the data on the new server from the same machine using the newer certificates to name just one. This entiry is a test to see if the blog data transfered tot he new database and is functional. 

Written by Leonard Rogers on Tuesday, May 16, 2023 | Comments (0)

Fix and install Windows 10 2022 Update | Version 22H2

Posted at 12:23:07 AM in Installations (48)

 Use this link

Written by Leonard Rogers on Saturday, February 4, 2023 | Comments (0)

Cookie Failure on Mobile Devices

Posted at 7:40:45 PM in Web (12)

After several days of trying to work around an issue with identifying mobile devices through storing cookies, I finally figured out what caused the problem.

I'm writing an app to be used on various devices that I decided to compartmentalize by company. Doing so required that when the application is opened, it be aware of the company the user was logging into. If it was in a pick list, then people would know which companies to try to hack or try to guess which companies or how many companies are using the app. So, this all needed to be transparent to the public. Of course, the companies using the app would have to know how to set it up. That's proprietary information. However, once sent, it would have to be present each time that device or browser on that device connected. Cookies should work for that and it was for computer browsers. I tested Brave and Chrome. I believe it would have responded the same way for Edge but I didn't test it there. But on mobile browsers, the very same browsers that worked on computers, wouldn't work. It kept insisting that I reinitialize the company info.

Neither browser allows access to see the cookies. In fact, in the Brave browser, it was very difficult to see them. Chrome was more forthcoming. In Brave, I had to use the developer inspection tool, then on the application tab, Cookies are displayed and are manageable on the left side. Every search I used to find out why the mobile browsers did not save cookies only revealed information on how to clear or delete cookies. None of them explained how to keep them.

Finally, in the Brave browser on the computer where I could see the cookies, I decided to see what showed in the expiration column. They all said "Session". I believed they expired after 30 days. I have no idea where I got that idea. But it turns out that session means that they expire when the browser session is closed. Computer browsers don't pay attention to that. Once I set an expiration date on the cookie, it remained in the mobile browser as well. The mobile browser apparently follows the expiration, computer browsers don't. I'm sure there's a setting that affects that and maybe this is just common knowledge, but I couldn't find anything on it in my research.

Written by Leonard Rogers on Friday, December 23, 2022 | Comments (0) Memory and SSD hard drive online store

Posted at 5:23:27 PM in Vendors (37)


Crucial used to be my go-to place for memory and SSD hard drives. They have a nice feature that can be loaded from their web site that scans your PC and tells you what memory will work in your system. That feature is still available. They also had excellent delivery and track history. I could order today and get a notice the same day that the order was shipped. \

They now have a new web site that has caused me nothing but problems. My first experience with it rejected my password, so I had to create a new password. It rejected the new password as well and we had to check out as a guest. It took forever for the hard drive to arrive. I needed another drive and I wanted to expedite it so I ordered it to be shipped overnight. I ordered it on Thursday last week and today, Monday, it still hasn't shipped, but at last this time, it accepted my new password... and, as I suspected, it has none of my order history.

I contacted them via their online chat. The individual went to look up my order and could see that they have my order, but his statement to me absolutely floored me. He said, "Thanks for your patience. Hopefully soon the part will get ship to you". Hopefully? No date, no expected date? Only hopefully? Is it possible that I might not even get my drive? I made promises to my client to install the drive and repair his PC and it's simply not going to happen, maybe not ever. I can only hope to accomplish my work.

It appears that Crucial is under new management or they are in serious trouble. I can't tell which it is. If it was simply a stock issue or they had another comparable drive, they didn't say or offer any solution except to refund my shipping cost when and if they eventually get around to shipping it. Now, I must deal with a charge on my credit card that fell off because they couldn't fulfill the order and sometime in the near or far future, it'll suddenly appear causing me additional problems.

I really like their products. I just hope they get their act together soon




Written by Leonard Rogers on Monday, March 16, 2020 | Comments (0)

Windows 10 unable to connect to 2000 server shared folders After update

Posted at 2:00:04 PM in Recovery (44)

It appears that after a recent update to Windows 10, work stations are suddenly unable to connect to shared folders on a Windows 2000 server (I know that support for these machines have expired, but some of them are still around). When trying to access the shared folder the user with get a "Windows Security" pop up requesting the user to "Enter network credentials". Requesting both a user name and password, but nothing works. I tried empty password issues, but none of those work. And I verified that the password had not been changed. I also tried connecting to the folder via IP address instead of the server name. It also didn't work. 

This is what worked:

  1. Start Registry Editor. To do this, click Start, click Run, type Regedit, and then press ENTER.
  2. Locate and then click following registry subkey:
  3. Locate the LmCompatibilityLevel registry value.

    If the registry value is not present, follow these steps to create it:
    1. Select the registry subkey that is listed in step 2.
    2. On the Edit menu, point to New, and then click DWORD Value.
    3. Type LmCompatibilityLevel, and then press ENTER.
  4. Set the DWORD value to 1. To do this, click Modify on the Edit menu, type 1 in the Value data box, and then click OK

The instructions suggested a reboot was necessary, but I found it was not. Access to the folders was available after saving this value. In all the PCs I did this in, LmCompatibilityLevel was missing.

Written by Leonard Rogers on Tuesday, January 8, 2019 | Comments (0)

AT&T = Another Totally and Terminally Messed up Order

Posted at 3:49:30 PM in Vendors (37)

In a recent fiasco where we moved a client from Telepacific, who isn't that great either, to AT&T who offered fiber at a reasonable price, we discovered that the support infrastructure at AT&T is horrible. First off, there's huge language barrier. The people who work behind the sales force don't speak English very well and can confuse even the most simple requests. For example, they magically determined the hunt order for the phone roll over without disclosing it, so it took over three weeks to fix that. One of the issues is that one team would has for ports and the other team would ask for phone numbers, so we provided them with the hunt order, listing both the port and the number in the order they were supposed to roll over. It's not a very difficult request, but after a week, their supervisor over the people who can't speak English very well, send an email asking if the hunt was from the port to the number or was it from the number to the port. I have no more hair left on my head. I'm wondering how long they took trying to figure out how to build that rocket ship.

During all this time, only one line would work and there was no hunt order, thus for three weeks we could only handle one call at a time, for everyone else, the phone would ring to a rapid busy signal. This is a classic barrel full of monkey's scenario.

Finally, the hunt group was worked out, but we had to climb the change of supervisors and even then, escalated to tier 2, the first email received after being escalated was, it will take 5 days to fix the hunt group of 6 phone numbers. We placed an order for an analog line, which our sales rep claimed that we could submit through our customer portal. When we logged in with him on the phone, he couldn’t figure out how to do it. What he thought we could do for ourselves managed to delay that order for weeks also. The really sad thing is support always starts with the Sales rep. It’s one guy. How is one guy who works a standard shift suppose to handle technical issues? We call him and have to leave a message and then, in our case, wait for days to get a reply and then when we get the reply, we find that all along he thought we could fix it ourselves. He was wrong.

Now we have a problem with our 800 numbers. Before the order went in, they had the info. We repeatedly asked for a status and found that after the regular numbers had been transferred, the 800 numbers still hadn’t been addressed, no order was put in to move the numbers or to add the numbers and the 800 service to our account. We were now in jeopardy of losing the numbers and we were raising hell about it. Finally, we got an order that showed that the numbers were being moved, the number of hours we’d have included for those 800 numbers service, etc. We felt safe. Guess what? One week into the AT&T service, for which we already have a bill, we now have no 800 service.

I found out after transferring to the AT&T service from another IT professional that AT&T is the worst. If I had only known before we started down this path… if only.


Written by Leonard Rogers on Friday, June 8, 2018 | Comments (0)

Windows update and AVG removal

Posted at 4:53:11 PM in Security (4)

I've run into several PCs that have AVG installed on them and after the Windows update, it can't be removed. I tried downloading the removal utility from AVG's site and it doesn't work either. I did find a removal utility made by avast that will remove AVG. I assume this was created in order to install Avast in place of AVG, not sure. I can't find it right now.

But what I did find out about this particular PC I'm working on today is that the Windows update and the user caused the problem. Here's how it works.

When the system was originally installed, the user did not use an email and Microsoft account to setup the PC. They didn't even use a password. When the recent Windows Update, I believe it was the Creative update, Windows asks again if you want to setup a Microsoft account. This time the user used an email address. After the update, the desktop appears the same, but we can't remove AVG. Even worse, AVG took over the firewall, I believe it was a 30 day trial of Internet Security, and blocked access to name servers. The PC was effectively locked out from the internet. We couldn't do anything about the firewall. The windows control panel access to the firewall services were locked out stating that we had to use AVG to make adjustments. Trying to remove AVG just didn't work with any of the recommendations I could find on the internet.

I finally  into windows > Settings > Accounts and selected sign-in with a local account reverting to the original name that was already used with the same password they had before and I was able to remove AVG using the Control panel Programs and Features. Everything is now back to normal.

Written by Leonard Rogers on Wednesday, July 26, 2017 | Comments (0)

Email problems through McAfee's threat-intelligence

Posted at 7:57:06 PM in Spam Management Gateways (6)

 My server:

To the right of the web site is a "next steps" vertical tab. Selecting "Threat Feedback" presents a form to request delisting. 

Written by Leonard Rogers on Wednesday, May 24, 2017 | Comments (0)