41554 blogs · [ { "id": "01a087eb-b1d6-707c-b2be-8d67acb268ba", "title": "Customize GitHub Copilot CLI Status Line", "url": "https://tgrall.github.io/blog/2026/05/02/copilot-cli-customize-statusline", "published_at": "2026-05-03T08:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67acd08a0d", "title": "DevFest Nantes 2025: Stop Coding Like It's 2022—The Agentic Era is Here", "url": "https://tgrall.github.io/blog/2025/10/22/devfest-nantes-stop-coding-like-2022-agentic-era", "published_at": "2025-10-22T08:02:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67acee43ad", "title": "Modernizing Legacy Code with GitHub Copilot: A Documentation-First Approach", "url": "https://tgrall.github.io/blog/2025/10/21/modernizing-legacy-code-with-github-copilot-a-documentation-first-approach", "published_at": "2025-10-21T03:12:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67ad851628", "title": "Effortlessly Generate JSON Arrays from Raw Data with GitHub Copilot", "url": "https://tgrall.github.io/blog/2024/03/03/github-copilot-from-raw-data-to-json-array", "published_at": "2024-03-03T06:12:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67ad8f1e6c", "title": "Efficiently Format Data in My IDE with GitHub Copilot", "url": "https://tgrall.github.io/blog/2024/02/16/github-copilot-formatting-data-in-my-ide", "published_at": "2024-02-16T06:12:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67ae8cc9da", "title": "Creating a CSV from SQL statements with GitHub Copilot", "url": "https://tgrall.github.io/blog/2024/02/10/github-copilot-create-csv-from-sql", "published_at": "2024-02-10T06:12:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67af43be94", "title": "Rapid Prototyping with GitHub Copilot: A Quick Journey into Image Processing", "url": "https://tgrall.github.io/blog/2024/01/13/github-copilot-implementing-an-ide-in-mn", "published_at": "2024-01-13T06:12:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67af7d00fa", "title": "TDD/Test Failures: Resolving Issues with GitHub Copilot", "url": "https://tgrall.github.io/blog/2023/12/29/github-copilot-fixing-test-failure", "published_at": "2023-12-29T06:12:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b03439a7", "title": "Resize multiple Next.js components with GitHub Copilot", "url": "https://tgrall.github.io/blog/2023/12/28/github-copilot-resize-nextjs-components", "published_at": "2023-12-28T07:12:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b074a2c1", "title": "Seamless React State Updates: Mastering Lists with GitHub Copilot", "url": "https://tgrall.github.io/blog/2023/12/27/github-copilot-update-react-state", "published_at": "2023-12-27T10:12:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b0b68cc0", "title": "Quarkus: Simplifying Cloud File Uploads", "url": "https://tgrall.github.io/blog/2023/12/24/quarkus-uploading-image-to-the-cloud", "published_at": "2023-12-24T10:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b0bba8e7", "title": "Java: Using MessageFormat to Generate JSON", "url": "https://tgrall.github.io/blog/2023/12/21/java-generating-json-with-messageformat", "published_at": "2023-12-21T12:34:56+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b10542b1", "title": "Creating a Typescript Class from a JSON file", "url": "https://tgrall.github.io/blog/2023/12/18/github-copilot-typescript-class-from-json", "published_at": "2023-12-18T21:12:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b15ce537", "title": "Quarkus: Database Projection with Panache", "url": "https://tgrall.github.io/blog/2023/12/16/quarkus-database-projection-with-panache", "published_at": "2023-12-16T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b193a1d1", "title": "Seamless Internationalization with GitHub Copilot", "url": "https://tgrall.github.io/blog/2023/12/15/github-copilot-internationalisation", "published_at": "2023-12-15T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b1cb75b7", "title": "Simplifying Data Generation with GitHub Copilot", "url": "https://tgrall.github.io/blog/2023/12/13/github-copilot-assist-generate-test-data", "published_at": "2023-12-13T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b21a63d9", "title": "Accelerating REST Development with GitHub Copilot", "url": "https://tgrall.github.io/blog/2023/12/11/github-copilot-assist-writing-a-rest-client", "published_at": "2023-12-11T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b2a2c39e", "title": "Quarkus: Default Values for Panache Entity Fields", "url": "https://tgrall.github.io/blog/2023/12/09/quarkus-entity-default-value", "published_at": "2023-12-09T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b34566eb", "title": "Revoke Deploy Keys with GitHub CLI", "url": "https://tgrall.github.io/blog/2023/03/31/revoke-github-deploy-key-org-level", "published_at": "2023-03-31T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b41e19aa", "title": "GitHub Copilot: How I use it, and Why I love it", "url": "https://tgrall.github.io/blog/2023/02/21/copilot-how-i-use-it-why-i-love-it", "published_at": "2023-02-21T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b4fbb0d8", "title": "GitHub Self-Hosted Runner Autoscaling with Kubernetes", "url": "https://tgrall.github.io/blog/2022/10/16/github-self-hosted-runner-autoscaling-with-kubernetes", "published_at": "2022-10-16T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b551dc2a", "title": "Getting Started with GitHub Releases", "url": "https://tgrall.github.io/blog/2022/02/08/getting-started-with-github-releases", "published_at": "2022-02-08T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b5a35fa2", "title": "Use Private Actions with your Team", "url": "https://tgrall.github.io/blog/2022/01/24/share-private-actions-enterprise", "published_at": "2022-01-24T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b66015e6", "title": "Write GitHub Action: Checks and Annotations API (Part 2)", "url": "https://tgrall.github.io/blog/2021/11/07/how-to-write-a-github-action-annotation-api", "published_at": "2021-11-07T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b66f4b79", "title": "How to Write Custom GitHub Action (Part 1)", "url": "https://tgrall.github.io/blog/2021/10/30/how-to-write-a-github-action", "published_at": "2021-10-30T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b768a4f9", "title": "Simple caching service with Redis", "url": "https://tgrall.github.io/blog/2020/05/16/simple-caching-service-with-redis", "published_at": "2020-05-16T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b7c05448", "title": "How to use SSL/TLS with Redis Enterprise", "url": "https://tgrall.github.io/blog/2020/01/02/how-to-use-ssl-slash-tls-with-redis-enterprise", "published_at": "2020-01-02T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b8b9b233", "title": "Redis Rolling Upgrade on Pivotal Cloud Foundry (PCF)", "url": "https://tgrall.github.io/blog/2019/09/19/redis-rolling-upgrade-on-pivotal-cloud-foundry-pcf", "published_at": "2019-09-19T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b8c9b85d", "title": "Multi-Nodes Redis Cluster with Docker", "url": "https://tgrall.github.io/blog/2019/09/04/multi-nodes-redis-cluster-with-docker", "published_at": "2019-09-04T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b94339e9", "title": "Getting Started with Redis Streams and Java", "url": "https://tgrall.github.io/blog/2019/09/02/getting-with-redis-streams-and-java", "published_at": "2019-09-02T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67b95f59c3", "title": "Getting Started With MapR-DB JSON REST API", "url": "https://tgrall.github.io/blog/2018/05/23/getting-started-with-mapr-db-json-rest-api", "published_at": "2018-05-23T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67ba3ca848", "title": "Getting started with MapR-DB Table Replication", "url": "https://tgrall.github.io/blog/2017/08/08/getting-started-with-mapr-db-table-replication", "published_at": "2017-08-08T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bb0e9ca6", "title": "Getting Started with Kafka REST Proxy for MapR Streams", "url": "https://tgrall.github.io/blog/2017/01/20/getting-started-with-kafka-rest-proxy-for-mapr-streams", "published_at": "2017-01-20T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bb7ecf11", "title": "Getting Started with MQTT and Java", "url": "https://tgrall.github.io/blog/2017/01/02/getting-started-with-mqtt", "published_at": "2017-01-02T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bc10eb5e", "title": "Getting started with Apache Flink and Mapr Streams", "url": "https://tgrall.github.io/blog/2016/10/17/getting-started-with-apache-flink-and-mapr-streams", "published_at": "2016-10-17T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bc534054", "title": "Getting started with Apache Flink and Kafka", "url": "https://tgrall.github.io/blog/2016/10/12/getting-started-with-apache-flink-and-kafka", "published_at": "2016-10-12T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bcd6c4a5", "title": "Streaming Analytics in a Digitally Industrialized World", "url": "https://tgrall.github.io/blog/2016/09/26/streaming-analytics-in-a-digitally-industrialized-world", "published_at": "2016-09-26T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bd19ed0f", "title": "Setting up Spark Dynamic Allocation on MapR", "url": "https://tgrall.github.io/blog/2016/09/01/setting-up-spark-dynamic-allocation-on-mapr", "published_at": "2016-09-01T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bdf04e02", "title": "Save MapR Streams messages into MapR DB JSON", "url": "https://tgrall.github.io/blog/2016/03/30/save-mapr-streams-messages-into-mapr-db-json", "published_at": "2016-03-30T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bea5f623", "title": "Getting Started with MapR Streams", "url": "https://tgrall.github.io/blog/2016/03/10/getting-started-with-mapr-streams", "published_at": "2016-03-10T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bf199bc4", "title": "Getting Started with Sample Programs for Apache Kafka 0.9", "url": "https://tgrall.github.io/blog/2016/02/10/getting-started-with-sample-programs-for-apache-kafka-0-dot-9", "published_at": "2016-02-10T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bf2bd761", "title": "Using Apache Drill REST API to build ASCII Dashboard with node", "url": "https://tgrall.github.io/blog/2015/12/10/using-apache-drill-rest-api-to-build-ascii-dashboard-with-node", "published_at": "2015-12-10T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67bfc43b29", "title": "Convert a CSV File to Apache Parquet with Drill", "url": "https://tgrall.github.io/blog/2015/08/17/convert-csv-file-to-apache-parquet-dot-dot-dot-with-drill", "published_at": "2015-08-17T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c03574da", "title": "Apache Drill : How to create a new function?", "url": "https://tgrall.github.io/blog/2015/07/21/apache-drill-how-to-create-a-new-function", "published_at": "2015-07-21T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c0d8a211", "title": "MongoDB : Playing with Arrays", "url": "https://tgrall.github.io/blog/2015/04/21/mongodb-playing-with-arrays", "published_at": "2015-04-21T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c135a90e", "title": "Introduction to MongoDB Security", "url": "https://tgrall.github.io/blog/2015/02/04/introduction-to-mongodb-security", "published_at": "2015-02-04T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c182b544", "title": "Moving my beers from Couchbase to MongoDB", "url": "https://tgrall.github.io/blog/2015/02/01/moving-my-beers-from-couchbase-to-mongodb", "published_at": "2015-02-01T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c278df6a", "title": "Everybody says “Hackathon”!", "url": "https://tgrall.github.io/blog/2015/01/23/everybody-says-hackathon", "published_at": "2015-01-23T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c35e3bcb", "title": "Nantes MUG : Event #2", "url": "https://tgrall.github.io/blog/2015/01/21/nantes-mug-event-number-2", "published_at": "2015-01-21T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c439d7ee", "title": "How to create a pub/sub application with MongoDB ? Introduction", "url": "https://tgrall.github.io/blog/2015/01/12/how-to-create-a-pub-slash-sub-application-with-mongodb-introduction", "published_at": "2015-01-12T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c50a3b28", "title": "Big Data... Is Hadoop the good way to start?", "url": "https://tgrall.github.io/blog/2014/11/25/big-data-dot-dot-dot-is-hadoop-the-good-way-to-start", "published_at": "2014-11-25T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c5430c69", "title": "Introduction to MongoDB Geospatial feature", "url": "https://tgrall.github.io/blog/2014/08/21/introduction-to-mongodb-geospatial-feature", "published_at": "2014-08-21T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c596722c", "title": "db.person.find( { 'role' : 'DBA' } )", "url": "https://tgrall.github.io/blog/2014/03/28/dbpersonfind-role-dba", "published_at": "2014-03-28T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c61ea7e1", "title": "Pagination with Couchbase", "url": "https://tgrall.github.io/blog/2013/10/01/pagination-with-couchbase", "published_at": "2013-10-01T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c65365d5", "title": "How to implement Document Versioning with Couchbase", "url": "https://tgrall.github.io/blog/2013/07/18/how-to-implement-document-versioning-with-couchbase", "published_at": "2013-07-18T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c67ffeb6", "title": "Deploy your Node/Couchbase application to the cloud with Clever Cloud", "url": "https://tgrall.github.io/blog/2013/07/11/deploy-your-node-slash-couchbase-application-to-the-cloud-with-clever-cloud", "published_at": "2013-07-11T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c7418157", "title": "SQL to NoSQL : Copy your data from MySQL to Couchbase", "url": "https://tgrall.github.io/blog/2013/07/03/sql-to-nosql-copy-your-data-from-mysql-to-couchbase", "published_at": "2013-07-03T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c81e3a65", "title": "Create a Couchbase cluster in less than a minute with Ansible", "url": "https://tgrall.github.io/blog/2013/05/31/create-a-couchbase-cluster-in-less-than-a-minute-with-ansible", "published_at": "2013-05-31T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c8c5ab14", "title": "Six months as Technical Evangelist at Couchbase", "url": "https://tgrall.github.io/blog/2013/05/28/six-months-as-technical-evangelist-at-couchbase", "published_at": "2013-05-28T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c909bd11", "title": "Screencast : Fun with Couchbase MapReduce and Twitter", "url": "https://tgrall.github.io/blog/2013/04/29/screencast-fun-with-couchbase-mapreduce-and-twitter", "published_at": "2013-04-29T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c9828a70", "title": "Easy application development with Couchbase, Angular and Node", "url": "https://tgrall.github.io/blog/2013/03/06/easy-application-development-with-couchbase-angular-and-node", "published_at": "2013-03-06T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67c9b1bf87", "title": "How to get the latest document by date/time field?", "url": "https://tgrall.github.io/blog/2013/02/18/how-to-get-the-latest-document-by-date-slash-time-field", "published_at": "2013-02-18T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67caafe030", "title": "Introduction to Collated Views with Couchbase 2.0", "url": "https://tgrall.github.io/blog/2013/02/13/introduction-to-collated-views-with-couchbase-2-dot-0", "published_at": "2013-02-13T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67cb809cca", "title": "Getting started with Couchbase and node.js on Windows", "url": "https://tgrall.github.io/blog/2013/01/04/getting-started-with-couchbase-and-node-dot-js-on-windows", "published_at": "2013-01-04T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67cc0a441c", "title": "Couchbase 101: Create views (MapReduce) from your Java application", "url": "https://tgrall.github.io/blog/2012/12/30/couchbase-101-create-views-mapreduce-from-your-java-application", "published_at": "2012-12-30T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67ccada529", "title": "What to do if your Couchbase Server does not start?", "url": "https://tgrall.github.io/blog/2012/12/26/what-to-do-if-your-couchbase-server-does-not-start", "published_at": "2012-12-26T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67cd77e41a", "title": "New Adventure...", "url": "https://tgrall.github.io/blog/2012/12/01/new-adventure-dot-dot-dot", "published_at": "2012-12-01T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67ce46a8eb", "title": "Couchbase : Create a large dataset using Twitter and Java", "url": "https://tgrall.github.io/blog/2012/11/05/couchbase-create-a-large-dataset-using-twitter-and-java", "published_at": "2012-11-05T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67cf1a3a35", "title": "Create a Simple Node.js and Couchbase application... on OS X", "url": "https://tgrall.github.io/blog/2012/09/24/create-a-simple-node-dot-js-and-couchbase-application-dot-dot-dot-on-os-x", "published_at": "2012-09-24T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67cfc65a0c", "title": "Couchbase 101 : install, store and query data", "url": "https://tgrall.github.io/blog/2012/07/06/couchbase-101-install-store-and-query-data", "published_at": "2012-07-06T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d0a179c4", "title": "eXo Platform: Internationalization of content", "url": "https://tgrall.github.io/blog/2012/05/11/exo-platform-internationalization-of-content", "published_at": "2012-05-11T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d0a9de1d", "title": "Twitter Boostrap 2 and Google Maps", "url": "https://tgrall.github.io/blog/2012/04/11/twitter-boostrap-2-and-google-maps", "published_at": "2012-04-11T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d117d084", "title": "SAP Cloud Inside : Build and Run Applications in the Cloud", "url": "https://tgrall.github.io/blog/2012/02/19/sap-cloud-inside-build-and-run-applications-in-the-cloud", "published_at": "2012-02-19T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d1d7bb11", "title": "eXo Platform : Integrate Twitter and eXo Activity Stream", "url": "https://tgrall.github.io/blog/2012/01/19/exo-platform-integrate-twitter-and-exo-activity-stream", "published_at": "2012-01-19T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d1e87058", "title": "How to watch YouTube videos offline (on OS X)?", "url": "https://tgrall.github.io/blog/2011/12/05/how-to-watch-youtube-videos-offline-on-os-x", "published_at": "2011-12-05T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d254c328", "title": "Installing Memcached on Mac OS X and using it in Java", "url": "https://tgrall.github.io/blog/2011/11/20/installing-memcached-on-mac-os-x-and-using-it-in-java", "published_at": "2011-11-20T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d31f8af2", "title": "JAX-RS: Jersey and JSON single element arrays", "url": "https://tgrall.github.io/blog/2011/09/02/jax-rs-jersey-and-json-single-element-arrays", "published_at": "2011-09-02T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d39d4dfe", "title": "How to create a new Content List Template for eXo Platform 3", "url": "https://tgrall.github.io/blog/2011/08/31/how-to-create-a-new-content-list-template-for-exo-platform-3", "published_at": "2011-08-31T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d488b3bb", "title": "How to protect your REST service and Gadget in eXo Platform", "url": "https://tgrall.github.io/blog/2011/04/11/how-to-protect-your-rest-service-and-gadget-in-exo-platform", "published_at": "2011-04-11T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d4cc2f9d", "title": "eXo Cloud IDE : develop for the Cloud on the Cloud", "url": "https://tgrall.github.io/blog/2011/03/16/exo-cloud-ide-develop-for-the-cloud-on-the-cloud", "published_at": "2011-03-16T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d57d10b6", "title": "How to calculate the size of a folder in JCR (Java Content Repository)?", "url": "https://tgrall.github.io/blog/2011/03/01/how-to-calculate-the-size-of-a-folder-in-jcr-java-content-repository", "published_at": "2011-03-01T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d5fa21d0", "title": "iOS 101: How to convert a String to a NSDate", "url": "https://tgrall.github.io/blog/2011/01/02/ios-101-how-to-convert-a-string-to-a-nsdate", "published_at": "2011-01-02T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d60b6061", "title": "What Apple’s Announcement Really Means to Java Developers", "url": "https://tgrall.github.io/blog/2010/10/29/what-apples-announcement-really-means-to-java-developers", "published_at": "2010-10-29T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d64b32ae", "title": "Create and Deploy a JAX-RS REST service on Google App Engine", "url": "https://tgrall.github.io/blog/2010/02/28/create-and-deploy-a-jax-rs-rest-service-on-google-app-engine", "published_at": "2010-02-28T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d6871d0d", "title": "VirtualBox: How to clone a virtual machine?", "url": "https://tgrall.github.io/blog/2010/02/24/virtualbox-how-to-clone-a-virtual-machine", "published_at": "2010-02-24T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d6dbbad0", "title": "NantesJUG: Next Meeting Friday November 13th about 'Google Technologies'", "url": "https://tgrall.github.io/blog/2009/11/08/nantesjug-next-meeting-friday-november-13th-about-google-technologies", "published_at": "2009-11-08T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d79fd4bc", "title": "USI2009: The Geek and Boss French Conference", "url": "https://tgrall.github.io/blog/2009/07/08/usi2009-the-geek-and-boss-french-conference", "published_at": "2009-07-08T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d83f87cb", "title": "Next Generation Portals : How OpenSocial Standard Adds Social to the Mix?", "url": "https://tgrall.github.io/blog/2009/04/07/next-generation-portals-how-opensocial-standard-adds-social-to-the-mix", "published_at": "2009-04-07T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d8738131", "title": "Conference season for eXo Platform in Paris", "url": "https://tgrall.github.io/blog/2009/03/30/conference-season-for-exo-platform-in-paris", "published_at": "2009-03-30T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d9584daf", "title": "JAX-WS: How to configure the service end point at runtime?", "url": "https://tgrall.github.io/blog/2009/02/17/jax-ws-how-to-configure-the-service-end-point-at-runtime", "published_at": "2009-02-17T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67d9fe65c4", "title": "Interest of Enterprise Portals", "url": "https://tgrall.github.io/blog/2009/02/10/interest-of-enterprise-portals", "published_at": "2009-02-10T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67dac4dbf9", "title": "Screen Cast: eXo WebOS: How to use a Google Gadget as an eXo WebOS Application", "url": "https://tgrall.github.io/blog/2009/01/26/screen-cast-exo-webos-how-to-use-a-google-gadget-as-an-exo-webos-application", "published_at": "2009-01-26T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67db597b58", "title": "eXo Portal and Google Gadgets: Great post from Laurent Bois", "url": "https://tgrall.github.io/blog/2008/11/24/exo-portal-and-google-gadgets-great-post-from-laurent-bois", "published_at": "2008-11-24T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67db79eb9e", "title": "(French) eXo Platform Nominee for 01.Net awards.", "url": "https://tgrall.github.io/blog/2008/10/06/french-exo-platform-nominee-for-01-dot-net-awards", "published_at": "2008-10-06T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67dbacd2f0", "title": "New cool tools that I am using: DabbleBoard & Balsamiq", "url": "https://tgrall.github.io/blog/2008/08/07/new-cool-tools-that-i-am-using-dabbleboard-and-balsamiq", "published_at": "2008-08-07T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67dc78ae15", "title": "A month in eXo... busy busy busy...", "url": "https://tgrall.github.io/blog/2008/07/29/a-month-in-exo-dot-dot-dot-busy-busy-busy-dot-dot-dot", "published_at": "2008-07-29T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67dd72d2f3", "title": "Joining eXo Platform", "url": "https://tgrall.github.io/blog/2008/06/17/joining-exo-platform", "published_at": "2008-06-17T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67dd97f407", "title": "The good side of expensive oil price...", "url": "https://tgrall.github.io/blog/2008/06/02/the-good-side-of-expensive-oil-price-dot-dot-dot", "published_at": "2008-06-02T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67dde92f1c", "title": "Seesmic in action on TechCrunch's 'great' Twitter post....", "url": "https://tgrall.github.io/blog/2008/05/26/seesmic-in-action-on-techcrunchs-great-twitter-post-dot-dot-dot", "published_at": "2008-05-26T00:00:00+00:00" }, { "id": "01a087eb-b1d6-707c-b2be-8d67dee5142a", "title": "What is Twitter? It is a simple tool to turn off lights", "url": "https://tgrall.github.io/blog/2008/05/21/what-is-twitter-it-is-a-simple-tool-to-turn-off-lights", "published_at": "2008-05-21T00:00:00+00:00" } ] posts Claim your blog
Back to tgrall.github.io
Blog · corpus.blog/blogs/tgrall.github.io/posts

tgrall.github.io

tgrall.github.io

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011

2010

2009

2008