Marat Tanalin on web-development and IT

  • On the .dev domain zone

    Names in the .dev domains are expensive. Registering curl.dev goes for 400 USD right now. curl.se costs 10 USD/year. I see little to no reason to participate in that business and I don’t think spending donated money on such a venture is a responsible use of our funds.

    Daniel Stenberg, the author of the curl app

  • Renaming an anchor without breaking external links (+)

    On a quality website, external links keep working even years later even if original URLs changed.

    For a webpage or a file, this can be solved with an external redirection from the original URL to the new one. But what if the URL changed as a result of renaming an anchor (hash)?

  • CSSWG approved the size shorthand for width and height (+)

    CSS working group (CSSWG) has decided to add the new shorthand property size for specifying width and height at once.

    One of those proposed the size property was yours truly. Just 4 years have passed since then.

  • IntegerScaler — upscales games with no blur

    IntegerScaler is a free author’s program for Windows 7+ intended for pseudo-full-screen upscaling of games in windowed mode with an integer ratio and with no blur.

    Allows to play games e. g. at Full-HD (1920×1080) resolution on 4K (3840×2160) monitors with no quality loss, unlike bilinear interpolation used for full-screen scaling by monitors and graphics drivers regardless of whether scaling ratio is integer or not.

  • Button does not submit form (+)

    Sometimes pressing button does not result in submitting form and calling JavaScript handlers of the submit event.

    So what’s happening?

  • On versioning

    It’s not my problem that someone else decided version numbers for all software must have three separate digits.

    byuu, the lead developer of the higan — an emulator of 8/16-bit game consoles
  • Dell UP3017Q OLED monitor is shipping (+)

    The world’s first computer OLED monitor Dell UP3017Q with the 4K resolution (3840×2160) and the size of 30″ is now shipping and available for purchase for 3,500 $ with delivery in 1-2 weeks.

    Originally, the monitor was presented on the CES 2016 exhibition, but it was reported that it’s cancelled. As we can see, at least formally, the monitor is now on the market.

  • HiDPI improvements in Windows 10 (+)

    Windows 10 provides a bunch of quality improvements regarding scaling user interface of applications incompatible with HiDPI (High-DPI, Retina):

    • upscaling old applications with no blur at integer zooms;
    • overriding DPI mode of an application in an arbitrary direction;
    • quality rendering of text via GDI;
    • developers: ability to combine different DPI modes in the same application.
  • UsableHomeButton 1.4 (+)

    In the new version of the author’s extension UsableHomeButton for Firefox, added ability to copy decoded URL of page, support for minimal URL for Yandex.Market; fixed copying site’s domain with no suffix, etc.

  • Firefox 47+ drops colspan=0 support (+)

    The developers of the Firefox browser since its version 47 have silently dropped support for the zero value of the colspan attribute to match the current version of the HTML specification and for consistency with other browsers, developers of which did not manage to implement this useful feature.

    The support is not even kept for extensions, while their user interface in the new WebExtensions API is implemented using web technologies HTML/CSS and it does not matter for such extensions whether other browser support colspan="0".

  • SmartUpscale — author’s Firefox extension (+)

    SmartUpscale — новое авторское расширение для веб-браузера Firefox, предотвращающее размытие изображений, фактические размеры которых в физических пикселах в целое количество раз больше их истинных размеров, т. е. каждый пиксел изображения может быть представлен как группа физических пикселов (2×2, 3×3 и т. д.) одинакового цвета.

    Может быть полезно при использовании мониторов с высокой плотностью точек, в том числе 4K-мониторов, используемых при системном масштабе 200%.

  • Visual Studio 2015 Update 2 — solving issues (+)

    After installing Update 2 for Microsoft Visual Studio 2015 Community, there were two issues when building some C++ projects:

    1. the IDE was unable to find the windows.h header file (main WinAPI header), and that was causing a fatal error;
    2. there was an “Unresolved external” error when using functions from the standard WinAPI library Psapi.

    Fortunately, both issues can be solved by changing some project settings.

  • UsableHomeButton 1.3 (+)

    Features of the author’s extension UsableHomeButton for Firefox are expanded with the new items of context menu of the “Home” button:

    “Remove query string”, “Canonical URL”, “Minimal URL”, “Open in private window”, and “Copy” submenu.

  • On primary and secondary things

    25 years after publication of my first academic papers involving C++, I’m retiring from active involvement with the language.

    I’ve spent the last quarter century focusing almost exclusively on C++, and that’s caused me to push a lot of other things to the sidelines. 25 years of deferred activities begets a pretty long to-do list. The topmost entry? Stop trying to monitor everything in the world of C++. :-)

    Scott Meyers, the author of the “Effective C++” book
  • Fixing the bug of Windows 7’s Explorer at zoom of 200%

    ExplorerHiDpiFix is a free author’s program to work around the bug of Windows 7’s Explorer which causes that, at system-level zoom of more than 188%, the address bar gets very short, and almost entire width of the window is occupied by the search box, while changing the ratio of their lengths by drag-n-dropping the gap between them does not work.

    The program forcedly sets lengths of the address bar and the search box at ratio of 3:1 (75% / 25%) and is intended for those not in a hurry to upgrade their Windows 7 to Window 10 which is free of this issue.

    The fix is applied automatically to Explorer windows already opened on the program start, and, during the program is running, the fix is applied to new Explorer windows right after their opening as well as after each change in their size.

    Happy second half of the decade to all dear readers.

  • On security and PHP

    Many of the servers running unsupported versions of PHP aren’t even running the secure version of their branch.

    PHP code has flaws, much like Python code, node.js code, and Ruby code. We’ve got fewer this year than last, and hopefully, we will have fewer next year. Sadly, not all applications get better at the same rate. Some people just will not bother to patch old code. That is not a language problem, that is a people problem.

    Cal Evans, Zend Developer Zone
  • On ARIA and HTML

    ARIA allows developers to re-invent and extend native HTML features in meaningful ways. But like all bolt-on technologies its features are brittle compared to its built-in counterparts.

    By using native HTML features, wherever practical, over custom HTML with bolt-on semantics and interaction behaviours, you will save yourselves and users a lot of grief and ensure that your User Interfaces work robustly across the largest number of devices, operating systems, input devices, browsers and assistive technologies.

    Steve Faulkner, HTML5 Doctor
  • New author’s software

    Three author’s applications for Windows are added to the “Projects” section:

    • MultilinePathEnv — multiline editor of the Path system environment variable;
    • WhiteScreen — screensaver that smoothly changes its transparency when starting and closing;
    • DoNothing — stub application that closes itself immediately after start.

    The applications are freeware and do not need installation — just unpack the downloaded archive.

  • CSS Global Order — Flexbox-free order

    CSS Global Order is an author’s JavaScript library that implements support for visual reordering of HTML elements with the standard order CSS-property without need for turning-on Flexbox mechanism (display: flex / display: inline-flex) for their parent element.

    The library works in all Flexbox-capable browsers and Internet Explorer 7+.

    File size with minification and Gzip compression applied is 1 KB.

  • On new features

    Why should we push the web forward? And forward to what, exactly? Do we want the web to be at whatever we push it forward to?

    The innovation machine is running at full speed in the wrong direction. We need a break.

    Peter-Paul Koch
  • How to remove empty query string from URL (+)

    Sometimes, there is an undesired question mark at the end of URL. This happens, for example, when using link buttons in browsers based on WebKit (Safari) and Chromium (Opera 15+).

    There is a workaround: trailing question mark when query string is empty can be automatically removed with server-side redirection.

  • On circular dependencies in CSS

    Letting implementation complexity leak into the UI is a common antipattern.

    ALL cycles can be detected by “keeping track of a dependency graph and using common cycle-detection algorithms”. Worst case scenario, we can just be very aggressive about what depends on what and it’s still better than rejecting entire features that are needed by thousands of authors daily on the grounds of “but if used nonsensically it could result in a cycle and then the world would explode!!!11”.

    Potential cycles come up all the time with any reasonable styling mechanism that supports the kinds of constraints needed by real designs.

    There’s something utterly perverse in thinking it’s an acceptable compromise to throw more work on the shoulders of the thousands (if not millions) of authors to prevent the handful of implementors from doing extra work.

    Lea Verou (1, 2)
  • Dell P2415Q. Author’s review of the 4K monitor (+)

    Detailed personal impressions of the 23.8-inch IPS-based modern computer monitor Dell P2415Q with 4K Ultra HD (3840×2160) resolution.

    Impressive clarity, full 60 Hz without MST, no PWM, barely noticeable crystal inversion, heavy Glow effect, and other specifics.

  • Fixing Copy Link Name in Firefox 39 (+)

    The useful Firefox extension Copy Link Name that allows to copy text of a link on a webpage to clipboard has stopped to work in Firefox 39 (Aurora / Developer Edition).

    The official support email does not work, while website of the extension author is just a stub without ability to contact him. However it is possible to fix the extension easily by ourselves.