Unclassified interesting Tech Material - page 5

Something I have inserted in the DOM here that is making things slow here so changing the page.
next page:

https://sanyamsjournal.blogspot.com/2021/12/unclassified-interesting-tech-material.html


20.
Crafter CMS
looks like a nice CMS system 

https://craftercms.org/

21.
Hackintosh !!! I wanna build one

https://en.wikipedia.org/wiki/Hackintosh

https://amd-osx.com/
https://dortania.github.io/OpenCore-Install-Guide/prerequisites.html#prerequisites

https://hackintosh.com/

I wish I could boot multiple OS-es on my one mother borad !!
I am sure there is some solution for this as well \.. Let's see


20.
Open Search / kibana Rebuild indices without downtime


21.
Ngnix server and location blocks 
Cool article !
https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms

22.
Session trinkets:
https://www.cyberciti.biz/faq/openssh-linux-unix-osx-kill-hung-ssh-session/

- Do a --> ~?



-x-x-x-

~. --> terminate connection 

23.
Mobile shell:
https://mosh.org/

- getting it on android:
https://mosh.org/#getting
   Install JuiceSSH from the Play Store

or...

   Install Termux from F-Droid



24.
Great software for logging blog entries such as mine.. 
https://makandracards.com/sanyam-mulay

- would be a great product if they can have live preview / a good WYSIWYG editor
- really wish they had a better editor interface.
(may be I can hack it :D, make a better front-end to use their APIs)

About the makers:
https://makandra.com/about-us


25.
Tip: Enlarge video for google meet !

Reduce zoom !
Rest of the cards get smaller 


-x-x-x-

When another person on a Meet call is sharing their screen, text may be hard to read due to the large number of UI elements taking up space.
Here are some things you can do to increase the size of the shared screen:
  • Pin the shared screen by hovering over it and pressing the Pin icon.
  • Hover over your own image and press the Minimize icon.
  • In the Meet Menu (triple dots) switch your Layout to "Focus".
  • Zoom out (!) by pressing CTRL+minus a couple of times. This reduces the size of the Meet controls at the bottom. You can later reset your zoom with CTRL+0.
  • Press F11 to hide the browser UI. You can leave fullscreen by pressing F11 again.
  • Ask the sharing person to zoom in, increase their font size, or only share a single window (resized to a smaller size).



from:
https://makandracards.com/makandra-orga/38751-google-meet-how-to-increase-the-size-of-a-shared-screen

-x-x-x-



26.
Ok ! This is cool. AI Code analysis:

https://www.metabob.com/
- for python

https://aws.amazon.com/codeguru/
- for java, python


27.
Wish this worked well :(

https://marketplace.visualstudio.com/items?itemName=ms-vsliveshare.vsliveshare

Taking too much time figure out.. 
#TODO - figure out an alternate

#TODO - evaluate
https://marketplace.visualstudio.com/items?itemName=CodeStream.vscode-code-review-extension-pack



28.
Microsoft Cloud hacked:

- encryption keys for DBs leaked:
https://trak.in/tags/business/2021/08/28/microsoft-cloud-hacked-database-of-thousands-of-users-can-be-read-edited-deleted/


29.
Systemd

#TODO: some reading pending
http://0pointer.de/blog/projects/systemd.html
http://0pointer.de/blog/projects/socket-activation.html

.service 
. socket / .unit files


30.
Django with gunicorn

https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/gunicorn/

https://docs.gunicorn.org/en/stable/index.html
https://docs.gunicorn.org/en/stable/design.html

-x-x-x-
- very nicely described:

https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04#creating-systemd-socket-and-service-files-for-gunicorn

####### Saturday 05 August 2023 05:50:37 PM IST #######
updated: 
https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-22-04#creating-systemd-socket-and-service-files-for-gunicorn


31.
gRPC
https://grpc.io/docs/what-is-grpc/introduction/
https://grpc.io/docs/what-is-grpc/core-concepts/

Just seems a little non-intuitive for clients to pretend that they are not making a remote call.. but rather calling a local method. 
and protocol buffer business seems too unwieldy 


32.
Package management for Windows !
Nice !
https://community.chocolatey.org/


33.
React Native : Error: Duplicate resources - Android
https://stackoverflow.com/questions/53239705/react-native-error-duplicate-resources-android

https://stackoverflow.com/a/57975287


34.
Unusual spacing in some browser versions - Chrome, Safari

Issue:
https://theme.co/forum/t/font-weights-and-letter-spacing-way-off-on-ios-safari-and-chrome/70670
https://stackoverflow.com/questions/28833958/why-is-ios-safari-adding-extra-letter-spacing
https://stackoverflow.com/questions/5069752/ios-4-2-webfont-ttf-s-bold-font-weight-rendering-bug/11879044#11879044

Solution:
https://stackoverflow.com/a/28836962


35.
Interesting automation manager:
https://www.rundeck.com/open-source

36.
Good state machine library Python

https://github.com/pytransitions/transitions


37.
Tar and untar - keep forgetting this 


tar -czvf documents.tar.gz <target-folder>
tar -xzvf documents.tgz -C <dest-folder>


38.
Always forget this - creating a user, DB and granting permissions

https://medium.com/coding-blocks/creating-user-database-and-adding-access-on-postgresql-8bfcd2f4a91e

updates on this: (after postgres 15)
https://stackoverflow.com/a/75876944

TL;DR; version

sudo -u postgres psql
postgres=# create database mydb;
postgres=# create user myuser with encrypted password 'mypass';
postgres=# grant all privileges on database mydb to myuser; # introduced after postgres 15 ####### Fri Mar 1 01:43:23 PM IST 2024 ####### postgres=# \c mydb postgres; # You are now connected to database "mydb" as user "postgres". GRANT ALL ON SCHEMA public TO EXAMPLE_USER;

Alternate to try:
####### Fri Oct 11 03:36:01 PM IST 2024 #######

https://stackoverflow.com/a/77289725

ALTER DATABASE my_database OWNER TO my_database_user;

Tried it.
Works.



39.
Map object in Javascript:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#browser_compatibility

Did not know it was available


40.
Crate DB
Interesting way of piggybacking on existing ecosystems:

https://crate.io/


takes postgresSQL syntax as input !
so your ORMs work out of the box.. 

41.
NTFS partition not mounting on Linux ?
or mounting as a read only partition ?

sudo mount -o rw -t ntfs <device> <mount-point>

might help:
Generally if windows does not shut down properly, it leave the filesystem in a dirty state, hence linux refuses to mount it with write permissions !
Smart linux :)

References:
https://phoenixnap.com/kb/mount-ntfs-linux
https://wiki.epfl.ch/icit/kb/linux-mount-ntfs-with-permissions
https://man7.org/linux/man-pages/man5/fstab.5.html
https://man7.org/linux/man-pages/man8/mount.8.html




40.
Updated a partition / partition table on linux and windows is not registering the change ? 

Just open disc manager form the control panel... select the disk.. and hit refresh (usually on the top right of the menu, below the file, edit.. menu line)





41.
Managing the ssh server on your pc / machine / vm-instance:

https://linuxize.com/post/how-to-enable-ssh-on-ubuntu-18-04/


42.
systemctl a nice way to manage service on ubuntu

https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units

Nice article from digital ocean:
key commands, start, stop, status, enable, disable, is-active, list-units (supports filter for state of the service as arguments)


43.
Core temp monitoring for Windows:
https://openhardwaremonitor.org/downloads/

https://github.com/openhardwaremonitor/openhardwaremonitor

good job people


44.
Verdacio giving 413 request entity too large ?

https://stackoverflow.com/a/64348643


45.
Now this is just dash-dash-dash !!!
https://javascript.plainenglish.io/this-empty-npm-package-has-over-700-000-downloads-7718b48bf997



46. 
A handy setting in grub for dual-boot systems when one needs to update windows..

https://askubuntu.com/a/82965

grub conf documentation:
https://help.ubuntu.com/community/Grub2#Configuring_GRUB_2


Concise answer 
https://askubuntu.com/a/149572

Put the following in /etc/default/grub (command line: gedit admin:///etc/default/grub):

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Then run:

sudo update-grub


47.
Amazing audio recorder for linux:
https://itsfoss.com/record-streaming-audio/
https://launchpad.net/audio-recorder

- feature rich
- simple


48.
Banner Comments:
- banner comments are generally a good way to demarcate sections of code
- sometimes visibly separating the code blocks help with readability 


vs-code plugin:
https://github.com/vanessa-luna/banner-comments-plus

Examples of some formats:
https://stackoverflow.com/questions/20358665/comment-banner-header-best-practices-examples


The case for banner comments:
https://levelup.gitconnected.com/blocky-block-comments-an-easy-way-to-improve-code-readability-563122cd9f75


- it seems this ecosystem is based on the figlet:
http://www.figlet.org/
http://www.figlet.org/fontdb.cgi


49.
The holy trinity of observability:
https://devops.com/metrics-logs-and-traces-the-golden-triangle-of-observability-in-monitoring/


50.
Spot instances
https://aws.amazon.com/ec2/spot/

- good for pricing, if your workloads are flexible.

51.
Monetising out of open source is not easy:
https://www.theregister.com/2021/07/13/opensearch_10/

- plus there are giant vultures in the ecosystem

52.
Nice job guys !
https://github.com/ryanoasis/nerd-fonts
- I would like check if the various patches / font groups are available for imports as well.


The super things the library does:
https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/images/sankey-glyphs-combined-diagram.svg


53.
Cool new JS javascript swag now also available in TS typescript
https://itnext.io/6-new-typescript-features-for-writing-clean-code-ea7810cf5019


54.
Got to love the ubuntu  / linux ecosystem !
https://www.tecmint.com/best-linux-screen-recorders-for-desktop-screen-recording/

Want to try this one out !!
https://github.com/MaartenBaert/ssr
- seems like an awesome tool.

+ may be a nice video editor:
https://ubunlog.com/en/los-mejores-editores-de-video-gratuitos-para-ubuntu/
https://itsfoss.com/best-video-editing-software-linux/
- open shot
https://www.openshot.org/
- Kdenlive 
- blender (for 3D)


and build out tutorials for onco-onboarding and learning / may be my general blog / or on youtube.

55. 
vueJS --> SSR seems to not be very mature
Did not find any way to spoof / inject / make available variables like:
windows, localStorage, document (any of browser globals)


54.
Finally Javascript classes gets private fields and methods
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_With_Private_Class_Features

-- good going JS

55.
Advanced merging techniques:
TODO: check them out.. never had to use them yet..    
https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging


56.
Codetogether
They make a compelling case:
https://www.codetogether.com/wp-content/uploads/2020/06/Codetogether-animation.mp4



A visual programming language for microcontrollers
https://xod.io/


Online IDE list:
Good ones here:
https://www.makeuseof.com/tag/programmer-browser-ides/


57.
Code editor for the web !
Nice one actually.

https://github.com/codemirror/codemirror.next/


58.
Like the way they have structured the licenses and kept them simple.
https://polyformproject.org/licenses/


59.
Some languages 
TODO: checkout
https://flutter.dev/ and Dart (https://dart.dev/)

- Seems cool !
https://nim-lang.org/

- Pheonix Framework in Elixir, built atop the ErlangVM
https://phoenixframework.org/ 
https://elixir-lang.org/


- Micro services in go:
https://github.com/asim/go-micro
port to javascript:
https://github.com/mcoquet/js-micro

- molecular.io -- polyglot --> in other languages than JS
https://github.com/moleculerjs/awesome-moleculer#polyglot-implementations
https://github.com/moleculerjs/moleculer/issues/347


60.
Nice discussion on hash-map get / put complexity

https://stackoverflow.com/questions/4553624/hashmap-get-put-complexity


61.
Good way to loose customers:
https://www.theverge.com/2021/6/29/22555371/microsoft-windows-11-cpu-support-hardware-requirements-tpm-response


62.
The Meltdown and Spectre timeline:
https://www.theverge.com/2018/1/4/16850516/intel-meltdown-spectre-bug-patch-cpu-security-flaw-news


Meltdown and Specterexplained in analogies:
https://www.theverge.com/2018/1/6/16854668/meltdown-spectre-hack-explained-bank-heist-analogy


63.
FCM notifications on android emulator:


- this will save you a lot of hours and a lot of grief:

-x-x-x-
https://stackoverflow.com/a/23443757
- choose a google APIs target (although this is default on studio but still)

-x-x-x-

https://stackoverflow.com/a/22158163

"
The Android emulator is capable of receiving push notifications through GCM, however, it does require an additional step of actually logging a valid Google account into the emulator when it is running. This will need to be done for each emulator that you wish to use with push notifications through GCM.
"

This:
- it does require an additional step of actually logging a valid Google account into the emulator when it is running

-x-x-x-

Also,
https://stackoverflow.com/a/45807378
- Make sure your app is running in the background

Then,
make use of the postman collection to send an individual notification:
Stupid firebase product team removed the test option. 
https://drive.google.com/file/d/16E6bxCiKaPUZzMpcKVWrpIpkuEbhyqW0/view?usp=sharing


First version of the postman collection I made was reading this:
https://medium.com/android-school/test-fcm-notification-with-postman-f91ba08aacc3
and the firebase API documentation


64.
Android Studio / CLI - builds
- Setting your AVD and Emulator directories to a spacious location (and not you ~/)

Basically set these env variables:
https://developer.android.com/studio/command-line/variables#android-sdk-home


export ANDROID_EMULATOR_HOME=<where-there-is-space>/.android

export ANDROID_AVD_HOME=$ANDROID_EMULATOR_HOME/avd

https://stackoverflow.com/a/52441381

Also, if you have copied you earlier emulator files, some of the paths may have been retained:

So you might have to manually change them
Eg.
/<where-there-is-space>/.android/avd/Pixel_2_API_29.ini



Some useful commands for testing if the move worked:

/Android/sdk/emulator/emulator -verbose -list-avds
-x-x-x-

Useful read on the internals:
https://developer.android.com/studio/run/emulator-commandline


65.
Slow clap for Apple !!


Release notes without a date !!
https://developer.apple.com/documentation/xcode-release-notes/xcode-11_4-release-notes
nice !!

-x-x-x-
Anyway:
useful stuff; atleast notifications can be simulated after xcode 11.4


Simulator supports simulating remote push notifications, including background content fetch notifications. In Simulator, drag and drop an APNs file onto the target simulator. The file must be a JSON file with a valid Apple Push Notification Service payload, including the “aps” key. It must also contain a top-level “Simulator Target Bundle” with a string value that matches the target application’s bundle identifier.
simctl also supports sending simulated push notifications. If the file contains “Simulator Target Bundle” the bundle identifier is not required, otherwise you must provide it as an argument (8164566)

xcrun simctl push <device> com.example.my-app ExamplePush.apns



66.
Linux headers taking too much space in root !!
(not only space, they take a lot of file descriptors too )

sudo apt-get autoremove

https://askubuntu.com/a/253058


67.
Nginx - always test configuration before attempting reload

sudo nginx -t


Nginx- syntax for units
http://nginx.org/en/docs/syntax.html


Nginx- allow large files to be uploaded

- can be activated just for one path as well
(that would be the smartest thing to do on a generic web server; 
i.e. only for file upload routes)
http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size


68.
Arango Views:
https://www.arangodb.com/docs/stable/arangosearch.html
Nothing here allows to index something like:

(all keys of an object and then a specific key inside)
document.object[*].specificProperty


without indexing all :(
which is inefficient



69.
Detect if node code / file is being run as a script or being required:

if (require.main === module) {
    console.log('called directly');
} else {
    console.log('required as a module');
}


https://stackoverflow.com/a/6398335


70.
molecular.services + redis --> max message size ?
- unable to find out so far

https://stackoverflow.com/a/5624569
may be this is it.. but dunno for sure


All string values are limited to 512 MiB. This is the size limit you probably care most about.

EDIT: Because keys in Redis are strings, the maximum key size is 512 MiB. The maximum number of keys is 2^32 - 1 = 4,294,967,295.

Values, on the other hand, can vary in size depending on their type. For aggregate data types (i.e. hash, list, set, and sorted set), the maximum value size is 512 MiB for each element, although the data structure itself can have up to 2^32 - 1 elements.


-x-x-x-
All it turns up in their docs is this:
https://moleculer.services/docs/0.14/faq.html#Why-am-I-getting-413-request-entity-too-large-error-message-when-sending-a-big-POST-body

- well not very helpful

-x-x-x-
the solution is known.. when when to use what :P
https://moleculer.services/docs/0.13/actions.html#Streaming


71.
Arango views:


72.
No-SQL tech list

  1. Types of NoSQL Databases
    1. Document-Based Database
    2. Key-Value Database
    3. Wide Column Based Database
    4. Graph-Based Database
  2. Different NoSQL Databases
    1. MongoDB
    2. Cassandra
    3. ElasticSearch
    4. Amazon DynamoDB
    5. HBase

- only played with 1 and 3 yet.

https://www.analyticsvidhya.com/blog/2020/09/different-nosql-databases-every-data-scientist-must-know/


73.
RabbitMQ - installing plugins
https://www.rabbitmq.com/installing-plugins.html

- nowhere in the guide do they mention that one can directly add the archive to the directory, extraction is not needed #facepalm 
- rabbitmq documentation definitely seems like someone with low English proficiency has written it.
:D

74.
RabbitMQ uses different ports for different purposes:
https://www.rabbitmq.com/networking.html#ports

So in general one would need to tunnel to multiple ports for connect successfully to an instance behind a VPC / Firewall

For instance, a client that uses http apis and AMQP protocol to connect (Eg. rascal)
will need 5672 and 15672 both ports accessible


75.
Some candidates for SQL skill interview tests:

my current inclination:
https://www.testdome.com/pricing
https://www.testdome.com/questions?visibility=3&skillId=17


Re-targeting me like crazy:
https://www.testgorilla.com/pricing/
- okay-ish for sql .. but seems good for overall hiring tests



76.
Setting up phpMyAdmin on ubuntu linux:

hands-down --> one of the best mySQL tools

- either download from official site or clone project
https://www.phpmyadmin.net/
https://github.com/phpmyadmin/phpmyadmin

- unzip and cd into folder
- instructions:
https://docs.phpmyadmin.net/en/latest/setup.html#installing-from-git
- incomplete
- some packages missing

- Server connection settings
https://docs.phpmyadmin.net/en/latest/config.html#server-connection-settings


cd ~/Downloads/phpMyAdmin-5.1.1-all-languages

sudo apt-get install php7.4

nano install_composer.sh

chmod +x install_composer.sh

./install_composer.sh


sudo apt-get install php-xml
sudo apt-get install php-mysql
sudo apt-get install php-curl
sudo apt-get install php-zip
sudo apt-get install phpunit
php --ini

php composer.phar update
php -S localhost:8000


cp config.sample.inc.php config.inc.php
nano config.inc.ph

php -S localhost:8000


77.

Sample SQL dataset sources:

https://relational.fit.cvut.cz/search
https://relational.fit.cvut.cz/dataset/Financial

https://relational.fit.cvut.cz/dataset/Sakila
https://dev.mysql.com/doc/sakila/en/sakila-structure.html

https://relational.fit.cvut.cz/dataset/Employee
https://dev.mysql.com/doc/employee/en/sakila-structure.html

https://relational.fit.cvut.cz/dataset/AdventureWorks

https://data-xtractor.com/blog/data-modeling/example-databases/


http://www.databasedev.co.uk/data_models.html



Generate dummy data:
http://filldb.info/




76.
Convert images and PDFs to documents and text using google drive:
https://support.google.com/drive/answer/176692


77.
Access your elastic search (inside a vpc)
https://www.jeremydaly.com/access-aws-vpc-based-elasticsearch-cluster-locally/


78.
Tunnel to an AWS elastic search instance behind a VPC
https://www.jeremydaly.com/access-aws-vpc-based-elasticsearch-cluster-locally/


79.
Flex box styling debugging with chrome:
https://twitter.com/addyosmani/status/1404347879846670340
- Good one chrome: https://developer.chrome.com/blog/new-in-devtools-92/#grid-editor





80.
Dev workflow with Ionic:
https://ionicframework.com/docs/cli

https://ionicframework.com/docs/developing/android
https://ionicframework.com/docs/developing/ios

- I think every library / framework should do this

81.
Nicely maintained library for firebase with cordova:
https://github.com/dpa99c/cordova-plugin-firebasex

- well documented 
- well maintained

- one miss I think .. is to advise people to get token after platform ready.


82.
ArangoDB --> update + keepNull not working as expected


{
    key1: {
        k2: null,
        k3: null

    }
}

--> will write the object to the document if key1 does not exist on the document

- found out by Simran Sinha


83.
This is a good list of visualisation tools:
https://www.toptal.com/designers/data-visualization/data-visualization-tools


84.
Code review tools:

I think blogger well ate up my last entry.. 
Kitne baar kiya hai isne ye :( kuch better de do bhagwan.. 

- Microsoft made something developer friendly :D lol.. such an oxymoron
https://medium.com/@wlarch/best-team-collaboration-tool-for-remote-work-using-visual-studio-code-91ff5c3dd664
the plugin:
https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack

Gots to try this !!


- Some other useful list of tools:
https://www.guru99.com/code-review-tools.html

https://kinsta.com/blog/code-review-tools/

https://raygun.com/blog/remote-pair-programming/
- this is a slightly better list of what I am looking for:
- team viewer 
- use together
- cloud9, codeenvy
- teletype for atom
- vs live share


85.
Gradle the troublesome daemon:

if you know the version running.. (say from the file it has left open / ps aux)

~/.gradle/<path to the running binary>/gradle --stop
 

should do the trick.

86.
cordova plugin not installing on its own ?

cd plugins
git clone <github/url@tag>

or clone and checkout the version later


87.
lsof !!
- keep forgetting.. 
- get all the processes using the file

https://www.tecmint.com/find-out-who-is-using-a-file-in-linux/

- many other useful flags for port 


88.
AVD manager from CLI
- I keep forgetting this:

run

cd ~/Android/Sdk/tools/bin && ./avdmanager

https://stackoverflow.com/a/42845150


89.
Try out:

-- Conduit - mediium.com clone

-- https://observablehq.com/@observablehq/sqlite


90.
This is handy, cordova plugin save

https://stackoverflow.com/a/32551541


91.
Firebase Crashlytics integration testing
- app should be able to start
- have a trigger for the crash, Eg. a button
- any other attached debugger should not inhibit the crash logging process by blocking the thread
- if the crash is causing the app to shutdown without being able to send out the logs (Eg memory errors etc) then the first condition becomes important


92.
This wasted a lot of my time:

https://firebase.google.com/docs/crashlytics/force-a-crash#adjust_your_projects_debug_settings

  1. With your project still selected in the Xcode Navigator, open the Build Settings tab.
  2. Click All at the top of the tab to display all build settings.
  3. Search for "debug information format".
  4. Set the Debug Information Format setting to DWARF with dSYM File.

  1. Click  Build and then run the current scheme in Xcode to build your app on a device or simulator.
  2. Click ◾ Stop running the scheme or action in Xcode to close the initial instance of your app. This initial instance includes a debugger that interferes with Crashlytics.
  3. Open your app again from the simulator or device.
  4. Touch Crash to crash the app.
  5. Open your app once more to let the Crashlytics API report the crash. Your crash should show up in the Firebase console within 5 minutes.

93.
Cordova plugin import in Angular:

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  firebasePlugin;

  constructor(
    platform: Platform,
    public alertController: AlertController,
  ) {
    platform.ready().then(() => {
      this.firebasePlugin = (<any>window).FirebasePlugin;
      this.firebasePlugin.onMessageReceived(this.onMessageReceived.bind(this));
    });
  }
}

Taken from:
https://github.com/dpa99c/cordova-plugin-firebasex-ionic3-test/blob/master/src/pages/home/home.ts



92.
This importing style may come in handy some day:

t should work with import 'foo/module';. It will resolve file ./node_modules/foo/module.js or ./node_modules/foo/module/index.js and not something like ./node_modules/foo/node_modules/module/index.js if it expected (in that case you better to install module via npm).

https://stackoverflow.com/questions/34823654/how-would-i-import-a-module-within-an-npm-package-subfolder-with-webpack



93.
Installing Cordova Plugin Firebase-X for a Ionic 4+ project:

- install with:

cordova plugin add cordova-plugin-firebasex --variable FIREBASE_ANALYTICS_COLLECTION_ENABLED=false --variable FIREBASE_PERFORMANCE_COLLECTION_ENABLED=false --variable FIREBASE_CRASHLYTICS_COLLECTION_ENABLED=true save


- install typescript bindings 

npm install @ionic-native/firebase-x --save


Follow instructions here:

https://github.com/dpa99c/cordova-plugin-firebasex#ionic-4



94.
Ionic Refusing to run inside a capacitor project

https://forum.ionicframework.com/t/refusing-to-run-ionic-cordova-plugin-inside-a-capacitor-project/198408/4

this helped:

ionic integrations disable capacitor



95.
Holy shoot !!!

Ionic wtf !?


Issue:

invalid GOOGLE_APP_ID in GoogleService-Info.plist

https://github.com/fechanique/cordova-plugin-fcm/issues/308



Solution:

GoogleService-Info.plist usually becomes corrupted for whatever reason.

Check platforms/ios/<Your Project>/Resources/ and platforms/ios/<Your Project>/Resources/Resources

There should be a GoogleService-Info.plist in both locations. One of these should be corrupt. Usually its the one furthest in.

Replace that one, and it should work.


And my reaction:
same as him:
https://github.com/fechanique/cordova-plugin-fcm/issues/308#issuecomment-320504517


holy sweet jesus batman!!!!!!!!! Like @codinronan said, this completely obscure solution fixed my issue. and I am not even using the FCM plugin, I am using the Firebase plugin. Rebuilt my app project from scratch and the problem still persisted...until I found this solution!!!!

thank you....Thank You....THANK YOU!!!!

and @ionic / cordova  - wtf ?!?!?!?


96.
NodeJS making improvements 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining


97.
Micro-front-ends 
https://martinfowler.com/articles/micro-frontends.html

https://redfin.engineering/micro-frontends-are-remote-ui-components-7354e5751863


98.
Never run google ads on your android phone: Well screw google.
https://danfabulich.medium.com/never-run-google-ads-if-you-have-an-android-app-897a20604450


99.
Windows: get list of all drivers installed:
Never thought would venture in this territory but here goes

driverquery /V
https://www.howtogeek.com/205355/how-to-see-a-list-of-all-installed-windows-drivers/


100.
AppsFlyer
- literally one sdk to rule them all.
- great and sticky business they have built.


- great integration guides for almost all platforms I could think of.
Eg.
https://support.appsflyer.com/hc/en-us/articles/207032066-iOS-SDK-V6-X-integration-guide-for-developers#introduction


Even built a guide to apple's data collection policy advisory if their SDK is used !
https://support.appsflyer.com/hc/en-us/articles/207032086-Preparing-for-the-App-Store-review-nutrition-labels
- a really well thought product

 continued from:
https://swlearninglog.blogspot.com/2020/12/unclassified-interesting-tech-material.html

Comments

Popular Posts