41554 blogs · [ { "id": "01a08c58-1960-736b-acfb-d67c87b0a9a6", "title": "Client side rendering is a lie", "url": "https://www.tqdev.com/2016-client-side-rendering-lie/", "published_at": "2017-06-27T03:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c886715bc", "title": "Xubuntu with Gedit, Nautilus and Plank", "url": "https://www.tqdev.com/2017-xubuntu-with-gedit-nautilus-and-plank/", "published_at": "2017-06-07T08:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c894e83ab", "title": "Optimistic and pessimistic locking", "url": "https://www.tqdev.com/2017-optimistic-and-pessimistic-locking/", "published_at": "2017-05-29T02:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8976c480", "title": "Dash to Panel for Ubuntu Gnome", "url": "https://www.tqdev.com/2017-dash-to-panel-for-ubuntu-gnome/", "published_at": "2017-05-28T22:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c89f119ac", "title": "ASP.net FormsAuthentication in Go", "url": "https://www.tqdev.com/2016-asp-net-formsauthentication-in-go/", "published_at": "2017-04-27T01:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8ad2a648", "title": "Implementing cache invalidation is wrong", "url": "https://www.tqdev.com/2017-implementing-cache-invalidation-is-wrong/", "published_at": "2017-04-18T01:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8b5fc0f2", "title": "A lesspass implementation in Python", "url": "https://www.tqdev.com/2017-a-lesspass-implementation-in-python/", "published_at": "2017-03-30T08:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8bd37bc7", "title": "A lesspass implementation in PHP", "url": "https://www.tqdev.com/2017-a-lesspass-implementation-in-php/", "published_at": "2017-03-28T03:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8bfae3d2", "title": "Converting JSON to XML in JavaScript and PHP", "url": "https://www.tqdev.com/2017-converting-json-to-xml-in-javascript-and-php/", "published_at": "2017-02-22T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8ca01a5f", "title": "RESTful incrementing using PATCH", "url": "https://www.tqdev.com/2017-restful-incrementing-using-patch/", "published_at": "2017-02-03T22:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8d841c7f", "title": "Building micro-services in Java", "url": "https://www.tqdev.com/2017-building-micro-services-in-java/", "published_at": "2017-01-21T03:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8e433d07", "title": "Simple REST API in Node.js", "url": "https://www.tqdev.com/2017-simple-rest-api-in-node-js/", "published_at": "2017-01-17T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8eb903f2", "title": "Porting PHP-CRUD-API to Go", "url": "https://www.tqdev.com/2016-porting-php-crud-api-to-go/", "published_at": "2016-12-17T01:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8f0baf2d", "title": "Advent of Code is fun!", "url": "https://www.tqdev.com/2016-advent-of-code-is-fun/", "published_at": "2016-12-08T22:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c8f6f59db", "title": "JavaScript cannot handle 64 bit integers", "url": "https://www.tqdev.com/2016-javascript-cannot-handle-64-bit-integers/", "published_at": "2016-11-30T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c904a2a52", "title": "3 programming videos worth watching", "url": "https://www.tqdev.com/2016-3-programming-videos-worth-watching/", "published_at": "2016-11-27T01:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c905a86f1", "title": "Mathematical barbecue riddle", "url": "https://www.tqdev.com/2016-mathematical-barbecue-riddle/", "published_at": "2016-11-21T02:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c90cf8361", "title": "Devoxx 2016 videos online", "url": "https://www.tqdev.com/2016-devoxx-2016-videos-online/", "published_at": "2016-11-18T23:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c90dcf9b6", "title": "Stop using passwords", "url": "https://www.tqdev.com/2016-stop-using-passwords/", "published_at": "2016-11-12T16:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c916ce0d9", "title": "Programming C# on Ubuntu Linux", "url": "https://www.tqdev.com/2016-dot-net-core-ubuntu-linux/", "published_at": "2016-11-10T16:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c92102eab", "title": "Spatial/GIS support in PHP-CRUD-API", "url": "https://www.tqdev.com/2016-spatial-gis-support-in-php-crud-api/", "published_at": "2016-10-24T10:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9219391b", "title": "JavaScript is too expensive to use", "url": "https://www.tqdev.com/2016-javascript-is-too-expensive-to-use/", "published_at": "2016-10-22T23:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c92d6cff0", "title": "Boolean comparison in JavaScript has a bug", "url": "https://www.tqdev.com/2016-binary-logical-operators/", "published_at": "2016-10-16T21:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c93148875", "title": "Free Scala progamming course", "url": "https://www.tqdev.com/2016-free-scala-progamming-course/", "published_at": "2016-10-01T10:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c931ddbe6", "title": "The Tao of Programming", "url": "https://www.tqdev.com/2016-the-tao-of-programming/", "published_at": "2016-08-29T21:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c939bd5c8", "title": "Developer Anarchy or Extreme Agile", "url": "https://www.tqdev.com/2016-developer-anarchy-or-extreme-agile/", "published_at": "2016-08-22T15:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c93ded1a7", "title": "Ad block detection", "url": "https://www.tqdev.com/2016-ad-block-detection/", "published_at": "2016-08-19T13:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c93f35133", "title": "Using torrents to give back", "url": "https://www.tqdev.com/2016-using-torrents-to-give-back/", "published_at": "2016-08-16T12:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c94e0a966", "title": "Blackhat 2016: videos online", "url": "https://www.tqdev.com/2016-blackhat-2016-videos/", "published_at": "2016-08-13T22:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c95170ef6", "title": "Creating a bootable Windows 10 USB on Ubuntu", "url": "https://www.tqdev.com/2016-creating-bootable-windows-10-usb-ubuntu/", "published_at": "2016-08-10T10:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c95f95fe6", "title": "LibreOffice 5.2 released", "url": "https://www.tqdev.com/2016-libreoffice-5-2-released/", "published_at": "2016-08-07T11:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c96f36c7f", "title": "Features are an asset, code a liability", "url": "https://www.tqdev.com/2016-features-are-an-asset-code-a-liability/", "published_at": "2016-08-04T13:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c979c65a7", "title": "High performance JavaScript web service using Cluster", "url": "https://www.tqdev.com/2016-high-performance-javascript-web-cluster/", "published_at": "2016-08-01T09:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c97afc450", "title": "Active cache invalidation is an anti-pattern", "url": "https://www.tqdev.com/2016-active-cache-invalidation-anti-pattern/", "published_at": "2016-07-29T13:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9860bfa9", "title": "High performance OLTP myths busted", "url": "https://www.tqdev.com/2016-high-performance-oltp-myths-busted/", "published_at": "2016-07-26T21:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c98f46c7f", "title": "Symfony Memcache bundle v3 released", "url": "https://www.tqdev.com/2016-symfony-memcache-bundle-v3-released/", "published_at": "2016-07-23T21:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c993dcc9f", "title": "SVG editing without Illustrator or Inkscape", "url": "https://www.tqdev.com/2016-svg-editing-without-illustrator-or-inkscape/", "published_at": "2016-07-19T09:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c99cf05f6", "title": "PyCon 2016: videos online", "url": "https://www.tqdev.com/2016-pycon-2016-videos-online/", "published_at": "2016-07-16T09:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9a1ce3ab", "title": "GopherCon 2016: videos online", "url": "https://www.tqdev.com/2016-gophercon-2016-videos-online/", "published_at": "2016-07-13T11:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9afb62d5", "title": "Windows 10 clean install", "url": "https://www.tqdev.com/2016-windows-10-clean-install/", "published_at": "2016-07-10T01:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9b3edee5", "title": "Move Windows 10 to Virtualbox", "url": "https://www.tqdev.com/2016-move-windows-10-to-virtualbox/", "published_at": "2016-07-07T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9ba38ac7", "title": "Porting a Flash game to HTML5", "url": "https://www.tqdev.com/2016-porting-a-flash-game-to-html5/", "published_at": "2016-07-03T12:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9be7e43c", "title": "Linux Mint 18 is a winner!", "url": "https://www.tqdev.com/2016-linux-mint-18-is-a-winner/", "published_at": "2016-06-30T01:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9c430348", "title": "Ubuntu 16.04 with Gnome Flashback and Nemo", "url": "https://www.tqdev.com/2016-ubuntu-gnome-flashback-nemo/", "published_at": "2016-06-27T01:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9c452057", "title": "A slots-like dice game", "url": "https://www.tqdev.com/2016-a-slots-like-dice-game/", "published_at": "2016-06-12T03:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9d34d713", "title": "Vertical bar graph in HTML+CSS", "url": "https://www.tqdev.com/2016-vertical-bar-graph-in-html-css/", "published_at": "2016-06-09T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9e172b84", "title": "Microservices and single database", "url": "https://www.tqdev.com/2016-microservices-and-single-database/", "published_at": "2016-06-06T08:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9e9e26e6", "title": "Minesweeper in Python for iPad", "url": "https://www.tqdev.com/2016-minesweeper-in-python-for-ipad/", "published_at": "2016-06-03T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9f5be864", "title": "Command line Wikipedia client updated", "url": "https://www.tqdev.com/2016-command-line-wikipedia-client-updated/", "published_at": "2016-05-31T08:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67c9fe6e0e8", "title": "Alternatives to Oracle products", "url": "https://www.tqdev.com/2016-alternatives-for-oracle-products/", "published_at": "2016-05-28T17:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca020c241", "title": "Front-end development is a joke", "url": "https://www.tqdev.com/2016-front-end-development-is-a-joke/", "published_at": "2016-05-25T09:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca106f5bc", "title": "A Swagger documented REST API", "url": "https://www.tqdev.com/2016-swagger-documented-rest-api/", "published_at": "2016-05-23T09:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca15fe602", "title": "Installing Adminer on Ubuntu 16.04", "url": "https://www.tqdev.com/2016-installing-adminer-ubuntu/", "published_at": "2016-05-20T09:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca2345977", "title": "RSS + Sitemap + Archive in MindaBlog", "url": "https://www.tqdev.com/2016-rss-sitemap-archive-in-mindablog/", "published_at": "2016-05-17T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca28c913f", "title": "Xubuntu 16.04: Thunar crashes on rename", "url": "https://www.tqdev.com/2016-xubuntu-16-04-thunar-crashes-on-rename/", "published_at": "2016-05-15T22:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca370eb89", "title": "No More NoSQL", "url": "https://www.tqdev.com/2016-no-more-nosql/", "published_at": "2016-05-11T03:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca408da5e", "title": "Trading durability for performance without NoSQL", "url": "https://www.tqdev.com/2016-trading-durability-for-performance-without-nosql/", "published_at": "2016-05-07T20:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca40a0faa", "title": "Debugging Go with VSCode and Delve", "url": "https://www.tqdev.com/2016-debugging-go-with-vscode-and-delve/", "published_at": "2016-04-30T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca4d09d2a", "title": "Parameter 2 expected to be a reference", "url": "https://www.tqdev.com/2016-parameter-2-expected-to-be-a-reference/", "published_at": "2016-04-29T09:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca55b6ee9", "title": "Install VNC on your Ubuntu 16.04", "url": "https://www.tqdev.com/2016-install-vnc-on-your-ubuntu-16-04/", "published_at": "2016-04-24T23:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca589b5bb", "title": "Installing PHP7 on Ubuntu 16.04", "url": "https://www.tqdev.com/2016-installing-php7-on-ubuntu-16-04/", "published_at": "2016-04-21T02:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca630e7a0", "title": "Precompile Handlebars Online", "url": "https://www.tqdev.com/2016-precompile-handlebars-online/", "published_at": "2016-04-18T21:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca6420d53", "title": "Porting PHP-CRUD-API to C#", "url": "https://www.tqdev.com/2016-porting-php-crud-api-to-c/", "published_at": "2016-04-16T20:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca64b3a54", "title": "A tiny polymer clone: w3component.js", "url": "https://www.tqdev.com/2016-tiny-polymer-clone-w3component-js/", "published_at": "2016-04-11T07:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca730933a", "title": "PHP-CRUD-API now supports SQLite", "url": "https://www.tqdev.com/2016-php-crud-api-now-supports-sqlite/", "published_at": "2016-04-07T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca7368638", "title": "High performance C# web service using EvHttpSharp", "url": "https://www.tqdev.com/2016-high-performance-c-web-service-evhttpsharp/", "published_at": "2016-04-04T02:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca7f271bc", "title": "NoOps: Developer operations manifesto", "url": "https://www.tqdev.com/2016-noops-developer-operations-manifesto/", "published_at": "2016-03-31T00:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca89fd316", "title": "High performance Java web service using Jetty", "url": "https://www.tqdev.com/2016-high-performance-java-web-jetty/", "published_at": "2016-03-28T03:00:00+00:00" }, { "id": "01a08c58-1960-736b-acfb-d67ca9313a12", "title": "Choose Java, Go or JavaScript for your API", "url": "https://www.tqdev.com/2016-choose-java-go-or-javascript-for-your-api/", "published_at": "2016-03-26T04:00:00+00:00" }, { "id": "01a08c58-1961-73b3-b7c7-f4828cc32025", "title": "PostgREST for MySQL in PHP", "url": "https://www.tqdev.com/2016-postgrest-for-mysql-in-php/", "published_at": "2016-03-21T21:00:00+00:00" }, { "id": "01a08c58-1961-73b3-b7c7-f4828d616378", "title": "JWT implementation in PHP", "url": "https://www.tqdev.com/2016-jwt-implementation-in-php/", "published_at": "2016-03-18T23:00:00+00:00" }, { "id": "01a08c58-1961-73b3-b7c7-f4828e1ce136", "title": "Stored procedure reflection API", "url": "https://www.tqdev.com/2016-stored-procedure-reflection-api/", "published_at": "2016-03-15T01:00:00+00:00" }, { "id": "01a08c58-1961-73b3-b7c7-f4828f02184a", "title": "Reflection on software reflection", "url": "https://www.tqdev.com/2016-reflection-on-software-reflection/", "published_at": "2016-03-12T10:00:00+00:00" }, { "id": "01a08c58-1961-73b3-b7c7-f4828f93f2d5", "title": "JavaScript Web Token security", "url": "https://www.tqdev.com/2016-javascript-web-token-security/", "published_at": "2016-03-09T08:00:00+00:00" }, { "id": "01a08c58-1961-73b3-b7c7-f482900e9acf", "title": "XSS and CSRF mitigation", "url": "https://www.tqdev.com/2016-xss-csrf-mitigation/", "published_at": "2016-03-06T22:00:00+00:00" }, { "id": "01a08c58-1961-73b3-b7c7-f482908e6d5a", "title": "What is a multi-tenant database system?", "url": "https://www.tqdev.com/2016-multi-tenant-database-system/", "published_at": "2016-03-03T20:00:00+00:00" }, { "id": "01a08c58-1961-73b3-b7c7-f48290c1a246", "title": "Welcome at TQdev.com", "url": "https://www.tqdev.com/2016-welcome-at-tqdev-com/", "published_at": "2016-03-01T18:00:00+00:00" } ] posts Claim your blog
Back to tqdev.com
Blog · corpus.blog/blogs/tqdev.com/posts

tqdev.com

tqdev.com

2017

2016