Using fieldset legend with bootstrap

Fieldsets are a set or collection of input fields in a form, used on a web page to collect user data. Legends are simply titles (also known as “captions”) that are added to the fieldsets to distinguish them from each other, thus improving UX.

“Fieldsets + Legends” are usually styled with a border that wraps the fieldset elements inside it, and the legend as a title on top of it.

<fieldset class="scheduler-border">
    <legend class="scheduler-border">Start Time</legend>
    <div class="control-group">
        <label class="control-label input-label" for="startTime">Start :</label>
        <div class="controls bootstrap-timepicker">
            <input type="text" class="datetime" id="startTime" name="startTime" placeholder="Start Time" />
            <i class="icon-time"></i>
        </div>
    </div>
</fieldset>

CSS is

fieldset.scheduler-border {
    border: 1px groove #ddd !important;
    padding: 0 1.4em 1.4em 1.4em !important;
    margin: 0 0 1.5em 0 !important;
    -webkit-box-shadow:  0px 0px 0px 0px #000;
            box-shadow:  0px 0px 0px 0px #000;
}

legend.scheduler-border {
   width: inherit; /* Or auto */
   padding: 0 10px; /* To give a bit of padding on the left and right */
   border-bottom: none;
   font-size: 16px;
}

This would be the output;

Reference

https://stackoverflow.com/questions/16852484/use-fieldset-legend-with-bootstrap

https://azmind.com/bootstrap-fieldset-legend/

Find all columns with a specific column name in database

Recently i had to search for a specific column in database. My assumption was that the column name would be same as the column name in parent table. For example Person table PersonID column would be name same in all reference tables.

USE MyDatabase
--find all columns with a specific name in database
SELECT  OBJECT_SCHEMA_NAME(ac.object_id) SchemaName, 
        OBJECT_NAME(ac.object_id) TableName, 
        ac.name as ColumnName, tp.name DataType
FROM sys.all_columns ac
INNER JOIN sys.types tp ON tp.user_type_id = ac.user_type_id
WHERE ac.name = 'YourColumnName'
GO

Resources

Read more here…

What is transcoding?

A Blu-ray disk contains video chapters and their corresponding audio tracks. the video is generally in h.264 format (think of that as a word document in .docx format). the audio is generally in Dolby digital or DTS formats (think of that as .flac or .mp3).

To get that data off of the disk, you need a way for shit to play it back and a way for those 2 files (the chapter and its audio) to be held together. This is where formats like .mp4 and .mkv come in. Think of those as .7z or .zip or .rar.

Now, if you dump the Blu-ray disk’s audio/video track into .mkv without touching it (ie without attempting to make it any smaller) you’ll have a very large .mkv file (20-40gb in size, depending on if it came from a single or dual layer blu ray disk).

That’s the basic setup we’re working with to answer question on transcoding.

So now there are a number of scenarios. maybe you have a computer in the same house on the same network and that computer can play back anything and everything, because its a computer and the software was designed for it. Plex will simply send the raw file over the network and the player will decode it and play it back.

lets say you’re using something special on your home network like a mobile phone or appleTV or chromecast or something. Those devices are only built to play back certain file formats (the .docx and .flac we spoke of earlier) and they can only read those formats from certain containers (.mkv and .mp4).

In this scenario, plex will do its best to not touch anything possible. but it might need to change it from .mkv to .mp4 or vice versa. it might be forced to do this if you enable subtitles. this takes practically 0 processing power and it will not affect the quality in any way.

lets say you took your video and wanted to make it smaller so you used HEVC (h.265) to re-encode it. This is a lossy encode and is very difficult to encode/decode quickly so a lot of hardware currently doesnt support it. but the resulting file size is tiny in comparison (half or less). but now your appleTV and mobile phone wont play it back because it doesnt know what the heck h.265 is. Now plex will convert on-the-fly to h.264 (this is transcoding) and also change the contianer (also transcoding) in order for the file to be of the appropriate file type for you to be able to play back.

Lets say you have friends and family on varying internet connections/speeds, with varying devices, and you yourself only have limited upload speeds available to you because fuck telecom industry and fuck the FCC.

Now plex can be told to limit bandwidth usage and limit CPU usage for transcoding tasks and limit transcode quality so that you are able to send that file to many people at the same time without completely locking down your computer or your network.

You can also tell plex to store multiple copies of 1 file in different formats so that you dont have to transcode on-the-fly. This would be especially useful for massive files that you can convert slowly to very high quality and keep laying around, so that when a user asks for the file, they are simply sent the file without your CPU and GPU going crazy.

In laymans terms for the most part you dont really need to worry about it. But realistically, you’ll run into weird boundary cases in which some people are not able to play things back properly (stuttering/buffering/freezing) and then you’ll need to understand what is happening under the hood in order to take steps to fix the underlying issue or make smart decisions about when/where to invest money into the setup.

You can read more here.

Difference between 802.3af, 802.3at and 802.3bt PoE?

IEEE has a few standards for PoE to help keep everything working properly. There are three main PoE standards, all varying in the amount of power they supply. There are 802.3af, 802.3at and 802.3bt.

All three of these are referred to as ‘auto-sensing’ PoE, which means if you plug a laptop in to a port with PoE turned on, it won’t blow the device up as a level of auto-negotiation happens between the PoE switch and device, when it asks for power.

802.3af

802.3af is also known as just ‘PoE’ on most switches, it provides up to 15.4W and is most used for less powerful wireless access points and IP cameras. VoIP phones also tend to use 802.3af to as they don’t need a massive amount of power.

802.3at

802.3at is basically the same as 802.3af, but it just provides more power, up to 30W and is generally referred to as ‘PoE+’ on most switches. The higher amount of power allows better quality cameras to be used, such as 4K cameras and PoE switches which are powered up by PoE and provide power down stream, such as the UniFi Switch Flex from Ubiquiti, it is powered by 802.3at on the uplink and can provide 802.3af PoE on four other ports.

802.3bt

802.3bt is one of the newest standards and provides up to 60W to each device it is referred to as PoE++ usually. This is used for really demanding devices, notably lighting products and screens. Ubiquiti has LED light panels for office ceilings which are powered by 802.3bt.