Archive for the ‘Web Development’ Category
Posted by jpluimers on 2021/06/02
Almost every company I know has more than one subdomain, but while researching why support.microsoft.com could not be archived in the WayBack machine, I realised how many they have and bumped into a few sites listing most of them:
All via microsoft.com subdomains – Google Search.
–jeroen
Posted in Development, DNS, Internet, Power User, Software Development, Web Development | Leave a Comment »
Posted by jpluimers on 2021/06/02
I run in too many sites that keep creating new cookies, but never delete the old ones, ultimately leading to 5xx errors.
Every site should have a page like [WayBack] web.archive.org/cleancookies.html that cleans non-current cookies.
So I copied toe source to [WayBack] Copy of https://web.archive.org/cleancookies.html · GitHub for inspiration to look at.
–jeroen
Read the rest of this entry »
Posted in Development, Power User, Software Development, Web Development | Leave a Comment »
Posted by jpluimers on 2021/05/12
Quite a while back, @NS_Online (Dutch railroads) did not accept plus signs in email addresses. I verified a few times over the years and not much progress.
This is a reminder to myself to re-check.
Edit 20230418: it has started working, see further below.
Below the fold the Twitter thread that started with [WayBack] Jeroen Pluimers on Twitter: “Toch jammer dat @NS_online valide email adressen met een plus-teken erin weigert.… “
Hopefully by now they retraced themselves from the bad company of many other parties failing to adhere to clear and long existing internet standards: [WayBack] User:Me at work/plushaters | Mozilla Community | FANDOM powered by Wikia.
Their web care team and their developers made some very inexcusable assumptions there:
- questioning the use of a + in email addresses
- questioning the email address used
- diminishing the popularity of using a + inside email addresses
- when you never heard of something, it does not exist
- you can validate an email address without actually trying to deliver it
Some links on email addresses and their validity:
Read the rest of this entry »
Posted in Development, Power User, Software Development, Web Development | Leave a Comment »
Posted by jpluimers on 2021/05/11
I wonder how you can programmatically open a Hangouts link from Chrome?
These dit not help:
So did some more digging.
TL;DR: did not find a solution; so any help is appreciated.
I found the IDs of then in [WayBack] extensions/common/constants.cc – chromium/src.git – Git at Google
namespace extension_misc {
const char kPdfExtensionId[] = "mhjfbmdgcfjbbpaeojofohoefgiehjai";
const char kQuickOfficeComponentExtensionId[] =
"bpmcpldpdmajfigpchkicefoigmkfalc";
const char kQuickOfficeInternalExtensionId[] =
"ehibbfinohgbchlgdbfpikodjaojhccn";
const char kQuickOfficeExtensionId[] = "gbkeegbaiigmenfmjfclcdgdpimamgkj";
const char kMimeHandlerPrivateTestExtensionId[] =
"oickdpebdnfbgkcaoklfcdhjniefkcji";
const char kProdHangoutsExtensionId[] = "nckgahadagoaajjgafhacjanaoiihapd";
const char* const kHangoutsExtensionIds[6] = {
kProdHangoutsExtensionId,
"ljclpkphhpbpinifbeabbhlfddcpfdde", // Debug.
"ppleadejekpmccmnpjdimmlfljlkdfej", // Alpha.
"eggnbpckecmjlblplehfpjjdhhidfdoj", // Beta.
"jfjjdfefebklmdbmenmlehlopoocnoeh", // Packaged App Debug.
"knipolnnllmklapflnccelgolnpehhpl" // Packaged App Prod.
// Keep in sync with _api_features.json and _manifest_features.json.
};
// Error returned when scripting of a page is denied due to enterprise policy.
const char kPolicyBlockedScripting[] =
"This page cannot be scripted due to an ExtensionsSettings policy.";
} // namespace extension_misc
The odd thing is that the source does not match the Chrome web store designation:
You can not start the extensions in a tab; they need to start their view through the extension.
So these links do not work:
chrome-extension://nckgahadagoaajjgafhacjanaoiihapd/mainapp.html?uv_main_window
chrome-extension://ljclpkphhpbpinifbeabbhlfddcpfdde/mainapp.html?uv_main_window
chrome-extension://ppleadejekpmccmnpjdimmlfljlkdfej/mainapp.html?uv_main_window
chrome-extension://eggnbpckecmjlblplehfpjjdhhidfdoj/mainapp.html?uv_main_window
chrome-extension://jfjjdfefebklmdbmenmlehlopoocnoeh/mainapp.html?uv_main_window
chrome-extension://knipolnnllmklapflnccelgolnpehhpl/mainapp.html?uv_main_window
–jeroen
Read the rest of this entry »
Posted in Chrome, Development, Google, GoogleHangouts, Power User, Software Development, Web Development | Leave a Comment »
Posted by jpluimers on 2021/05/04
The discussion on Yahoo closing Answers tonight quickly went from alternative text based question/answer sites to long YouTube videos having hardly any content but ads, to blocking these ads: [Wayback] Yahoo sluit Answers-dienst na vijftien jaar en verwijdert inhoud – IT Pro – Nieuws – Tweakers
So here are some links where I can learn a bit of browser plugin and Android development technology as well:
(What I dislike most about ads is that they start at unnatural positions in the stream and cover topics I’m totally not interested in).
–jeroen
Posted in Android, Android Devices, Development, Mobile Development, Power User, SocialMedia, Software Development, Web Development, YouTube | Leave a Comment »
Posted by jpluimers on 2021/02/17
If your company manages your own infrastructure, be sure you have monitoring on all levels.
It saves you from customers discovering issues like this: [WayBack] Thread by @jpluimers: “The @EmbarcaderoTech docwiki is down due to an error in duobook2.[…]”:
The @EmbarcaderoTech docwiki is down due to an error in duobook2. URLs pointing to wiki content fail, no matter the product. Examples for Rio and XE2 grabbed from docwiki.embarcadero.com/Libraries/Rio/… and docwiki.embarcadero.com/Libraries/XE2/…

This is the #1 reason for allowing archival of all your product documentation web-content in the @internetarchive, even for non-current products, as now only parts that have been allowed to save in the past are available.
Apart from nobody noticing the outage yet, which is bad in it’s own way, I hope the cause is not somebody fiddling with duobook (3 year old and unmaintained) without testing the consequences. As that would make the cause of the outage embarrassing.
[WayBack] https://github.com/ElectricVersion/DuoBook
Finally it is rather odd to get a HTTP 200 SUCCESS code on a failure. A HTTP 500 or 503 would be far more appropriate.
I wonder if that is a @mediawiki thing; maybe they could shed some light on that.
References en.wikipedia.org/wiki/List_of_H… and en.wikipedia.org/wiki/List_of_H….
The cool thing is that the stack traces teach you a lot about how a framework is structured.
Related:
- [Archive.is/WayBack] RAD Studio API Documentation: Rio
Exception encountered, of type "ArgumentCountError"
[6a5b64d3a502a9acff148fe1] /Libraries/Rio/en/Main_Page ArgumentCountError from line 420 of /var/www/html/shared/BaseWiki27/skins/DuoBook2/DuoBook2.php: Too few arguments to function DuoBook2Template::displayPrefs(), 0 passed in /var/www/html/shared/BaseWiki27/skins/DuoBook2/DuoBook2.php on line 99 and exactly 1 expected
Backtrace:
#0 /var/www/html/shared/BaseWiki27/skins/DuoBook2/DuoBook2.php(99): DuoBook2Template->displayPrefs()
#1 /var/www/html/shared/BaseWiki27/includes/skins/SkinTemplate.php(248): DuoBook2Template->execute()
#2 /var/www/html/shared/BaseWiki27/includes/OutputPage.php(2335): SkinTemplate->outputPage()
#3 /var/www/html/shared/BaseWiki27/includes/MediaWiki.php(743): OutputPage->output()
#4 /var/www/html/shared/BaseWiki27/includes/MediaWiki.php(509): MediaWiki->main()
#5 /var/www/html/shared/BaseWiki27/index.php(43): MediaWiki->run()
#6 {main}
- [Archive.is/WayBack] XE2 API Documentation
Exception encountered, of type "ArgumentCountError"
[d3d353581c3915881b976ab6] /Libraries/XE2/en/Main_Page ArgumentCountError from line 420 of /var/www/html/shared/BaseWiki27/skins/DuoBook2/DuoBook2.php: Too few arguments to function DuoBook2Template::displayPrefs(), 0 passed in /var/www/html/shared/BaseWiki27/skins/DuoBook2/DuoBook2.php on line 99 and exactly 1 expected
Backtrace:
#0 /var/www/html/shared/BaseWiki27/skins/DuoBook2/DuoBook2.php(99): DuoBook2Template->displayPrefs()
#1 /var/www/html/shared/BaseWiki27/includes/skins/SkinTemplate.php(248): DuoBook2Template->execute()
#2 /var/www/html/shared/BaseWiki27/includes/OutputPage.php(2335): SkinTemplate->outputPage()
#3 /var/www/html/shared/BaseWiki27/includes/MediaWiki.php(743): OutputPage->output()
#4 /var/www/html/shared/BaseWiki27/includes/MediaWiki.php(509): MediaWiki->main()
#5 /var/www/html/shared/BaseWiki27/index.php(43): MediaWiki->run()
#6 {main}
–jeroen
Read the rest of this entry »
Posted in Development, DevOps, Infrastructure, Power User, Software Development, Web Development | Leave a Comment »
Posted by jpluimers on 2021/02/03
Sometimes I forget the choco install mnemonics for various tools, so here is a small list below.
Of course you have to start with an administrative command prompt, and have a basic Chocolatey Installation in place.
If you want to clean cruft:
choco install --yes choco-cleaner
Basic install:
choco install --yes 7zip
choco install --yes everything
choco install --yes notepadplusplus
choco install --yes beyondcompare
choco install --yes git.install --params "/GitAndUnixToolsOnPath /NoGitLfs /SChannel /NoAutoCrlf /WindowsTerminal"
choco install --yes hg
choco install --yes sourcetree
choco install --yes sysinternals
For VMs (pic one):
choco install --yes vmware-tools
choco install --yes virtio-drivers
For browsing (not sure yet about Chrome as that one has a non-admin installer as well):
choco install --yes firefox
For file transfer (though be aware that some versions of Filezilla contained adware):
choco install --yes filezilla
choco install --yes winscp
For coding:
choco install --yes vscode
choco install --yes atom
For SQL server:
choco install --yes sql-server-management-studio
For web development / power user:
choco install --yes fiddler
For SOAP and REST:
choco install --yes soapui
If you don’t like manually downloading SequoiaView at gist.github.com/jpluimers/b0df9c2dba49010454ca6df406bc5f3d (e8efd031d667de8a1808d6ea73548d77949e7864.zip):
choco install --yes windirstat
For drawing, image manipulation (paint.net last, as it needs a UI action):
choco install --yes gimp
choco install --yes imagemagick
choco install --yes paint.net
For ISO image mounting in pre Windows 10:
choco install --yes wincdemu
For hard disk management:
choco install --yes hdtune
choco install --yes seatools
choco install --yes speedfan
For Fujitsu ScanSnap scanners (not sure yet this includes PDF support):
choco install --yes scansnapmanager
–jeroen
Posted in 7zip, atom editor, Beyond Compare, Chocolatey, Compression, Database Development, Development, DVCS - Distributed Version Control, Everything by VoidTools, Fiddler, Firefox, Fujitsu ScanSnap, git, Hardware, Mercurial/Hg, Power User, Scanners, SOAP/WebServices, Software Development, Source Code Management, SQL Server, SSMS SQL Server Management Studio, SysInternals, Text Editors, Versioning, Virtualization, VMware, VMware ESXi, vscode Visual Studio Code, Web Browsers, Web Development, Windows | Leave a Comment »
Posted by jpluimers on 2021/02/02
[WayBack] HTML Div Table – Online Tools:
Free online tools to make Div Table composing a piece of cake! HTML table generator and converter with interactive source editor and much more!
I hope this still exists, as the first time it helped me convert HTML table based tables to div based tables.
They had these tools back then:
- [WayBack] HTML Div Table Generator
Generate HTML Div table grids for websites in just a few easy steps. Set the options then select the desired size. Adjust the options in the interactive editors
- [WayBack] HTML Table to Div Converter
Transform traditional HTML Tables to Div Tables. Copy and convert any visual table document to Div tables with a simple click of a button
- [WayBack] HTML Table Styler 📅 CSS Generator
Free online interactive HTML Table and structured div grid styler and code generator. Select a style from the gallery and adjust the settings to get the HTML and CSS codes.
–jeroen
Posted in Development, HTML, Software Development, Web Development | Leave a Comment »
Posted by jpluimers on 2021/01/20
I always get confused when I see this kind of HTML:
<td style="border: 1px black; border-style: none solid solid;">
This raises questions like:
- When less than 4 borders are mentioned, which borders are solid, and which borders are none?
- What is the order of 0…4 borders?
Luckily these links helped me:
- [WayBack] w3schools: CSS border-style property
- [WayBack] w3schools: CSS Borders
- [WayBack] border-style – CSS: Cascading Style Sheets | MDNThe border-style CSS property is a shorthand property that sets the line style for all four sides of an element’s border.
The first two made me find the last one, which is best as it has a CSS demo button (that also works on the WayBack link), a list of examples, and even better, answers the above questions with the “border-style” list below.
I rephrased their list into a table emphasising the clock-wise order:
The number of values determine the sides affected; thinking clock-wise is easiest to get it:
| # values |
affected sides |
example |
top |
right |
bottom |
left |
| 1 |
all: top, right, bottom, left |
solid |
solid |
solid |
solid |
solid |
| 2 |
top & bottom, right & left |
none solid |
none |
solid |
none |
solid |
| 3 |
top, right & left, bttom |
dotted none solid |
dotted |
none |
solid |
none |
| 4 |
top, right, bottom, left |
double dotted solid none |
double |
dotted |
solid |
none |
Their list:
The border-style property may be specified using one, two, three, or four values.
- When one value is specified, it applies the same style to all four sides.
- When two values are specified, the first style applies to the top and bottom, the second to the left and right.
- When three values are specified, the first style applies to the top, the second to the left and right, the third to the bottom.
- When four values are specified, the styles apply to the top, right, bottom, and left in that order (clockwise).
Each value is a keyword chosen from the list below.
then it continues with a table showing the outcome of the various line style values you can put in:
<line-style>
- Describes the style of the border. It can have the following values:
none |
|
Like the hidden keyword, displays no border. Unless a background-image is set, the calculated value of border-top-width will be 0, even if the specified value is something else. In the case of table cell and border collapsing, the none value has the lowest priority: if any other conflicting border is set, it will be displayed. |
hidden |
|
Like the none keyword, displays no border. Unless a background-image is set, the calculated value of border-top-width will be 0, even if the specified value is something else. In the case of table cell and border collapsing, the hidden value has the highestpriority: if any other conflicting border is set, it won’t be displayed. |
dotted |
|
Displays a series of rounded dots. The spacing of the dots is not defined by the specification and is implementation-specific. The radius of the dots is half the calculated border-top-width. |
dashed |
|
Displays a series of short square-ended dashes or line segments. The exact size and length of the segments are not defined by the specification and are implementation-specific. |
solid |
|
Displays a single, straight, solid line. |
double |
|
Displays two straight lines that add up to the pixel size defined by border-width or border-top-width. |
groove |
|
Displays a border with a carved appearance. It is the opposite of ridge. |
ridge |
|
Displays a border with an extruded appearance. It is the opposite of groove. |
inset |
|
Displays a border that makes the element appear embedded. It is the opposite of outset. When applied to a table cell with border-collapse set to collapsed, this value behaves like groove. |
outset |
|
Displays a border that makes the element appear embossed. It is the opposite of inset. When applied to a table cell with border-collapse set to collapsed, this value behaves like ridge. |
–jeroen
Posted in CSS, Development, HTML, HTML5, Software Development, Web Development | Leave a Comment »