<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4722727826918942842</id><updated>2026-06-09T04:29:16.386+08:00</updated><category term="programming"/><category term="Spatial analysis"/><category term="intergraph"/><category term="Data translation"/><category term="Image processing"/><category term="LiDAR"/><category term="Data Editing"/><category term="geomedia"/><category term="Google Maps"/><category term="Android"/><category term="Terrain modeling"/><category term="Ubuntu"/><category term="Coordinate conversion"/><category term="Google"/><category term="geomedia Professional"/><category term="Global Mapper"/><category term="Javascript"/><category term="C#"/><category term="point cloud"/><category term="Linux"/><category term="Android Studio"/><category term="WebApp"/><category term="QGIS"/><category term="Android App"/><category term="gvSIG"/><category term="Cartography"/><category term="SAGA GIS"/><category term="safe fme"/><category term="Transportation"/><category term="Grid Analysis"/><category term="Google Gadget"/><category term="Google Mapplets"/><category term="HTML5."/><category term="Java"/><category term="3D"/><category term="C++"/><category term="PDAL"/><category term="Visual Studio"/><category term="Gradle"/><category term="Mashup"/><category term="Photogrammetry"/><category term="ROS"/><category term="SpatiaLite"/><category term="XML"/><category term="ArcGis"/><category term="CMake"/><category term="Las"/><category term="GDAL"/><category term="Windows"/><category term="liblas"/><category term="Android SDK"/><category term="Flutter"/><category term="GeoMedia Terrain"/><category term="Public Safety"/><category term="Velodyne"/><category term="CloudCompare"/><category term="GPS"/><category term="Gimp"/><category term="HTML"/><category term="Raspberry Pi"/><category term="Street View"/><category term="Windows Phone"/><category term="Windows Phone App"/><category term="Chrome"/><category term="Earthquakes"/><category term="GeoMedia WebMap"/><category term="Google Earth"/><category term="Malaysia"/><category term="OSGeo4W"/><category term="Oracle VirtualBox"/><category term="PostGIS"/><category term="Video processing"/><category term="imagemagick"/><category term="64-bit"/><category term="ESRI"/><category term="Inkscape"/><category term="SQL"/><category term="Shapefile"/><category term="Singapore"/><category term="Windows 10"/><category term="AndroidX"/><category term="Chrome Web Store"/><category term="GPU"/><category term="GeoMedia Grid"/><category term="Koordinat2"/><category term="Kotlin"/><category term="Microsoft Access"/><category term="Microstation"/><category term="ReactJS"/><category term="Vector"/><category term="VeloView"/><category term="ffmpeg"/><category term="forestry"/><category term="Brazil"/><category term="Geocoding"/><category term="Git"/><category term="Google App Engine"/><category term="Google Play Services"/><category term="Japan"/><category term="NVIDIA"/><category term="Proj4"/><category term="Python"/><category term="QEMU"/><category term="SQLite"/><category term="SSH"/><category term="Shell script"/><category term="Spring"/><category term="Windows App"/><category term="AdMob"/><category term="CSV"/><category term="Eclipse"/><category term="Facebook"/><category term="FileReader"/><category term="GeoTIFF"/><category term="LibreOffice"/><category term="MacOSX"/><category term="Microsoft Excel"/><category term="Networking"/><category term="OpenCV"/><category term="RTSP"/><category term="Raspbian"/><category term="SVG"/><category term="WKT"/><category term="WMS"/><category term="Web"/><category term="WebAssembly"/><category term="Windows 8"/><category term="Windows Mobile"/><category term="libGeotiff"/><category term="libTiff"/><category term="Animation"/><category term="Applanix"/><category term="AvaloniaUI"/><category term="Base"/><category term="CSS"/><category term="CUDA"/><category term="Decompiler"/><category term="Gstreamer"/><category term="HP Touchpad"/><category term="HTTPS"/><category term="IOS"/><category term="IndexedDB"/><category term="Intel"/><category term="KML"/><category term="Maven"/><category term="NSIS"/><category term="Notepad++"/><category term="OneMap"/><category term="Orfeo Tool Box"/><category term="PCAP"/><category term="PhotoScan"/><category term="SRTM"/><category term="Sapporo"/><category term="ShapeLib"/><category term="Slam6d"/><category term="VLC"/><category term="Vancouver"/><category term="Visual Studio Code"/><category term="Web Design"/><category term="Windows 7"/><category term="dotnet"/><category term="modem"/><category term="systemd"/><category term="virt-manager"/><category term="3D Modeling"/><category term="3DForest"/><category term="AVG"/><category term="AdDuplex"/><category term="AdMediator"/><category term="AdView"/><category term="Agisoft Lens"/><category term="Apple"/><category term="Arm64"/><category term="Bangkok"/><category term="Blender"/><category term="Blogger"/><category term="BlueStacks"/><category term="Bootstrap"/><category term="CAD"/><category term="CPack"/><category term="Canada"/><category term="Charts"/><category term="Columbia"/><category term="DGN"/><category term="Dependency Walker"/><category term="Displaz"/><category term="District of Columbia"/><category term="Docker"/><category term="ES File Explorer"/><category term="EmguCV"/><category term="Emulator"/><category term="Exiftool"/><category term="FWTools"/><category term="FireFox"/><category term="Firewall"/><category term="Flathub"/><category term="FugroViewer"/><category term="Fusion"/><category term="GIF"/><category term="Gazebo"/><category term="Generative AI"/><category term="GeoJSON"/><category term="GeoKno"/><category term="GeoMedia 3D"/><category term="GeoMedia Map Publisher"/><category term="GeoNet"/><category term="Geoid"/><category term="Gitlab"/><category term="Google Drive"/><category term="Google Maps Android Utility"/><category term="Hibernate"/><category term="Hong Kong"/><category term="Hyper-V"/><category term="IIS"/><category term="JDBC"/><category term="JSLint"/><category term="JSON"/><category term="Jar"/><category term="Jpegtran"/><category term="Jython"/><category term="KVM"/><category term="Krita"/><category term="Kuala Lumpur"/><category term="Lint"/><category term="Live Template"/><category term="MCC-LiDAR"/><category term="Manila"/><category term="Maps"/><category term="Mars"/><category term="Mastodon"/><category term="MultiWindow"/><category term="Myanmar"/><category term="NASA"/><category term="Nana"/><category term="NetTopologySuite"/><category term="New Zealand"/><category term="Nexus 7"/><category term="OGR"/><category term="OSM"/><category term="Octave"/><category term="OpenLayers"/><category term="OpenStreetMap"/><category term="Oracle Spatial"/><category term="Osaka"/><category term="PCL"/><category term="PointVue LE"/><category term="Proguard"/><category term="Pylint"/><category term="QuadTreeLib"/><category term="Quectel"/><category term="RDP"/><category term="Rail"/><category term="RawTherapee"/><category term="Regular Expressions"/><category term="Renderscript"/><category term="Retrofit"/><category term="SBET"/><category term="SLAM"/><category term="SQL Server"/><category term="SVY21"/><category term="Samsung"/><category term="Samsung Gear"/><category term="Seattle"/><category term="Segmentation"/><category term="Servlet"/><category term="SharpMap"/><category term="Simulation"/><category term="SkyTrain"/><category term="Sony"/><category term="Stable Diffusion"/><category term="Swift"/><category term="TabLayout"/><category term="Tampa"/><category term="Telnet"/><category term="Tensorflow"/><category term="Time"/><category term="Tizen SDK"/><category term="Traffic"/><category term="Trainsity"/><category term="Transit"/><category term="Tulsa"/><category term="Twitter"/><category term="USB"/><category term="VMware"/><category term="Vertical Datum"/><category term="Volcano"/><category term="Washington DC"/><category term="Weather"/><category term="WebP"/><category term="Wine"/><category term="XAML"/><category term="XQuartz"/><category term="XSens"/><category term="XYZ"/><category term="Xcode"/><category term="chrony"/><category term="create-react-app"/><category term="dart"/><category term="flac"/><category term="flatpak"/><category term="gdb"/><category term="geomedia fusion"/><category term="getWKT"/><category term="gphoto2"/><category term="jQuery"/><category term="mp3"/><category term="vim"/><title type='text'>dominoc925</title><subtitle type='html'>About Geospatial Applications, FME, Visual Studio, gvSIG, Global Mapper, Programming, LiDAR, GIS, Google Maps, SAGA GIS, Android, QGIS</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>572</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-3133323734302011547</id><published>2026-05-11T12:00:00.010+08:00</published><updated>2026-05-11T12:00:00.117+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPU"/><category scheme="http://www.blogger.com/atom/ns#" term="NVIDIA"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>Resolving the no external monitor signal error after updating Ubuntu 24.04</title><summary type="text">After installing system updates on my Ubuntu 24.04 Thinkpad P53 with a NVIDIA T1000 GPU, sometimes my external HDMI monitor will no longer get any display signal from my laptop after rebooting. This happened to me many times over the years; and every time I had to search for the solution to the problem. This could take a while and wasted my time. So for posterity&#39;s sake, I am writing this post so</summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/3133323734302011547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/3133323734302011547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/3133323734302011547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/3133323734302011547'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2026/05/resolving-no-external-monitor-signal.html' title='Resolving the no external monitor signal error after updating Ubuntu 24.04'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSnhNB8mtX9Lm7Q_n_gJr_1QFY4Me_9fh2ULNfSgVD5i7V5PUAos37paVO__bJ-QmwhIlEUn3XiB_k2_C20wUbkzdQw3zJG0j8EZeNRTLpvU2MJiucLU3IBElAkaXEeoVI-MNkRTS6Qkpk3ObpMm-sXpIuZ0v6yRFeOCFmMaSk81Gt-0VJcOvh1feI/s72-c/Screenshot%20from%202026-05-10%2009-40-38.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-192871348545619896</id><published>2026-03-13T09:57:00.006+08:00</published><updated>2026-03-13T09:57:45.941+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Android App"/><category scheme="http://www.blogger.com/atom/ns#" term="Earthquakes"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Maps"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Quakemon - Monitor Earthquakes Android App</title><summary type="text">&amp;nbsp;Monitor earthquakes, volcano eruptions across countries with Quakemon.Stay
 informed with up-to-date incidents and live camera views, all presented
 through an intuitive map and list interface designed for quick 
situational awareness.Key Features:1. Multi-Countries Earthquakes MonitoringView earthquake incidents across supported countries using an interactive map or a clear, scrollable </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/192871348545619896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/192871348545619896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/192871348545619896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/192871348545619896'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2026/03/quakemon-monitor-earthquakes-android-app.html' title='Quakemon - Monitor Earthquakes Android App'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA76GHxAnt5M-XFxLYkWNSvgdryYDrdtNLdYJvFzXskWRwPsIy9qLeQqwoyX-F6vVsgxzcXRg_9qJ5n81l5PriKH5UCTdG40NI8ngKj5sC-0lWMkSgEno4klOgwxeBg5_XTCUqNjy8wQb-Q8zRl_X8jGExv8iH-b2EMRDCvc6xEbkvRKOM_eoFIr66/s72-c/ic_launcher.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-4206259252968468225</id><published>2025-10-27T15:26:00.006+08:00</published><updated>2025-10-27T15:26:35.815+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Data Editing"/><category scheme="http://www.blogger.com/atom/ns#" term="QGIS"/><category scheme="http://www.blogger.com/atom/ns#" term="Spatial analysis"/><title type='text'>QGIS - Display the directions of digitized line features</title><summary type="text">When working with line networks in QGIS, sometimes it is necessary to make sure of the digitized line directions for modeling linear network purposes. It is simple in QGIS to display the directions of the digitized line segments; and reverse the direction if required. Basically, to show the line directions in QGIS, simply add a directional arrow marker style to the line segments as described </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/4206259252968468225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/4206259252968468225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/4206259252968468225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/4206259252968468225'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2025/10/qgis-display-directions-of-digitized.html' title='QGIS - Display the directions of digitized line features'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIbOjjYKnh75y7Mf0yAFWG1ODe1wmJHHoGSLUUDWGKi_aD4usjbrnizEum9TjDo1fKIs7r0SlIYdzRm-k6v3sg11Yrf65R2m9iL8FO2grD6lVBkuRDnslcE_Zf_VqJxdYspBB2jpHZduLThIYE3UKK3CbOGtQBuSzkk42eiV7cTwGBAn4cpbfG1ZrW/s72-c/Screenshot%20from%202025-10-24%2013-47-44.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-7088203194666445874</id><published>2025-03-19T09:51:00.001+08:00</published><updated>2025-03-19T10:07:07.290+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Android App"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><category scheme="http://www.blogger.com/atom/ns#" term="GeoJSON"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Shapefile"/><category scheme="http://www.blogger.com/atom/ns#" term="Spatial analysis"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows App"/><title type='text'>Take Geospatial files on the go with the Shapefiler App</title><summary type="text">&amp;nbsp;Easily load and visualize multiple GeoJSON and Shapefiles with this 
powerful mapping tool. The app automatically assigns overlay colors, but
 you have full control over the styling—customize icons, colors, and 
opacity through the layer properties menu.

Tap on polygons, lines, and markers to view detailed feature attributes.
 Quickly find specific locations with the built-in free text </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/7088203194666445874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/7088203194666445874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/7088203194666445874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/7088203194666445874'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2025/03/take-geospatial-files-on-go-with.html' title='Take Geospatial files on the go with the Shapefiler App'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZEAFjwgwbcWNb3-roPn88hvG2I69AIqJ5QtP9jvqXDzDbNN-uC0AkJ4JxsHbDLVsDRkqCNfa8rg71KLsDr9NashXjOF90LvOHWwsXDXi5HodK0JIMxKzAaGhrVrzuMpAPBYBwrT4K3V7LSQgw6r1lt0v6n4jg2z6CDK9wh2dOOfbT2WjVeRwVIBu3/s72-c/ic_launcher.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-6793171490790484987</id><published>2024-12-16T12:00:00.001+08:00</published><updated>2024-12-16T12:00:00.120+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Generative AI"/><category scheme="http://www.blogger.com/atom/ns#" term="Image processing"/><category scheme="http://www.blogger.com/atom/ns#" term="Krita"/><category scheme="http://www.blogger.com/atom/ns#" term="Stable Diffusion"/><title type='text'>Use Generative AI to expand an image in Krita</title><summary type="text">I was playing around with the Generative AI Diffusion plugin for Krita (https://github.com/Acly/krita-ai-diffusion) but I could not figure out how to expand an image for a while. Eventually, I learnt how to get the job done by doing the following steps, illustrated below.Load in an image you want to expand, e.g. a Halloween pumpkin, in Krita.The image to be expanded loaded in KritaNext, select </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/6793171490790484987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/6793171490790484987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6793171490790484987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6793171490790484987'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2024/12/use-generative-ai-to-expand-image-in.html' title='Use Generative AI to expand an image in Krita'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge5yBPrc2-DGtXkkjPFHTNsMmaGyIuwFWSoqGP3kyZEd61E0xr9LpS7_i0awkJLRUaW99C0akkbaJfsz49I7hz947pP9TjMJZDSuIymYyYBnzvBSysA97XpiS4j7vCNrWaaFUmeYi2W_90CnckeFhiqfWlSX6A2jXkM2ZAV3RVb3jiSKJyxK-v6Cr-/s72-c/Screenshot%20from%202024-12-12%2009-27-46.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-125462329739197859</id><published>2024-09-30T12:00:00.001+08:00</published><updated>2024-09-30T12:00:00.120+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android App"/><category scheme="http://www.blogger.com/atom/ns#" term="Coordinate conversion"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><category scheme="http://www.blogger.com/atom/ns#" term="Koordinat2"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="WebApp"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows App"/><title type='text'>Batch Convert Coordinates using the Koordinat2 app</title><summary type="text">&amp;nbsp;A batch coordinates conversion tool has been added to the Koordinat2 web app (https://dominoc925-pages.appspot.com/webapp/koordinat2/default.html) to perform bulk coordinates transformation between coordinate systems.&amp;nbsp;This post shows how to use the Batch Coordinates Converter.Launch the Batch Coordinates ConverterUse a browser to open the Koordinat2 web app url (https://</summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/125462329739197859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/125462329739197859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/125462329739197859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/125462329739197859'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2024/09/batch-convert-coordinates-using.html' title='Batch Convert Coordinates using the Koordinat2 app'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQDdjIwPA7B2SfZsBQM12A5ZcRnu9rK8uHzn6jlv2SOU4AHJMlOchBmhRfU9Gn6jMJvRCIk1T4WFVzF0xVMOdsBjBHNcZ9c_eVt4LPFJCqPfChbYZ3_PDpziZ5XeKVScV2yc7ZznKercrjJMGHIFxU4DyOqQRyZiKdPSKNViN_dtYq5HIisHb7LGKn/s72-c/Screenshot%20from%202024-09-23%2009-49-14.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-2382412888009520261</id><published>2024-09-23T12:00:00.004+08:00</published><updated>2024-09-23T12:00:00.224+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android App"/><category scheme="http://www.blogger.com/atom/ns#" term="Coordinate conversion"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><category scheme="http://www.blogger.com/atom/ns#" term="Koordinat2"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="WebApp"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows App"/><title type='text'>Convert East North Up (ENU) to/from longitude,latitude and other various coordinate systems </title><summary type="text">&amp;nbsp;The Koordinat2 web app (https://dominoc925-pages.appspot.com/webapp/koordinat2/default.html) has been upgraded to perform coordinate transformation between local coordinate system East&amp;nbsp;North Up (ENU) and many other coordinate systems including MGRS, North East Down, ECEF, geographic longitude/latitude, etc.&amp;nbsp;This post shows the typical steps to perform the local ENU conversion to </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/2382412888009520261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/2382412888009520261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/2382412888009520261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/2382412888009520261'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2024/09/convert-east-north-up-enu-tofrom.html' title='Convert East North Up (ENU) to/from longitude,latitude and other various coordinate systems '/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzrDtZ8qDWAdy70iEbgRHanCkbjYXOVmOjL6ufm2KNUZJnXjAZArYTsIAtpkJOUkp7Y-yMVNYKhM2MXiwPNFfL-LNluk8C81odWIMKmNSPtUaC9yub8smcbIBpdjsk-L_lUEfePsi93Z_W_mbKhwQJ0BgM6Ms36jPOSf-S0H-AfJCR01FZgoWijGT_/s72-c/Screen%20Shot%202024-03-14%20at%2013.08.13.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-9117271931603383006</id><published>2024-08-13T15:02:00.057+08:00</published><updated>2026-04-12T09:24:36.638+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android App"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><category scheme="http://www.blogger.com/atom/ns#" term="Maps"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Rail"/><category scheme="http://www.blogger.com/atom/ns#" term="Trainsity"/><category scheme="http://www.blogger.com/atom/ns#" term="Transit"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows App"/><title type='text'>Trainsity Metro App</title><summary type="text">&amp;nbsp;Navigate public train networks effortlessly with the Trainsity Metro app&#39;s 
high-resolution vector maps. Choose and download the maps you need, 
enjoying detailed zoom levels without sacrificing storage space. Access 
all features offline, without needing an internet connection.Key Features:    High-Resolution Vector Maps: Crisp, clear maps with multiple zoom levels for detailed viewing.</summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/9117271931603383006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/9117271931603383006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/9117271931603383006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/9117271931603383006'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2024/08/trainsity-app.html' title='Trainsity Metro App'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_yvJR4FYzgvuG2k0ExqWgGsBN00XCgvSVjZcU6RXKi8NGQ7pLRomXHzq8owqM-bQu_n-xE9wIi4eDnoeYY0OQCDdfFwdf0gHov0YgqtOZO_PIsTTmcdHZx69Brk3yTKQC8-3YEZYBgUahyphenhyphenMTKV9JEcozpAC6RQT0UgjHIoEwOOMzWsDIae6ihCVc/s72-c/app_icon.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-7320553950893792186</id><published>2024-05-27T12:00:00.020+08:00</published><updated>2024-05-27T12:00:00.143+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Coordinate conversion"/><category scheme="http://www.blogger.com/atom/ns#" term="QGIS"/><title type='text'>QGIS - Finding location by coordinates</title><summary type="text">If you need to find specific locations by entering coordinates directly 
on a map, QGIS offers a handy tool for this purpose. I stumbled upon 
this feature by chance, and it’s incredibly useful. On the status bar at
 the bottom of the QGIS interface, there is a field where you can input 
the desired map coordinates. Here’s how you can use it: Open QGIS: Start by launching the QGIS </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/7320553950893792186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/7320553950893792186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/7320553950893792186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/7320553950893792186'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2024/05/qgis-finding-location-by-coordinates.html' title='QGIS - Finding location by coordinates'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwWpSVE1VOhJjTtacz-s4hHxxklX2ody9GyvMWjB16tOI5fQ14C-HX0Ar_NTsOXdhnLUcuwMOpChzzHvuWdRzUDa6pTJI1xnU1WrRhN47uGXM2fyEE6UfUqH59CE-wxsR_9if8VpN6ekqcYX5liVcNBsAbLTgT3c94GY0Botst9uoXR6o7w627iPxr/s72-c/Screenshot%20from%202024-05-13%2015-34-42.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-2053961849692587679</id><published>2024-03-25T12:00:00.001+08:00</published><updated>2024-03-25T12:00:00.137+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Coordinate conversion"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><category scheme="http://www.blogger.com/atom/ns#" term="Koordinat2"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="WebApp"/><title type='text'>Convert Earth Centered Earth Fixed to/from other coordinate systems with this web app Koordinat2</title><summary type="text">According to Wikipedia https://en.wikipedia.org/wiki/Earth-centered%2C_Earth-fixed_coordinate_system: in today&#39;s modern age of navigation and spatial referencing, there&#39;s a 
key player that often goes unnoticed: the Earth-centered, Earth-fixed 
coordinate system, more commonly known as ECEF. This sophisticated 
system, akin to a cosmic GPS, allows us to pinpoint locations with 
incredible </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/2053961849692587679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/2053961849692587679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/2053961849692587679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/2053961849692587679'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2024/03/convert-earth-centered-earth-fixed.html' title='Convert Earth Centered Earth Fixed to/from other coordinate systems with this web app Koordinat2'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZfbAP4CYohJWU4Lo1Agad0TZKu1T7qcO0g1qaueVGSVT-A5KR5U2Itkza-KRKkX5ABBRgRo6j21hft34LWzaZMKqWBMwS08XvCIgZJA5gZasKGzAwcMY8VCNNL3uuBAHwh6xsO9sHiYtT_s1BZCHE7sb7C-XuE861HW-qI8nQekfwZdN90hgtzU53/s72-c/Screen%20Shot%202024-03-16%20at%2010.40.14.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-6828452442573325648</id><published>2024-03-18T12:00:00.002+08:00</published><updated>2024-03-19T11:39:03.815+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Coordinate conversion"/><category scheme="http://www.blogger.com/atom/ns#" term="Data translation"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><category scheme="http://www.blogger.com/atom/ns#" term="Koordinat2"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="WebApp"/><title type='text'>Convert North East Down (NED) to/from longitude,latitude and other various coordinate systems </title><summary type="text">The Koordinat2 web app (https://dominoc925-pages.appspot.com/webapp/koordinat2/default.html) has been upgraded to perform coordinate transformation between local coordinate system North East Down (NED) and many other coordinate systems including MGRS, geographic longitude/latitude, etc.&amp;nbsp;This post shows the typical steps to perform the local NED conversion to other coordinate systems.Define </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/6828452442573325648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/6828452442573325648' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6828452442573325648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6828452442573325648'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2024/03/convert-north-east-down-ned-tofrom.html' title='Convert North East Down (NED) to/from longitude,latitude and other various coordinate systems '/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzrDtZ8qDWAdy70iEbgRHanCkbjYXOVmOjL6ufm2KNUZJnXjAZArYTsIAtpkJOUkp7Y-yMVNYKhM2MXiwPNFfL-LNluk8C81odWIMKmNSPtUaC9yub8smcbIBpdjsk-L_lUEfePsi93Z_W_mbKhwQJ0BgM6Ms36jPOSf-S0H-AfJCR01FZgoWijGT_/s72-c/Screen%20Shot%202024-03-14%20at%2013.08.13.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-6879759278068438240</id><published>2024-02-12T12:00:00.001+08:00</published><updated>2024-02-12T12:00:00.134+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dart"/><category scheme="http://www.blogger.com/atom/ns#" term="Flutter"/><category scheme="http://www.blogger.com/atom/ns#" term="JSON"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Deserialize a list of JSON objects using json_annotation and json_serializable in Flutter</title><summary type="text">I could not find an example of how to read in a list of JSON objects from a file using the Flutter packages: json_annotation and json_serializable. After a while I figured the way to do it. This post shows an example of automating JSON de-serialization of a JSON file that looks like the following:

&lt;!--HTML generated using hilite.me--&gt;[
    {
        &quot;code&quot;: &quot;NED&quot;,
        &quot;fullname&quot;: &quot;North East</summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/6879759278068438240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/6879759278068438240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6879759278068438240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6879759278068438240'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2024/02/deserialize-list-of-json-objects-using.html' title='Deserialize a list of JSON objects using json_annotation and json_serializable in Flutter'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-2924691059076546329</id><published>2023-11-27T12:00:00.001+08:00</published><updated>2023-11-27T12:00:00.160+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Android App"/><category scheme="http://www.blogger.com/atom/ns#" term="Android Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Gradle"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>How I fixed the Android Studio current target and jvm target compatibility error</title><summary type="text">I encountered the following compilation error in Android Studio of one of my Android project about current target JVM compatibility (or incompatibility), as shown in the screenshot message listing below: &amp;nbsp;

&lt;!--HTML generated using hilite.me--&gt;Execution failed for task &#39;:app:compileDebugKotlin&#39;.
&amp;gt; &#39;compileDebugJavaWithJavac&#39; task (current target is 1.8) and &#39;compileDebugKotlin&#39; task (</summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/2924691059076546329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/2924691059076546329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/2924691059076546329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/2924691059076546329'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2023/11/how-i-fixed-android-studio-current.html' title='How I fixed the Android Studio current target and jvm target compatibility error'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9CAVKXjpqgCX5Ladik4XGj4slmIb-FDHYv9SjkFUfUKAYA8TSfJl7mtmZMhdhVuYEUp6nYExbKOSUBZVqYHF_bDQX0jN1PRnuiCRypQCgz4dbcgsoMyPHQ9rd6ed5i574BWytN30L4ZqMsUpL0OM6suwV9Mjk6H7KyEbH86poj9PPM0uomoyRMOra/s72-c/Screenshot%20from%202023-11-22%2009-34-43.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-6658382298518588481</id><published>2023-11-13T12:00:00.014+08:00</published><updated>2023-11-13T12:00:00.151+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Coordinate conversion"/><category scheme="http://www.blogger.com/atom/ns#" term="Koordinat2"/><category scheme="http://www.blogger.com/atom/ns#" term="Singapore"/><category scheme="http://www.blogger.com/atom/ns#" term="SVY21"/><category scheme="http://www.blogger.com/atom/ns#" term="WebApp"/><title type='text'>Using Koordinat2 webapp to convert between SVY21 and geographical coordinates</title><summary type="text">This is a follow up to the original post https://dominoc925.blogspot.com/2021/02/koordinat2-webapp-for-geo-coordinates.html, which describes a generic coordinate conversion steps. This post shows how to specifically use the Koordinat2 webapp https://dominoc925-pages.appspot.com/webapp/koordinat2/default.html to convert from WGS 84 latitude, longitude coordinates to SVY21 projected easting and </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/6658382298518588481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/6658382298518588481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6658382298518588481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6658382298518588481'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2023/11/using-koordinat2-webapp-to-convert.html' title='Using Koordinat2 webapp to convert between SVY21 and geographical coordinates'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2WzjVZ2m3IY10DRmao39Ss3BfWRx5EewdjWawXQ54_HUSqQ1OgnKSVkTuxRX5_Y3Ad9H9OT-5c4ccmbh0DKeBO96xRC0YTQo_QfYXt3yAgcxBVeON9AjFOii7eOFsbWfNNnKcdLg21i_a8Q7LiNiHn_JqkqZ3CdyX-BydXwozR-EH0H64CNpggV3i/s72-c/Screenshot%20from%202023-11-08%2020-37-35.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-4930824092597442847</id><published>2023-10-23T12:00:00.014+08:00</published><updated>2023-10-23T12:00:00.139+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blogger"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Mastodon"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="ReactJS"/><category scheme="http://www.blogger.com/atom/ns#" term="Web"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Design"/><category scheme="http://www.blogger.com/atom/ns#" term="WebApp"/><title type='text'>React JS Material UI icons for Mastodon and Blogger</title><summary type="text">Other than the Linkedin icon, I couldn&#39;t find the Mastodon and Blogger React Material UI (MUI) icons in the React @mui/icons-material library so I had to make my own with Inkscape and a good old text editor. The results are shown in the screenshot below. &amp;nbsp;Here is the MastodonIcon.js code for the Mastodon icon:


&lt;!--HTML generated using hilite.me--&gt;import * as React from &#39;react&#39;;
import </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/4930824092597442847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/4930824092597442847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/4930824092597442847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/4930824092597442847'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2023/10/react-js-material-ui-icons-for-mastodon.html' title='React JS Material UI icons for Mastodon and Blogger'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4NBi_ArbW_amWTpMStR9WQyYa3YdWc3t-XXbTO4jHwRUwF8g7KEH09Kw8YNjiwxt3-cJBTR08I3Dj_CxmSWB6uRXBHUmQnXn2lYQiu-uLYAAduxTIZxjMB8WMkaymbefH38QtwAwjV7cH87MwTDk2wDclKEO9p8cm2twePx-nyBo6LfbbRT00-Vnb/s72-c/Screenshot%20from%202023-10-19%2010-02-57.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-3109483965740124474</id><published>2023-06-05T12:00:00.001+08:00</published><updated>2023-06-05T12:00:00.139+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrony"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>How to sync the time between 2 Ubuntu systems on an isolated network</title><summary type="text">I wanted to match the times between two systems on an isolated network running Ubuntu 22. This can be done using chrony (https://chrony.tuxfamily.org) on the two systems - one system serves as the local time server to the other client system.&amp;nbsp;Setting up the ServerOptional. If chrony is not installed, run the following command in the Terminal to install it.$ sudo apt install chronyUsing a </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/3109483965740124474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/3109483965740124474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/3109483965740124474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/3109483965740124474'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2023/06/how-to-sync-time-between-2-ubuntu.html' title='How to sync the time between 2 Ubuntu systems on an isolated network'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn8paPpWYU5E5wxOefw6cB2CA57oVJz01IEcVkRJucpJ4FC6rubFLcmJWOP6du06FLZMoqMQmQCs5CblA6JR5m4bkRA5ObbMpgq0tayrJ3WmTMWmJYrTsn1s16YvawsUbyliATOVrA_IZQyvkVshyEbpXD7Mr8sZogfRsDBdXbbgprJYjdD5G6ZA/s72-c/Screenshot%20from%202023-05-30%2012-23-16.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-4434820358586066670</id><published>2023-04-03T12:00:00.002+08:00</published><updated>2023-04-19T19:42:06.575+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arm64"/><category scheme="http://www.blogger.com/atom/ns#" term="KVM"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="QEMU"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="virt-manager"/><title type='text'>How to create a Arm64 Ubuntu virtual machine using Virt-Manager</title><summary type="text">I wanted to run Ubuntu on an Arm64/Aarch64 virtual machine on a host Intel Linux computer for the longest time for compiling binaries for Raspberry Pis and other SBC boards. I finally figured out how to do it with virt-manager, and it is quite simple as clicking and selecting options on the virt-manager graphical user interface. The instructions below show how it is done.Download and install </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/4434820358586066670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/4434820358586066670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/4434820358586066670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/4434820358586066670'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2023/04/how-to-create-arm64-ubuntu-virtual.html' title='How to create a Arm64 Ubuntu virtual machine using Virt-Manager'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi52TG00-mykdVlzDOOwTCkCFR_TaQDEpzhRcs1ttHj7oWCdyTWzE2zxmA8zej6EO_XlDhFP066CVwafcVvlDGQCgztZyCJxds3LUVgGRSqY5ueENn4tIZkQb_DnMYfHUbtwL5JtH2ZnAA-UyJgUTarJcjel-SZmp2KFfnVZDsINPaEYqlDsyvihQ/s72-c/Screenshot%20from%202023-03-29%2011-47-13.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-3614249083327914017</id><published>2023-03-27T12:00:00.001+08:00</published><updated>2023-03-27T12:00:00.158+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="Image processing"/><category scheme="http://www.blogger.com/atom/ns#" term="Video processing"/><title type='text'>Convert a sequence of JPG images into a MP4 video using FFMPEG</title><summary type="text">If you have a sequence of images like the screen shot below, it is quite straightforward to use ffmpeg to concatenate them into a single video file.&amp;nbsp; Obviously, you need to specify the image file name and sequence pattern, the frame rate to show each image as shown in the example ffmpeg command below.

&lt;!--HTML generated using hilite.me--&gt;$ ffmpeg -hide_banner \
-f image2 \
-framerate 1 \
</summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/3614249083327914017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/3614249083327914017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/3614249083327914017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/3614249083327914017'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2023/03/convert-sequence-of-jpg-images-into-mp4.html' title='Convert a sequence of JPG images into a MP4 video using FFMPEG'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiY0VLZGueZaCg4cxdaTYBsibKSvVCHQzIcealiua_npzJ05beWmG-hveZjxsBjOYNg9ohOiVNnIpWuXdAc9bBfqZ3fERCqBnr5q7LhlnONJZXRh1OlAdIIPMzTMEnHrmAdtODrKmrqf0vauIB3ORzdM1Cc7tQN5fQCxx7s4Nd09TuDDkLGbv38A/s72-c/Screenshot%20from%202023-03-27%2009-17-54.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-5705591519621291787</id><published>2023-01-30T12:00:00.001+08:00</published><updated>2023-01-30T12:00:00.170+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle VirtualBox"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>Fixing a kernel panic error when installing Ubuntu 20.04 in VirtualBox</title><summary type="text">I was trying to create an Ubuntu 20.04 virtual machine using Oracle VirtualBox but I kept encountering this error with the message &quot;...end kernel panic - not syncing: Attempted to kill the idle task!...&quot; The screenshot below shows the error in VirtualBox.Eventually, I found out the error was caused by inadequate alllocated CPU resources in VirtualBox. By default, the number of CPU allocated for </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/5705591519621291787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/5705591519621291787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/5705591519621291787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/5705591519621291787'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2023/01/fixing-kernel-panic-error-when.html' title='Fixing a kernel panic error when installing Ubuntu 20.04 in VirtualBox'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3Mc2_39kgrvBpJOf9csFLprbfO4JnvMLkR2ysch0vSPkw53_P-uVk8DQHnCY7NoF1b2ow3Ztn2DH8wOYIWPSTOrN2p-UAybD9B70JuK5HGoHsY4rNCHSGvu6mll7V6mqUXSYHeG-Wo35KLM3DdmuGVEt2RE06mGqSIuV3UrL3IMkLysJCrhaCwg/s72-c/Screenshot_20230127_012742.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-908935408368698455</id><published>2022-12-12T12:00:00.001+08:00</published><updated>2022-12-12T12:00:00.156+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="ROS"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>How to read an array from a ROS1 launch file into a C++ vector variable</title><summary type="text">I was having problems reading an array of doubles in a ROS launch file into a vector variable in a C++ ROS1 program node. After some digging around, I found I was doing it the wrong way; instead of using the &amp;lt;param&amp;gt; tag in the ROS launch file, I should be using the &amp;lt;rosparam&amp;gt; tag.&amp;nbsp;The example ROS launch file listing shows the correct way to enter an array, e.g. [0.01, 0.1, 0.2] </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/908935408368698455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/908935408368698455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/908935408368698455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/908935408368698455'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2022/12/how-to-read-array-from-ros1-launch-file.html' title='How to read an array from a ROS1 launch file into a C++ vector variable'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-2631065334570617594</id><published>2022-12-05T12:00:00.001+08:00</published><updated>2022-12-05T12:00:00.170+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gimp"/><category scheme="http://www.blogger.com/atom/ns#" term="Image processing"/><title type='text'>Using GIMP to copy an image layer into a channel</title><summary type="text">In GIMP, it is possible to copy a colored image layer into a single grayscale channel. Here&#39;s how to do the job.Create an empty channelIn GIMP, open up the image file.Click the Channels tab on the bottom right.Then click the Create a new channel icon.The New Channel dialog box appears.Optional. In the Channel name field, type in a name, e.g. flats. In the Fill opacity field, slide to 50.0.&amp;nbsp;</summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/2631065334570617594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/2631065334570617594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/2631065334570617594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/2631065334570617594'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2022/12/using-gimp-to-copy-image-layer-into.html' title='Using GIMP to copy an image layer into a channel'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhac3cbWad_-2Vyd16JNEVEnHysrHETY1TS3d_h0lobeYqT-UeKW3bESPffUy3nIf6doPSMt4FnKPhu9NpnFzHWU_C4SuQt2_pSdJhIHUw5ZLyrzomGBujy5jr0Xeu2YEgblxa65WC8ReBtoWmE6p-k9oMrpee9uT-4X2dwxEqc7nJg4DVTGPcbGQ/s72-c/Screenshot%20from%202022-11-24%2010-04-59.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-4715037038685331474</id><published>2022-11-28T12:00:00.001+08:00</published><updated>2022-11-28T12:00:00.167+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gimp"/><category scheme="http://www.blogger.com/atom/ns#" term="Image processing"/><title type='text'>Using GIMP&#39;s color channels to remove blue guide lines from inked line art</title><summary type="text">Penciled comic book art typically have blue guide lines (and text) as shown in the screen shot below.&amp;nbsp;The sketch can be downloaded from this site https://www.deviantart.com/edtadeo/art/Elektra-2-Pencil-174307445 if you want to practice with it. There are a number of ways to remove the blue lines from the image. I will be using the Color channels panel to remove the guide lines.The </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/4715037038685331474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/4715037038685331474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/4715037038685331474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/4715037038685331474'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2022/11/using-gimps-color-channels-to-remove.html' title='Using GIMP&#39;s color channels to remove blue guide lines from inked line art'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKz3XnrCXDJVuHjDZ0-WJfAZKqITILlr-xtevk970eZ2Z03xzitwHHGvaKUOeabEMGd5ptJ33NrrguYDXHBCpLFKlSu_dZl3lpdT-HccaDvXqeUTv55FYach7DDFPl85rHZIslOzj4o5X7G5Q1TnG4DnxvclvgzKq1yN_PqIh3wuP6YXPa7nNfpA/s72-c/Screenshot%20from%202022-11-22%2012-02-50.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-8905915414590904995</id><published>2022-11-07T12:00:00.003+08:00</published><updated>2022-11-07T12:00:00.163+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="flac"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mp3"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Shell script"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>Shell script to batch bulk convert *.flac files to *.mp3 </title><summary type="text">I have many music files in flac format and I wanted to convert them to a more compressed mp3 format with ffmpeg on Ubuntu so I can upload them to a storage limited portable music player. To ease the conversion task, I decided to write this simple shell script to do the job. In brief, the script will do the following:find all the files with the extension .flac in the current directoryreplace the </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/8905915414590904995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/8905915414590904995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/8905915414590904995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/8905915414590904995'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2022/11/shell-script-to-batch-bulk-convert-flac.html' title='Shell script to batch bulk convert *.flac files to *.mp3 '/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUcTJvdkHTm5spxtfEz38fKRIcdxcwDngqCEjlhYSmsEFiA4WX0bQYJuuBo4qqtR8Qp2HWmgW-WV3N0v0DIw4WJHLQN4rQBVKfOBxcJgf-Gr7DYh3uAwt5T8QfAJC7LlZ3THY486yPemM_9BjvHGK1kjKwZl5rFTdMgxukVnxjeh4Zb9LFja__vA/s72-c/Screenshot%20from%202022-11-04%2016-38-49.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-3096469462829316546</id><published>2022-10-31T12:00:00.004+08:00</published><updated>2022-10-31T20:14:18.139+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="modem"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>Simple C++ example to send serial AT commands to and receive data from a modem</title><summary type="text">I tried using many C/C++ libraries trying to coax a 5G modem to respond to my input AT commands for a long time but I was not successful. The command I was trying to send was the Quectel modem command to query for PDN channels: AT+CGDCONT?After a while, I figured out I had to simulate a keyboard Enter press in code to actually tell the modem the command is complete. So all I had to do was append </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/3096469462829316546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/3096469462829316546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/3096469462829316546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/3096469462829316546'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2022/10/simple-c-example-to-send-serial-at.html' title='Simple C++ example to send serial AT commands to and receive data from a modem'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGdylmZ5iVPGgH_ndCNbh3DM8JtLPPR7vTh3zCrLG4naDD_K4rTrdVG1_CFXRVKNH1wdHCJKz6eQyow3FBjATyaLTMNYbZMwvPaaVjDubLuEyDPLSClyp-a6JwTLEZG1ExpntxvFiOhCfbs31krt61rCNS5oRfGhP0jDa5DfiV2W-nTTwjaUwiPQ/s72-c/Screenshot%20from%202022-10-21%2014-18-12.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4722727826918942842.post-6678337255517019163</id><published>2022-10-24T12:00:00.027+08:00</published><updated>2022-10-24T14:27:56.200+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Data Editing"/><category scheme="http://www.blogger.com/atom/ns#" term="QGIS"/><category scheme="http://www.blogger.com/atom/ns#" term="SpatiaLite"/><title type='text'>QGIS unable to edit SpatiaLite database layer workaround</title><summary type="text">Recently I upgraded to QGIS 3.26 on Ubuntu 22.04 and found that I was unable to edit my existing SpatiaLite database layers, i.e. the Toggle Editing tool bar icon could not be enabled. The screenshot below illustrates the problem.While I have not found the cause of the problem, I found a simple workaround to the issue: just create a new SpatiaLite database and import the layers from the old </summary><link rel='replies' type='application/atom+xml' href='http://dominoc925.blogspot.com/feeds/6678337255517019163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4722727826918942842/6678337255517019163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6678337255517019163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4722727826918942842/posts/default/6678337255517019163'/><link rel='alternate' type='text/html' href='http://dominoc925.blogspot.com/2022/10/workaround-for-qgis-toggle-editing.html' title='QGIS unable to edit SpatiaLite database layer workaround'/><author><name>dominoc925</name><uri>http://www.blogger.com/profile/09946927285702210239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvE3L_3_i_nYM0zqV3eXB9xxt8GB3KuJWKYzNPTZ74ZWxbIKpP5Ya0hUBa0Y0JwM5CvNu8SsPrseEzZ13Y_8QeSItDFEtKBdEAx6nTiGlTu8S10PdMFulUpwe6mESs1CDtXWlaDU_g6PkVctQ6pvPYEdGh58r-rqG4zUKBX8AAtbn-burfnV0rYw/s72-c/Screenshot%20from%202022-10-14%2010-30-38.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>