Blog

  • Hackathon-Packing-List

    Hackathon Packing List

    As an experienced hacker (30+ hackathons), I have developed a list of things to pack for hackathons, and am sharing this with the world. Feel free to fork it or make pull requests to add your own items. To use, simply fork the repository, create an issue for an upcoming hackathon, and the issue will be prepopulated with the list below.

    1. Essentials
    2. Extras
    3. Hygiene
    4. Flights
    5. Hardware
    6. ToDos

    Essentials

    • Computer and Charger
    • Phone and Charger
    • Smartwatch and Charger
    • Backpack/Storage
    • Earphones/Headphones
    • Identification (Student ID, Drivers License, etc.)
    • Dongles/Adapters (Lightning, USB-C, etc.)
    • Medications
    • Wallet (Hackathons are usually free, but it doesn’t hurt to carry some cash and your ID)
    • Keys

    Extras

    • Surge Protector
    • Battery Bank
    • Sleeping Bag/Blanket/Pillow
    • Mouse/Mousepad
    • Keyboard
    • USB Flashdrives
    • Pen/Pencil and Paper/Sticky Notes
    • Extra Cords
    • Pajamas
    • Resumes

    Hygiene

    • Toothbrush/Toothpaste
    • Deodorant
    • Change of Clothing

    Flights

    • Plane Tickets
    • Identification (Passport, Drivers License, etc.)
    • Travel Reimbursement/Etc. Forms
    • Neck/Hoodie Pillow

    Hardware

    (Thanks to Jeff Zhao for showing me this blog post by CyrusRoshan. I totally copied the hardware list on the blog.)

    Basics

    • Dev Board (Arduino, Raspberry Pi, Edison, Photon, etc.)
    • Cables
    • Breadboards
    • Jumper Wires/Alligator Clips
    • Resistors

    Tools

    • Needle Nose Pliers
    • Wire Cutters
    • Screwdrivers
    • Superglue
    • Electric Tape
    • Zipties
    • Multimeter

    I/O

    Small Components

    • LEDs
    • Photoresistors
    • Reflective IR
    • IR Transmitter/Reciever LEDs
    • Transistors
    • Capacitors
    • Piezos
    • Humidity sensor
    • Temperature sensor
    • Hall sensors
    • Vibration Motors
    • Tilt/vibration sensors
    • DC Motors
    • Push button switches
    • Flex sensors (a bit more expensive, I’d only get one)
    • Force sensitive resistors (same as above)
    Large Components

    • Servos
    • Pulse sensor
    • Ultrasonic range sensors
    • Gyro/Accelerometer (usually have both on the same breakout board)
    • LCD screen (preferably with I2C for less wires)
    • Bluetooth module (you’ll need one with BLE support for iPhones)
    Additional Power

    • Relay module
    • Breadboard psu
    • 9v Batteries (for powering motors that needs more power. Use with transistor to switch on/off)
    • Rechargeable power bank (for when you want to power your dev board without a laptop)

    ToDos

    • Update OS, IDEs, and all other software
    • Confirm venue location and time
    • Confirm transportation arrangements
    • Set multiple alarms and get a good nights sleep!

    Visit original content creator repository

  • mac-hid-dump

    mac-hid-dump

    mac-hid-dump is a small command-line app to output the HID Report Descriptors of all connected HID devices. Think of it as sort of a MacOS version of usbhid-dump. It is designed to inspect HID devices for use with hidapi, node-hid, or similar HID libraries. The output can be parsed directly by the USB Descriptor Parser.

    mac-hid-dump uses some of the Mac-specific code from libusb/hidapi, a cross-platform library for communicating with HID devies. It is not dependent on hidapi though.

    Usage:

    To use mac-hid-dump, download the zip file from the Releases page, unzip it, and run it.

    When run, its output looks like the below.

    tod@demo ~/Downloads/mac-hid-dump$ ./mac-hid-dump
    mac-hid-dump:
    16C0 0486:  - Teensyduino RawHID Device
    DESCRIPTOR:
      06  c9  ff  09  04  a1  5c  75  08  15  00  26  ff  00  95  40
      09  75  81  02  95  20  09  76  91  02  95  04  09  76  b1  02
      c0
      (33 bytes)
    16C0 0486:  - Teensyduino RawHID Device
    DESCRIPTOR:
      06  ab  ff  0a  00  02  a1  01  75  08  15  00  26  ff  00  95
      40  09  01  81  02  95  40  09  02  91  02  c0
      (28 bytes)
    27B8 01ED: ThingM - blink(1) mk3
    DESCRIPTOR:
      06  ab  ff  0a  00  20  a1  01  15  00  26  ff  00  75  08  85
      01  95  08  09  00  b2  02  01  75  08  85  02  95  3c  09  00
      b2  02  01  c0
      (36 bytes)
    tod@demo ~/Downloads/mac-hid-dump$
    
    

    This example shows a
    Teensy RawHID and a blink(1) USB LED. The Teensy RawHID descriptor shows a simple “RawHID” example of a single 64-byte report using no reportIDs for both Input and Output. The blink(1) descriptor shows an example that defines two reportID-based Feature reports: an 8-byte one and a 60-byte one.

    Visit original content creator repository

  • vscode-docs

    vscode logo

    Visual Studio Code Documentation

    You’ve found the Visual Studio Code documentation GitHub repository, which contains the content for the Visual Studio Code documentation.

    Topics submitted here will be published to the Visual Studio Code portal.

    If you are looking for the VS Code product GitHub repository, you can find it here.

    Note: The vscode-docs repository uses Git LFS (Large File Storage) for storing binary files such as images and .gifs. If you are contributing or updating images, please enable Git LFS per the instructions in the Contributing section below.

    Index

    Visual Studio Code

    VS Code is a lightweight source code editor and powerful development environment for building and debugging modern web, mobile, and cloud applications. It is free and available on your favorite platform – Linux, macOS, and Windows.

    If you landed here looking for other information about VS Code, head over to our website for additional information.

    Feedback

    If you want to give documentation feedback, please use the feedback control located at the bottom of each documentation page.

    Documentation Issues

    To enter documentation bugs, please create a new GitHub issue. Please check if there is an existing issue first.

    If you think the issue is with the VS Code product itself, please enter issues in the VS Code product repo here.

    Contributing

    To contribute new topics/information or make changes to existing documentation, please read the Contributing Guideline.

    Workflow

    The two suggested workflows are:

    • For small changes, use the “Edit” button on each page to edit the Markdown file directly on GitHub.
    • If you plan to make significant changes or preview the Markdown files in VS Code, clone the repo to edit and preview the files directly in VS Code.

    Markdown Preview Button

    Cloning

    1. Install Git LFS.
    2. Run git lfs install to setup global git hooks. You only need to run this once per machine.
    3. SSH auth: git clone git@github.com:microsoft/vscode-docs.git
      HTTPS auth: git clone https://github.com/microsoft/vscode-docs.git
    4. Now you can git add binary files and commit them. They’ll be tracked in LFS.

    Cloning without binary files

    You might want to clone the repo without the 1.6GB images. Here are the steps:

    1. Install Git LFS.
    2. Run git lfs install to setup global git hooks. You only need to run this once per machine.
    3. Clone the repo without binary files.
      • macOS / Linux:
        • SSH auth: GIT_LFS_SKIP_SMUDGE=1 git clone git@github.com:microsoft/vscode-docs.git
        • HTTPS auth: GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/microsoft/vscode-docs.git
      • Windows:
        • SSH auth: $env:GIT_LFS_SKIP_SMUDGE="1"; git clone git@github.com:microsoft/vscode-docs.git
        • HTTPS auth: $env:GIT_LFS_SKIP_SMUDGE="1"; git clone https://github.com/microsoft/vscode-docs.git
    4. Now you can selectively checkout some binary files to work with. For example:
      • git lfs pull -I "docs/nodejs" to only download images in docs/nodejs
      • git lfs pull -I "release-notes/images/1_4*/*" to only download images in release-notes/images/1_4*
      • git lfs pull -I "docs,api" to download all images in docs and in api
      • git lfs pull -I <PATTERN>, as long as <PATTERN> is a valid Git LFS Include and Exclude pattern.

    The history of this repo before we adopted LFS can be found at microsoft/vscode-docs-archive.

    Publishing

    Publishing merged pull requests is not automatic and is initiated manually after changes have been reviewed on an internal staging server. There is no specific time guarantee for when PR updates will be available on https://code.visualstudio.com but the intent is that they will usually be live within 24 hours.

    Visit original content creator repository
  • article-meeseeks

    Article Meeseeks

    Article gatherer chatbot for Telegram.

    Chatbot for Telegram platform that pulls every link it receives and saves it in a Google Drive spreadsheet to build a knowledge database and share it with the rest of your team.

    The purpose of this chatbot is to take advantage of the already existing information sharing platforms in your team by gathering all the juicy articles and creating a knowledge repository from where you can choose to share to social media, internally or just save them for later.

    Look at me!

    Installation / Development setup

    Run this in a terminal:

    git clone https://github.com/joamadorrr/article-meeseeks.git
    
    cd article-meeseeks
    
    cp .env.example .env
    

    We just created a file with all the environment variables you will require:

    • BOT_TOKEN: Once you’ve created your bot, talk to the BotFather and ask him for your bot’s token
    • SHEETS_SCOPE: Unles you want to do something weird, leave the default
    • SPREADSHEET_ID: To get the id for your spreadsheet read this: https://developers.google.com/sheets/api/guides/concepts#spreadsheet_id
    • RANGE_NAME: Read the A1 notation part in the link above

    If you are setting up a development environment I highly recommend you use pipenv. Otherwise, you can install the requirements from the requirements.txt file.

    Pipenv

    Here we create an environment for the chatbot in python 3 and copy the last version of the development environment from the pipfile.lock

    pipenv --three
    
    pipenv shell
    
    pipenv install --ignore-pipfile
    

    After installing all the requirements, the Google Sheets API needs to be enabled.

    Google Sheets API

    Usage example

    When ran for the first time, the browser is opened to authenticate a google account. After the first sign in, the credentials are saved in the token.json file, so it won’t prompt the browser again.

    After deployment, basically just talk to it and send him links to cool articles you wanna share with your team. A really cool feature of Telegram bots is that you can make them join group conversations, so the Article Meeseeks can infiltrate different conversations and gather articles from those too.

    Release History

    • 0.1.0
      • The first proper release
      • Environment variables support added
    • 0.0.1
      • It works but a lot of things need to be enhanced before “official launch”

    Meta

    Jo Amador – @joamadorrr

    Distributed under the MIT license. See LICENSE for more information.

    https://github.com/joamadorrr

    Contributing

    1. Fork it (https://github.com/joamadorrr/article-meeseeks/fork)
    2. Create your feature branch (git checkout -b feature/fooBar)
    3. Commit your changes (git commit -am 'Add some fooBar')
    4. Push to the branch (git push origin feature/fooBar)
    5. Create a new Pull Request

    Visit original content creator repository

  • sonus-presto

    SonusPresto

    A bare-bones music player. Intended to utilize a filesystem to browse your music instead of automatically grouping by artist, album or genre. Focused on gesture controls. Supports CUE sheets, M3U playlists and Internet radio.

    Minimum supported Android version: 5.0 (Lollipop, API 21)

    Features

    Here’s what you can do in SonusPresto:

    • play music

    • browse your music in the way you have structured it, using the filesystem

    • play all files in a selected folder and sub-folders recursively

    • open CUE sheets and M3U playlists as folders

    • gapless playback

    • play Internet radio from M3U playlists

    • change a visual theme and language (English/Russian)

    • control a playback using touch and swipe gestures on a single button

    • listen to the audio from the video files

    • delete files and folders

    Non-features

    Here’s what SonusPresto can’t do:

    • view audio tags or cover art

    • quickly set a precise playback position

    • view the current playback position in seconds

    • use a separate buttons to control a playback (i.e. there’s no separate prev/stop/next/… buttons)

    • create custom playlists or manage a playback queue

    • basically, anything else that is not listed in the “Features” section 🙂

    Disclaimer: new features will most likely never be added.

    Specifics

    Here are some quirks:

    • the swiping of the bottom button may not work on some devices with specific Android gesture settings

    • since SonusPresto doesn’t read tags, it can’t determine actual artist and album name of a music track and instead it just uses folder names for that (except for playlist items)

    • SonusPresto may not be compatible with LastFM scrobblers, i.e. it will most likely send incorrect info because it does not use tags

    • SonusPresto doesn’t know what formats your device supports, so it will just show every file that has any of the supported extensions (i.e. not all displayed files can actually be played)

    Screenshots

    Dark theme with a regular music track Options popup and a folder highlight Light theme with Internet radio

    Download

    Download the latest app version here.

    Build

    SonusPresto is made with Flutter.

    To build this application do the following:

    1. Download this repository.

    2. Install Flutter and Android SDK. It’s easier to do it from Android Studio.

    3. At this point you can already debug the application from Android Studio. To build the release version follow the next steps.

    4. Go inside the repository root and create the file android/key.properties based on android/key.template.properties. Fill in all fields. For more information see the official “Signing the app” tutorial.

    5. To build the release APK run ./build-apk.sh inside the repository root.

    License

    GPLv3

    Visit original content creator repository
  • polinemaroomsystem

    Laravel Logo

    Build Status Total Downloads Latest Stable Version License

    About Laravel

    Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:

    Laravel is accessible, powerful, and provides tools required for large, robust applications.

    Learning Laravel

    Laravel has the most extensive and thorough documentation and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.

    You may also try the Laravel Bootcamp, where you will be guided through building a modern Laravel application from scratch.

    If you don’t feel like reading, Laracasts can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.

    Laravel Sponsors

    We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel Patreon page.

    Premium Partners

    Contributing

    Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the Laravel documentation.

    Code of Conduct

    In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.

    Security Vulnerabilities

    If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via taylor@laravel.com. All security vulnerabilities will be promptly addressed.

    License

    The Laravel framework is open-sourced software licensed under the MIT license.

    Visit original content creator repository
  • Dynamically-Parse-JSON-as-Object-or-Array

    While working as a consultant for an integration consultancy, we had a client who wanted to be able to ingest the client list data set from WorkflowMax into SQL.
    The client data set consists of basic client information (name, email etc) and a list of the client contacts, of which there might be one or more.

    WorkflowMax exposes its data sets in XML, the process of getting the data set from WorkflowMax is quite trivial,

    1. Get an access token,
    2. Get the client list.
    3. Store the result in blob storage.
    4. Trigger an Azure Data Factory pipeline
      a. To convert the XML to JSON.
      b. Store th JSON file in blob storage.
      c. Within the pipeline, insert or upsert top level client details into the database.

    In order to handle the list of contacts, the outputed json file has to be processed. However for some reason, the azure data factory copy activity, produces an array of contacts when there are multiple contacts, but an object of contacts when there is just one contact.

    {
        "_id": "64fafdab0148d179b4bad3d6",
        "index": 0,
        "guid": "a5a30726-560b-4548-9219-d3e579ff4df0",
        "name": "Joanna Stephenson",
        "company": "SYNKGEN",
        "contacts": [
        {
            "id": 0,
            "name": "Church Cleveland",
            "email": "churchcleveland@synkgen.com",
            "age": 37
        },
        {
            "id": 1,
            "name": "Tabitha Gentry",
            "email": "tabithagentry@synkgen.com",
            "age": 26
        }     
        ]    
    }

    or

    {
       "_id": "64fafdabea7f6eecf0e80b44",
       "index": 1,
       "guid": "3f273e26-2dec-4a56-a139-760977630590",
       "name": "Lynnette Guerra",
       "company": "COMTOURS",    
       "contacts": {
       "id": 1,
       "name": "Marcie Spence",
       "email": "marciespence@comtours.com",
       "age": 40
       }
    }  

    The json file can be processed by a logic app, however there is no simple way to handle processing elements where the schema contains an object or an array for the same element.

    A possible solution can be found at Dynamically Parse JSON as object or Array where the question was answered and a solution proposed.

    Creating a logic app to process these records is not complicated, the following page is a walkthrough on how this can be done.

    Logic App Setup

    Visit original content creator repository

  • Social-links-profile-css-html

    Frontend Mentor – Social links profile

    Design preview for the Social links profile coding challenge

    Welcome! 👋

    Thanks for checking out this front-end coding challenge.

    Frontend Mentor challenges help you improve your coding skills by building realistic projects.

    To do this challenge, you need a basic understanding of HTML and CSS.

    The challenge

    Your challenge is to build out this social links profile and get it looking as close to the design as possible.

    You can use any tools you like to help you complete the challenge. So if you’ve got something you’d like to practice, feel free to give it a go.

    Your users should be able to:

    • See hover and focus states for all interactive elements on the page

    Want some support on the challenge? Join our community and ask questions in the #help channel.

    Where to find everything

    Your task is to build out the project to the designs inside the /design folder. You will find both a mobile and a desktop version of the design.

    The designs are in JPG static format. Using JPGs will mean that you’ll need to use your best judgment for styles such as font-size, padding and margin.

    If you would like the design files (we provide Sketch & Figma versions) to inspect the design in more detail, you can subscribe as a PRO member.

    All the required assets for this project are in the /assets folder. The images are already exported for the correct screen size and optimized.

    We also include variable and static font files for the required fonts for this project. You can choose to either link to Google Fonts or use the local font files to host the fonts yourself. Note that we’ve removed the static font files for the font weights that aren’t needed for this project.

    There is also a style-guide.md file containing the information you’ll need, such as color palette and fonts.

    Building your project

    Feel free to use any workflow that you feel comfortable with. Below is a suggested process, but do not feel like you need to follow these steps:

    1. Initialize your project as a public repository on GitHub. Creating a repo will make it easier to share your code with the community if you need help. If you’re not sure how to do this, have a read-through of this Try Git resource.
    2. Configure your repository to publish your code to a web address. This will also be useful if you need some help during a challenge as you can share the URL for your project with your repo URL. There are a number of ways to do this, and we provide some recommendations below.
    3. Look through the designs to start planning out how you’ll tackle the project. This step is crucial to help you think ahead for CSS classes to create reusable styles.
    4. Before adding any styles, structure your content with HTML. Writing your HTML first can help focus your attention on creating well-structured content.
    5. Write out the base styles for your project, including general content styles, such as font-family and font-size.
    6. Start adding styles to the top of the page and work down. Only move on to the next section once you’re happy you’ve completed the area you’re working on.

    Deploying your project

    As mentioned above, there are many ways to host your project for free. Our recommend hosts are:

    You can host your site using one of these solutions or any of our other trusted providers. Read more about our recommended and trusted hosts.

    Create a custom README.md

    We strongly recommend overwriting this README.md with a custom one. We’ve provided a template inside the README-template.md file in this starter code.

    The template provides a guide for what to add. A custom README will help you explain your project and reflect on your learnings. Please feel free to edit our template as much as you like.

    Once you’ve added your information to the template, delete this file and rename the README-template.md file to README.md. That will make it show up as your repository’s README file.

    Submitting your solution

    Submit your solution on the platform for the rest of the community to see. Follow our “Complete guide to submitting solutions” for tips on how to do this.

    Remember, if you’re looking for feedback on your solution, be sure to ask questions when submitting it. The more specific and detailed you are with your questions, the higher the chance you’ll get valuable feedback from the community.

    Sharing your solution

    There are multiple places you can share your solution:

    1. Share your solution page in the #finished-projects channel of our community.
    2. Tweet @frontendmentor and mention @frontendmentor, including the repo and live URLs in the tweet. We’d love to take a look at what you’ve built and help share it around.
    3. Share your solution on other social channels like LinkedIn.
    4. Blog about your experience building your project. Writing about your workflow, technical choices, and talking through your code is a brilliant way to reinforce what you’ve learned. Great platforms to write on are dev.to, Hashnode, and CodeNewbie.

    We provide templates to help you share your solution once you’ve submitted it on the platform. Please do edit them and include specific questions when you’re looking for feedback.

    The more specific you are with your questions the more likely it is that another member of the community will give you feedback.

    Got feedback for us?

    We love receiving feedback! We’re always looking to improve our challenges and our platform. So if you have anything you’d like to mention, please email hi[at]frontendmentor[dot]io.

    This challenge is completely free. Please share it with anyone who will find it useful for practice.

    Have fun building! 🚀

    Visit original content creator repository

  • react-native-picker-box

    react-native-picker-box

    [This package has been deprecated]
    Package no longer supported. Use at your own risk.


    Simple and configurable component picker for react native

    Table of contents

    Usage

    Installation

    Just add react-native-picker-box to your project:

    yarn add react-native-picker-box

    Basic example

    ANDROID IOS
    Basic example gif android Basic example gif ios

    Import

    import PickerBox from 'react-native-picker-box';

    Using a react-native-picker-box

    export default class App extends Component {
    
      state={
        data: [
          {label: 'Português', value: 'pt'},
          {label: 'Deutsch', value: 'de'},
          {label: 'English', value: 'en'}
        ],
        selectedValue: ''
      }
    
      render() {
        return (
          <View style={styles.container}>
            <Text style={styles.welcome} onPress={() => this.myref.openPicker() }>Press to select language</Text>
            <Text style={styles.instructions}>{ this.state.selectedValue }</Text>
            <PickerBox
              ref={ref => this.myref = ref}
              data={ this.state.data }
              onValueChange={value => this.setState({ selectedValue: value })}
              selectedValue={ this.state.selectedValue }
            />
          </View>
        );
      }
    }

    Props and Methods

    Props

    Name Type Default Required Description
    data array none Yes Each item should be in the following format: {label: 'JavaScript', value: 'js'}
    onValueChange function null Yes Callback for when an item is selected. This is called with the following parameter: value
    selectedValue string none No Value matching value of one of the items. Can be a string or an integer.
    maxHeight number - No Custom maxHeight. Is the maximum height for this component.
    statusbar boolean true No StatusBar overlapping.
    itemTextColor string #757379 No Custom item text color.
    separatorColor string #757379 No Custom separator color.
    prevTextColor string #572580 No Custom button(prev) text color.
    prevTextLabel string Cancel No Custom button(prev) text label.

    Methods

    Method Name Arguments Description
    openPicker null Open picker. Use refs for open Picker [following the example]

    Contributing

    Thanks for being interested on making this package better.

    git clone https://github.com/duhwcarvalho/react-native-picker-box.git
    cd react-native-picker-box
    react-native upgrade
    yarn
    react-native run-android or react-native run-ios

    Author


    @duhwcarvalho
    Visit original content creator repository
  • dotfiles

    Dotfiles - A restore point for sync your settings and preferences in your toolbox.

    | A restore point for sync your settings and preferences in your toolbox.

    Why it’s awesome

    Dotfiles provides a fast setup for backup, restore, and sync the prefs and settings for your toolbox. Dotfiles might be the most important files on your machine and I hope it helps you as much as it helps me!

    Table of Contents

    Usage

    Start reading this document to see it is not difficult as you might have imagined. Just follow the step by step.

    NOTE: This tips is just a personal reference, use with care.

    Homebrew

    Homebrew is the package manager for macOS (or Linux).

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    Dependencies

    • asdf (Manage multiple runtime versions)
    • Git Version Control

    brew install asdf git

    Apps

    • AppCleaner
    • BrowserStack
    • Caffeine
    • Docker
    • Figma
    • Franz
    • GoogleChrome
    • Kap
    • LogitechPresentation
    • MeetingBar
    • Pliim
    • Rectangle
    • Slack
    • Sketch
    • Sourcetree
    • VisualStudioCode

    brew install --cask appcleaner browserstacklocal caffeine docker figma franz google-chrome kap meetingbar logitech-presentation pliim rectangle slack sketch sourcetree visual-studio-code

    Plugins

    brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json qlimagesize webpquicklook suspicious-package quicklookase qlvideo && mv ~/Downloads/.qlgenerator > ~/Library/QuickLook && qlmanage -r

    Visual Studio Code

    Visual Studio Code is a source-code editor developed by Microsoft.

    Plugins

    • Auto Close Tag
    • Auto Complete Tag
    • Auto Rename Tag
    • Auto Filename
    • Autotrim
    • Better Comments
    • Browser Preview
    • Code Intellicode
    • Code Runner
    • Code Settings Sync
    • Debugger for Chrome
    • Docker
    • DotENV
    • Dracula Theme
    • EditorConfig
    • ESlint
    • Git Lens
    • Git Ignore
    • GraphQL
    • HTML CSS Class Completion
    • Java
    • JavaScript Snippets
    • Jupyter
    • LiveShare
    • Lorem Ipsum
    • Maven
    • npm script
    • Path Intellisense
    • Prettier
    • Python
    • Remote Containers
    • Ruby
    • Run On Save
    • Sass Indented
    • Styled Components
    • Stylus
    • Sublime Keybindings
    • Terminal
    • TypeScript TSlint Plugin
    • Material Icon Theme
    • Wakatime
    • Whitespacer

    code --install-extension aaron-bond.better-comments && code --install-extension auchenberg.vscode-browser-preview && code --install-extension christian-kohler.path-intellisense && code --install-extension codezombiech.gitignore && code --install-extension dbaeumer.vscode-eslint && code --install-extension deerawan.vscode-whitespacer && code --install-extension dracula-theme.theme-dracula && code --install-extension eamodio.gitlens && code --install-extension EditorConfig.EditorConfig && code --install-extension eg2.vscode-npm-script && code --install-extension emeraldwalk.RunOnSave && code --install-extension esbenp.prettier-vscode && code --install-extension formulahendry.auto-close-tag && code --install-extension formulahendry.auto-complete-tag && code --install-extension formulahendry.auto-rename-tag && code --install-extension formulahendry.code-runner && code --install-extension formulahendry.terminal && code --install-extension GraphQL.vscode-graphql && code --install-extension JerryHong.autofilename && code --install-extension jpoissonnier.vscode-styled-components && code --install-extension mikestead.dotenv && code --install-extension ms-azuretools.vscode-docker && code --install-extension ms-python.python && code --install-extension ms-toolsai.jupyter && code --install-extension ms-vscode-remote.remote-containers && code --install-extension ms-vscode.sublime-keybindings && code --install-extension ms-vscode.vscode-typescript-tslint-plugin && code --install-extension ms-vsliveshare.vsliveshare && code --install-extension msjsdiag.debugger-for-chrome && code --install-extension NathanRidley.autotrim && code --install-extension PKief.material-icon-theme && code --install-extension rebornix.ruby && code --install-extension redhat.java && code --install-extension Shan.code-settings-sync && code --install-extension syler.sass-indented && code --install-extension sysoev.language-stylus && code --install-extension Tyriar.lorem-ipsum && code --install-extension VisualStudioExptTeam.vscodeintellicode && code --install-extension vscjava.vscode-java-debug && code --install-extension vscjava.vscode-java-dependency && code --install-extension vscjava.vscode-java-pack && code --install-extension vscjava.vscode-java-test && code --install-extension vscjava.vscode-maven && code --install-extension WakaTime.vscode-wakatime && code --install-extension wingrunr21.vscode-ruby && code --install-extension xabikos.JavaScriptSnippets && code --install-extension Zignd.html-css-class-completion

    After install, confirm all plugins installed:

    code --list-extensions

    Settings

    {
      "editor.detectIndentation": true,
      "editor.fontSize": 14,
      "editor.tabSize": 2,
      "files.autoSave": "onFocusChange",
      "files.autoSaveDelay": 0,
      "files.defaultLanguage": "en",
      "files.insertFinalNewline": true,
      "files.trimFinalNewlines": true,
      "files.trimTrailingWhitespace": true,
      "markdown.preview.fontSize": 14,
      "window.openFilesInNewWindow": "on",
      "workbench.colorTheme": "Dracula",
      "workbench.iconTheme": "material-icon-theme"
    }
    

    Google Chrome

    Google Chrome is a cross-platform web browser developed by Google.

    Plugins

    GitHub

    GitHub is provides hosting for software development version control using Git.

    SSH Settings

    1. Generating public/private rsa key pair
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    2. Start the ssh-agent in the background
      eval "$(ssh-agent -s)"

    3. Creating config file
      printf "ServerAliveInterval 60\nHost github.com\nHostname ssh.github.com\nPort 443\n" > ~/.ssh/config

    4. Add your SSH private key to the ssh-agent and store your passphrase in the keychain.
      ssh-add -K ~/.ssh/id_rsa

    5. Copy the SSH key to your clipboard.
      pbcopy < ~/.ssh/id_rsa.pub

    6. Now access GitHub SSH Settings to add the SSH key.
      https://github.com/settings/ssh/new

    GPG Settings

    1. Download and install the GPG command line tools.
      brew install gpg

    2. Generate a GPG key pair.
      gpg --full-generate-key

    3. Enter to accept the default kind of key
      RSA

    4. Enter the desired key size in bits.
      4096

    5. Enter the length of time the key should be valid.
      Press Enter to specify the default selection, indicating that the key doesn’t expire.

    6. Enter your GitHub email address.
      name@email.com

    7. Copy the GPG keys ID from the list of GPG keys. In this example, the GPG key ID is 3AA5C34371567BD2.

      $ gpg --list-secret-keys --keyid-format LONG
      
      /Users/hubot/.gnupg/secring.gpg
      ------------------------------------
      sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
      uid                          Hubot 
      ssb   4096R/42B317FD4BA89E7A 2016-03-10
      
    8. Paste your GPG Key Id.
      gpg --armor --export 3AA5C34371567BD2

    9. Copy your GPG key to add in your GitHub account.
      https://github.com/settings/gpg/new

    Git Settings

    Make it even easier version control ~/.gitconfig

    [user]
      name = CJ Patoilo
      email = cjpatoilo@gmail.com
      signingkey = "Your Sign In Key"
    
    [branch]
      autosetupmerge = always
    
    [alias]
      ci = commit -am
      lo = log --pretty=format:'%an - %h %s %ar'
      st = status
      br = branch
      sw = show
      df = diff
      fe = fetch
      mg = merge
      rb = rebase
      rt = remote -v
      co = checkout
      po = push origin
      pu = pull origin
      pom = push origin master
      pum = pull origin master
      com = checkout master
      pod = push origin develop
      pud = pull origin develop
      cod = checkout develop
      pog = push origin gh-pages
      pug = pull origin gh-pages
      cog = checkout gh-pages
      lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
    
    [core]
      excludesfile = ~/.gitignore_global
    
    [commit]
      template = ~/.stCommitMsg
    
    [difftool "sourcetree"]
      cmd = opendiff \"$LOCAL\" \"$REMOTE\"
      trustExitCode = true
      path =
    
    [filter "lfs"]
      clean = git-lfs clean -- %f
      smudge = git-lfs smudge -- %f
      required = true
      process = git-lfs filter-process
    
    [mergetool "sourcetree"]
      cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
      trustExitCode = true
    

    Terminal

    The Terminal is an interface that allows you to access the command line from the GUI.

    Bash Settings

    First create Bash Profile file touch ~/.bash_profile and add this content:

    source $HOME/.git-prompt.sh
    # PS1="\[\033[1;36m\]\u\[\033[32m\]$(__git_ps1 " (\W/%s)")\[\033[0m\] $ "
    PS1="\[\033[1;36m\]\u\[\033[32m\]\$(__git_ps1)\[\033[0m\] $ "
    
    alias cls="clear"
    alias reload="source $HOME/.bash_profile"
    alias www="cd $HOME/Www/"
    
    export PATH="/usr/local/bin:$PATH"
    export PATH="/usr/local/sbin:$PATH"
    
    . $HOME/.asdf/asdf.sh
    

    macOS

    macOS is a series of graphical operating systems developed and marketed by Apple Inc.

    xcode-select --install

    macOS Settings

    • LockScreen: Set Lock Message to show on login screen
      defaults write com.apple.loginwindow LoginwindowText -string "Found me? Shoot a mail to cjpatoilo@gmail.com to return me. Thanks!"

    • Bluetooth: Increase sound quality for Bluetooth headphones/headsets
      defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40

    • Trackpad: Enable extra multifinger gestures
      defaults write com.apple.dock showMissionControlGestureEnabled -bool true
      defaults write com.apple.dock showAppExposeGestureEnabled -bool true
      defaults write com.apple.dock showDesktopGestureEnabled -bool true
      defaults write com.apple.dock showLaunchpadGestureEnabled -bool true

    • Trackpad: Enable right click with two fingers
      defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true
      defaults write com.apple.AppleMultitouchTrackpad TrackpadRightClick -bool true
      defaults -currentHost write NSGlobalDomain com.apple.trackpad.enableSecondaryClick -bool true
      defaults write com.apple.AppleMultitouchTrackpad TrackpadRightClick -bool true

    • Trackpad: Increment tracking speed
      defaults write NSGlobalDomain com.apple.trackpad.scaling -float 0.875

    • ScrollWheel: Increment tracking speed
      defaults write NSGlobalDomain com.apple.scrollwheel.scaling -float 0.215

    • Mouse: Increment tracking speed
      defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseButtonMode TwoButton

    • Mouse: Allow right click button
      defaults write NSGlobalDomain com.apple.mouse.scaling -int 3

    • Finder: Show all filenames extensions
      defaults write NSGlobalDomain AppleShowAllExtensions -bool true

    • Finder: Show hidden files by default
      defaults write com.apple.finder AppleShowAllFiles -bool true

    • Finder: Show status bar
      defaults write com.apple.finder ShowStatusBar -bool true

    • Finder: Show path bar
      defaults write com.apple.finder ShowPathbar -bool true

    • Finder: Keep folders on top when sorting by name
      defaults write com.apple.finder _FXSortFoldersFirst -bool true

    • Finder: When performing a search, search the current folder by default
      defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"

    • Finder: Disable the warning when changing a file extension
      defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false

    • Finder: Avoid creating .DS_Store files on network or USB volumes
      defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
      defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

    • Finder: Allow text selection in Quick Look
      defaults write com.apple.finder QLEnableTextSelection -bool true

    • Finder: Disable the warning when changing a file extension
      defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false

    • TextEdit: Use plain text mode for new TextEdit documents
      defaults write com.apple.TextEdit RichText -int 0

    • TextEdit: Open and save files as UTF-8 in TextEdit
      defaults write com.apple.TextEdit PlainTextEncoding -int 4
      defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4

    • Screen: Save screenshots to the downloads
      defaults write com.apple.screencapture location -string "$HOME/Downloads"

    • Screen: Save screenshots in PNG format (other options: BMP, GIF, JPG, PDF, TIFF)
      defaults write com.apple.screencapture type -string "png"

    • Screen: Disable shadow in screenshots
      defaults write com.apple.screencapture disable-shadow -bool true

    • Spotlight: Change indexing order and disable some search results

        defaults write com.apple.spotlight orderedItems -array \
          '{"enabled" = 1;"name" = "APPLICATIONS";}' \
          '{"enabled" = 1;"name" = "SYSTEM_PREFS";}' \
          '{"enabled" = 1;"name" = "DIRECTORIES";}' \
          '{"enabled" = 1;"name" = "PDF";}' \
          '{"enabled" = 1;"name" = "FONTS";}' \
          '{"enabled" = 0;"name" = "DOCUMENTS";}' \
          '{"enabled" = 0;"name" = "MESSAGES";}' \
          '{"enabled" = 0;"name" = "CONTACT";}' \
          '{"enabled" = 0;"name" = "EVENT_TODO";}' \
          '{"enabled" = 0;"name" = "IMAGES";}' \
          '{"enabled" = 0;"name" = "BOOKMARKS";}' \
          '{"enabled" = 0;"name" = "MUSIC";}' \
          '{"enabled" = 0;"name" = "MOVIES";}' \
          '{"enabled" = 0;"name" = "PRESENTATIONS";}' \
          '{"enabled" = 0;"name" = "SPREADSHEETS";}' \
          '{"enabled" = 0;"name" = "SOURCE";}' \
          '{"enabled" = 0;"name" = "MENU_DEFINITION";}' \
          '{"enabled" = 0;"name" = "MENU_OTHER";}' \
          '{"enabled" = 0;"name" = "MENU_CONVERSION";}' \
          '{"enabled" = 0;"name" = "MENU_EXPRESSION";}' \
          '{"enabled" = 0;"name" = "MENU_WEBSEARCH";}' \
          '{"enabled" = 0;"name" = "MENU_SPOTLIGHT_SUGGESTIONS";}'
      
    • Spotlight: Load new settings before rebuilding the index
      killall mds > /dev/null 2>&1

    • Spotlight: Make sure indexing is enabled for the main volume
      sudo mdutil -i on / > /dev/null

    • Spotlight: Rebuild the index from scratch
      sudo mdutil -E / > /dev/null

    • Terminal: Only use UTF-8 in Terminal.app
      defaults write com.apple.terminal StringEncodings -array 4

    • Terminal: Enable Secure Keyboard Entry in Terminal.app
      defaults write com.apple.terminal SecureKeyboardEntry -bool true

    • Terminal: Disable the annoying line marks
      defaults write com.apple.Terminal ShowLineMarks -int 0

    • Time Machine: Prevent Time Machine from prompting to use new hard drives as backup volume
      defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true

    • Time Machine: Disable local Time Machine backups
      hash tmutil &> /dev/null && sudo tmutil disablelocal

    • Activity Monitor: Show the main window when launching Activity Monitor
      defaults write com.apple.ActivityMonitor OpenMainWindow -bool true

    • Activity Monitor: Visualize CPU usage in the Activity Monitor Dock icon
      defaults write com.apple.ActivityMonitor IconType -int 5

    • Activity Monitor: Show all processes in Activity Monitor
      defaults write com.apple.ActivityMonitor ShowCategory -int 0

    • Activity Monitor: Sort Activity Monitor results by CPU usage
      defaults write com.apple.ActivityMonitor SortColumn -string "CPUUsage"
      defaults write com.apple.ActivityMonitor SortDirection -int 0

    Contributing

    Want to contribute? Follow these recommendations.

    License

    Designed with ♥ by CJ Patoilo. Licensed under the MIT License.

    Visit original content creator repository