APIs

HTTP SMS

Using the old HTTP SMS developed by Cardboardfish, enterprise acquired by MBLox and then by Sinch.com.

The issue: was using the httpsms.dll developed by Cardboardfish, in a .net platform running .net fx 4.5.

on 10 june 2021, the Atlas HTTP SMS Migration completed and the New FQDNs changed to new ones with http (443).

Impact MT/MO/DLR: API calls to the legacy Mblox Atlas HTTP SMS API URLs will be responded with HTTP status 302.

Client Action Required: Client applications to switchover their API calls to the new Atlas HTTP SMS API URLs below.

Please find the old and New URLs as below:

RegionOld FQDNs ImpactedOld PortsNew FQDNsNew Ports
EUsms1.mblox.com9444 (HTTPS)/9001 (HTTP)eu1.httpgw.api.sinch.com443 (HTTPS) only
EUsms1.cardboardfish.com9444 (HTTPS)/9001 (HTTP)eu1.httpgw.api.sinch.com443 (HTTPS) only
EUsms5.mblox.com9444 (HTTPS)/9001 (HTTP)eu2.httpgw.api.sinch.com443 (HTTPS) only
USsms2.mblox.coml9444 (HTTPS)/9001 (HTTPus1.httpgw.api.sinch.com443 (HTTPS) only
USsms2.cardboardfish.com9444 (HTTPS)/9001 (HTTP)us1.httpgw.api.sinch.com443 (HTTPS) only
USsms3.mblox.com9444 (HTTPS)/9001 (HTTP)us2.httpgw.api.sinch.com443 (HTTPS) only
USsms3.cardboardfish.com9444 (HTTPS)/9001 (HTTP)us2.httpgw.api.sinch.com443 (HTTPS) only

The solution is to migrate to REST API, or upgrade the dll to new FQDN.

To upgrade is needed the source files and have recompiled it.

The REST API and HTTP SMS in .net 4.5 the Webrequest must deal with https:

worked using:

vb.net 
ServicePointManager.SecurityProtocol = CType(3072, SecurityProtocolType)
c#
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

Documentation:

https://status.sinch.com/incidents/kx1r0h62w9yf

https://social.msdn.microsoft.com/Forums/vstudio/en-US/646d3252-3a97-46b2-81f5-1038b8cb03a8/webclient-and-https?forum=netfxbcl

https://stackoverflow.com/questions/20064505/requesting-html-over-https-with-c-sharp-webclient

https://developers.sinch.com/docs/sms/getting-started/node/nodesend/

https://developers.sinch.com/docs/sms/other/sms-other-http-basic/#outbound-sms-http

Exchange Microsoft PowerShell

PowerShell One-Liner: Get a Count of Exchange Server Mailboxes Per Database

 
 
[PS] C:\Get-Mailbox | Group-Object -Property:Database | Select-Object Name,Count | Sort-Object Name | Format-Table -Auto

Uncategorized

Find Exchange version with PowerShell

Let’s find out the Exchange version with PowerShell. We are going to use the Get-ExchangeServer cmdlet. Run Exchange Management Shell as administrator.

  C:\>Get-ExchangeServer | Format-List Name, Edition, AdminDisplayVersion
   C:\>Get-ExchangeServer | Format-Table Name, Edition, AdminDisplayVersion

In the next step, we will find the Exchange Product name.

Now that we know the Exchange version build number, we can find the product name. Go to the Microsoft Docs page

Web

A new image format for the Web

webp_logo

WebP is a modern image format that provides superior lossless and lossy compression for images on the web. Using WebP, webmasters and web developers can create smaller, richer images that make the web faster.

WebP lossless images are 26% smaller in size compared to PNGs. WebP lossy images are 25-34% smaller than comparable JPEG images at equivalent SSIM quality index.

Lossless WebP supports transparency (also known as alpha channel) at a cost of just 22% additional bytes. For cases when lossy RGB compression is acceptable, lossy WebP also supports transparency, typically providing 3× smaller file sizes compared to PNG.

How WebP Works

Lossy WebP compression uses predictive coding to encode an image, the same method used by the VP8 video codec to compress keyframes in videos. Predictive coding uses the values in neighboring blocks of pixels to predict the values in a block, and then encodes only the difference.

Lossless WebP compression uses already seen image fragments in order to exactly reconstruct new pixels. It can also use a local palette if no interesting match is found.

A WebP file consists of VP8 or VP8L image data, and a container based on RIFF. The standalone libwebp library serves as a reference implementation for the WebP specification, and is available from our git repository or as a tarball.

WebP Support

WebP is natively supported in Google Chrome, Firefox, Edge, the Opera browser, and by many other tools and software libraries. Developers have also added support to a variety of image editing tools.

WebP includes the lightweight encoding and decoding library libwebp and the command line tools cwebp and dwebp for converting images to and from the WebP format, as well as tools for viewing, muxing and animating WebP images. The full source code is available on the download page.

WebP Converter Download

Convert your favorite collection from PNG and JPEG to WebP by downloading the precompiled cwebp conversion tool for Linux, Windows or Mac OS X.

A importância dos códigos UTM

Qual é a fonte de tráfego (site, artigo, rede social, banner, etc.) que gera o maior volume de visitas ao seu website? Se tem dúvidas ou não sabe a resposta, este é o momento de mudar essa realidade.

Medir os resultados das suas acções, campanhas online, é um dos maiores desafios que qualquer profissional da área digital enfrenta. Saber escolher qual o canal onde deve apostar, optar por um meio em detrimento de outro, com absoluta certeza de que é uma boa decisão é um desafio. Mas não tem de ser um desafio impossível ou uma decisão arriscada, a utilização dos códigos UTM pode ser uma ajuda preciosa e reveladora em muitos casos.

O que são os códigos UTM?

Os códigos UTM (urchin tracking module) são pequenas partes de texto que são colocadas conjuntamente com o endereço web, permitindo desta forma facultar mais informações sobre esse mesmo endereço ao Google Analytics.

Esta solução foi desenvolvida pela empresa Urchin Software Corporation que acabou por ser adquirida pela Google em 2005. Daí o seu nome “urchin tracking module”.

Porque devo usar códigos UTM nos meus endereços?

Como referido anteriormente, os códigos UTM dar-lhe-ão acesso a um conjunto de informações que de outra forma seriam complicadas de medir ou mesmo identificar, para não dizer impossíveis. Ao utilizá-los irá criar um endereço único, sendo possível criar diferentes, para diferentes fontes de tráfego, meios, campanhas, etc.

Ao incluir os códigos UTM irá ter a capacidade de medir o sucesso, ou insucesso das suas campanhas, dos meios que utiliza, dos parceiros, etc. Terá dados mais fiáveis na sua conta de Analytics, sobre o número de visitas de cada um dos endereços.

Com toda a certeza, estas informações irão permitir-lhe tomar melhores decisões para o seu negócio ou projecto.

O que incluem os códigos UTM?
Um código UTM é composto pelos seguintes parâmetros:
Source: identifica a fonte de tráfego, quem está a enviar o tráfego.
Exemplos: Recursos próprios (website, newsletter, etc.), Motores de busca (google, bing, yahoo, etc.), Redes Sociais (facebook, linkedin, twitter, instagram, etc.), parceiros, etc.

Medium: refere-se ao meio utilizado para enviar o tráfego.
Exemplos: social, social-paid, email, banner, afiliado, cpc, etc.

Campaign Name: identifica o nome da campanha que enviou o tráfego.
Exemplos: welcome, parceiros, aniversario, remarketing, balckfriday, etc.

Term: utilizado apenas em campanhas pagas, é utilizado para referenciar as palavras-chave que enviaram tráfego.
Exemplos: alojamentoweb, hosting, domínios, etc.

Content: permite-nos entender qual o conteúdo responsável por enviar o tráfego, dando-nos dados relevantes para melhor entender o desempenho dos diferentes formatos.
Exemplos: banner-header, linkbio, botao-verde, post-facebook, ad-facebook, etc.

Por fim algumas recomendações:

  • Utilize hífens (social-paid) em vez de underscores (social_paid).
  • Defina regras para a criação de parâmetros UTM, siga-a sem excepções e evite mudar sempre que cria um novo link.
  • Procure evitar a repetição de palavras em diferentes parâmetros, poderá complicar a sua leitura (ex.: utm_source=facebook&utm_medium=facebook-post).a
Utils

How to delete a file or folder with too long path – LPE Free

https://www.iperiusbackup.net/en/how-to-delete-a-file-or-folder-with-too-long-path-eraser-free/

Tutorials Utils

How to extract email addresses from a text file using notepad++ with no coding at all

How to extract email addresses from a text file using notepad+

Given the following text file as input there are 3 easy steps to follow so that you can extract all email addresses contained inside the text.
Text containing email addresses
Text containing email addresses
1st Step – Find email addresses using regex match

Use the find & replace feature of notepad++

Find: (\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}\b)
Replace: \r\n$&\r\n

find&replace

this adds and new line before and after each email address.
Email address in new line
Email address in new line
Step 2 – Mark email addresses and bookmark lines

Mark: (\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}\b)
have “Bookmark Line” checked.

bookmar-email-line
Step 3 – Remove unmarked lines

Search > Bookmark > Remove Unmarked Lines
Remove unmarked lines in Notepad++

http://www.kniko.net/how-to-extract-email-addresses-from-a-text-file-using-notepad-with-no-coding-at-all/

Exchange Microsoft

Message size and recipient limits in Exchange Server

Get-TransportConfig | Format-List MaxReceiveSize,MaxSendSize,MaxRecipientEnvelopeLimit

Get-TransportRule | where {($_.MessageSizeOver -ne $null) -or ($_.AttachmentSizeOver -ne $null)} | Format-Table Name,MessageSizeOver,AttachmentSizeOver




https://docs.microsoft.com/en-us/exchange/mail-flow/message-size-limits?view=exchserver-2019

Code Snippets Active Directory PowerShell

Using Net User command to Display User Expiration Date

Net user USERNAME /domain

Using Powershell

get-aduser -filter * -properties passwordlastset, passwordneverexpires |ft Name, passwordlastset, Passwordneverexpires

To display the expiration date rather than the password last set date, use this command.

Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}


Microsoft SQL Server

Upgrading to SQL Server 2017 – VS Shell installation has failed with exit code 1638

I experienced this problem as well with SQL Server 2017 Developer and it appears to be just bad planning on the part of the SQL Server installation package people. The problem is that Visual Studio 2017 installs the Microsoft Visual C++ 2017 Redistributable (x86) and (x64) and the SQL Server installation tries to install the Microsoft Visual C++ 2015 Redistributables, which it can’t because the SQL Server installation doesn’t allow you to install an older version with the newer version installed.

This Microsoft Support article presents their explanation of the problem, and their recommended workarounds.

Solution 1: Install SQL Server first before installing Visual Studio 2017.

Solution 2 (what I did):

  1. Uninstall the Microsoft Visual C++ 2017 Redistributable (x86) and (x64),
  2. install SQL Server,
  3. then reinstall the Microsoft Visual C++ 2017 Redistributable (x86) and (x64).

They are a little hard to find, so here are the direct links:

X64: https://go.microsoft.com/fwlink/?LinkId=746572

x86: https://go.microsoft.com/fwlink/?LinkId=746571

Note: If you don’t have Microsoft Visual C++ 2017 Redistributable installed

at all, just install it from one of the above links, and retry installing SQL Server. It should work now.

Source link:https://dba.stackexchange.com/questions/190090/help-installing-sql-server-2017-vs-shell-installation-has-failed-with-exit-cod