Tool Spotlight of the Week: Magnet for Mac
One of the most valuable tools you can add to your productivity arsenal is Magnet for Mac. This window arranging, resizing, and moving tool is particularly useful during Zoom calls when you're sharing your screen. Efficiently managing your windows not only saves your time but also maximizes the time saved for everyone in the meeting, especially during large group presentations.
Why Magnet is Essential for Screen Sharing
When you're presenting to a large group, every second counts. Watching someone fumble with window sizes and arrangements can waste precious time and reduce the effectiveness of your presentation. Magnet helps you avoid these pitfalls by allowing you to quickly and accurately position your windows using keyboard shortcuts.
Quick Window Arrangement: Magnet lets you swiftly move and resize windows to predefined positions using simple keyboard shortcuts. This is a game-changer when you need to place two windows side-by-side or stack them vertically.
Improved Focus: By minimizing the time spent on manual window adjustments, you can keep your audience engaged and focused on the content you're presenting.
Enhanced Professionalism: Seamless window management during a presentation demonstrates professionalism and preparedness, enhancing your credibility as a speaker.
Example Scenarios
Side-by-Side Windows:
Manual Resizing: Takes about 14 seconds on average.
Using Magnet: Takes about 3-4 seconds on average.
Time Saved: Approximately 10 seconds per arrangement.
Three Windows in Equal Columns:
Manual Resizing: Takes around 20 seconds on average.
Using Magnet: Takes about 5-6 seconds on average.
Time Saved: Approximately 15 seconds per arrangement.
Vertical Window Stacking:
Manual Resizing: Takes around 19 seconds on average.
Using Magnet: Takes about 3-4 seconds on average.
Time Saved: Approximately 15 seconds per arrangement.
Cumulative Impact
When you're presenting to a large group, such as 100 participants, saving even 15 seconds on window arrangement translates into a collective saving of 25 minutes. This time can be better utilized for more meaningful discussions, questions, and insights, enhancing the overall value of the meeting.
Total Estimated Time Saved:
Side-by-Side Windows: 10 seconds saved per arrangement.
Three Windows in Columns: 15 seconds saved per arrangement.
Vertical Window Stacking: 15 seconds saved per arrangement.
Incorporating Magnet into your daily workflow, especially for screen sharing during Zoom debug sessions, can significantly enhance your efficiency and the overall effectiveness of your meetings by minimizing train of thought loss during window swapping. By minimizing the time spent on window adjustments, you can focus more on delivering valuable content and engaging with your high-value tasks.
Command + Space: Spotlight Search
Spotlight Search is a powerful tool for quickly finding files, launching apps, and performing calculations. By pressing Command + Space, you can instantly access Spotlight, reducing the time spent navigating through folders and menus.
Estimated Time Saved:
5 seconds per search
20 searches per day
Total: 100 seconds (1.7 minutes) per day
Command + D: Select All Instances of a Word in VS Code
In Visual Studio Code, Command + D allows you to select all instances of a word, making it easy to perform batch edits. This is especially useful for refactoring code or making repetitive changes.
Estimated Time Saved:
10 seconds per use
15 uses per day
Total: 150 seconds (2.5 minutes) per day
Command + P: Quick File Navigation in VS Code
The Command + P shortcut in VS Code lets you quickly jump to a specific file by name. This eliminates the need to manually browse through directories.
Estimated Time Saved:
8 seconds per navigation
20 navigations per day
Total: 160 seconds (2.7 minutes) per day
Fn + F12: Jump to Definition in VS Code
Using Fn + F12 in VS Code lets you quickly jump to the definition of a variable or function. This is particularly useful for understanding codebases and navigating large projects.
Estimated Time Saved:
5 seconds per jump
15 jumps per day
Total: 75 seconds (1.25 minutes) per day
Command + Shift + Option: Highlighting and Moving Between Words, Lines, and Paragraphs
Highlighting and moving around text efficiently can greatly enhance your coding and editing workflow. The Command + Shift + Option combination offers powerful text selection and movement capabilities.
Highlighting Words: Hold Shift and press the left or right arrow keys to highlight words while moving between and around them. In many situations, this method is far faster than using the mouse and requires less precise movement, allowing you to select exactly what you need with ease.
Highlighting Lines: Hold Command while moving or selecting to jump to the end - either left or right to go to the end of the line, or up and down to move to the top or bottom of the section. This is particularly useful for code blocks or text that spans multiple lines, or in large files when you want to quickly scroll to the top of the page.
Movement by Word: To convert the movement from a single character to a single word, hold down the option key. When moving left you will jump to the beginning of the word you're on, or the next word if you're at the beginning of your current word, and it works the same for the right arrow. This is particularly helpful for speeding up movement through sections of text, or highlighting the whole word you want.
Estimated Time Saved:
3 seconds per selection, 150 selections per day = 450 seconds (7.5 minutes) per day
Incorporating these shortcuts into your daily routine can drastically improve your efficiency and productivity. By minimizing the time spent on low-value tasks, you can focus more on high-impact activities, making your workflow smoother and more professional. When you consider using these shortcuts on common tasks that happen during a team-wide or org-wide Zoom call by the presenter, even small efficiency gains can translate into significant time (and dollar-value!) savings.
Choose a Shortcut: Pick one new keyboard shortcut to learn each week.
Practice Daily: Use the shortcut frequently throughout the week to build muscle memory.
Track Your Progress: Estimate how much time you save by using the shortcut compared to your previous method. Significant savings? Share with friends and coworkers!
Expand Your Repertoire: Once you’re comfortable with a shortcut, add another to your practice list.
Learning and using keyboard shortcuts can make you a more efficient engineer. By minimizing the time spent on mundane tasks like window resizing, you can focus more on high-value activities, making your screen-sharing sessions smoother and more professional.
OpenAI's recent DevDay was a treasure trove of revelations for the AI community. The launch of GPT-4 Turbo marks a new era of efficiency and capability, with a 128K context window and updated knowledge up to April 2023, all at a reduced cost.
The introduction of the Assistants API paves the way for developers to build sophisticated, goal-oriented AI apps, while new multimodal capabilities like vision, image creation with DALL·E 3, and text-to-speech functionalities hint at a future where AI's integration into our daily digital interactions is seamless.
For the general populace, customizable AI models via GPTs allow for tailored solutions across various sectors, ensuring that the future of AI is not just powerful but also versatile and accessible to all.
As OpenAI democratizes access to cutting-edge technology with more affordable pricing and customizable offerings, we stand on the cusp of an AI revolution that will redefine the landscape of software development and usage.
Excited about these innovations?
Join the conversation and share your thoughts!
Yesterday Meta publicly released their 175 billion parameter Open Pre-Trained Transformer Language Model (OPT) and extensive associated documentation to compete with OpenAI's Generative Pre-trained Transformer 3 (GPT-3) API!
If you're already deeply interested in Natural Language Processing, you're jumping out of your seat right now! If not, you are probably asking... What is NLP? What is different between GPT-3 and OPT? Will this open-sourcing cause a dramatic shift in LLM research?
Hopefully, I can quickly answer a few of those! Keep in mind the future is built from the unknown and can only be learned as people begin to adopt this bleeding-edge technology... but let's dive in!
To start off, what are LLMs, what can we use them for, and what has been backing up research up to this point? Large Language Models are massive AI models that are trained on vast written datasets that can be leveraged to complete various language processing tasks from sentiment detection on a phrase or paragraph to mimicking human conversation, generating complete scholarly articles around an input topic, and so much more!
Many of the use cases described in OPTs whitepaper revolve around bias and racism detection on text that might be used to prevent hate crimes or other nefarious social activity. What was GPT-3 and what's the difference between it and Meta's new OPT? Human speech inherently has many intricacies, and this can be reflected in a large number of parameters that must be trained for NLP models to be effective.
GPT-3 is OpenAI's solution, which trained 175 billion weighted parameters that help predict, classify, or otherwise make use of their dataset. The problem with GPT-3 is that it is only available for use as a paid service, and even then only through APIs, not through direct access to the model itself. This provides a significant barrier to entry for the average dev, and has kept the NLP community small. OPT completely changes the game in this regard!
The Meta AI team sought to produce an equivalent model, also training on 175B parameters (and other, smaller numbers of parameters to make it cheaper and easier to work with for small teams). They have released not only the model itself, but all related documentation about how it was created and various code packages for easier onboarding.
This will hopefully drive NLP adoption and introduce new scientists to the community, help establish some best practices of NLP AI use, and further our understanding of how communication works. That said, there are some negative consequences that has become apparent as well and can be easily found with a few quick Googles. Meta has taken some measures to mitigate potential risks, but nothing in big tech can reduce that factor to 0.
Want to talk about this more?
Please reach out!
Sources:
https://lnkd.in/gAFUkXDi
https://openai.com/api/
https://lnkd.in/gTNTUmqF
AWS Lambda, Microsoft Azure Functions, and Google Cloud Functions square up against traditional server architectures in
a battle to the death. (Just kidding, servers are still useful in some solutions)
Traditional application server architectures contain a central server that loiter around listening for incoming
requests, processing them whenever they come in, and burning your money while they aren't. This server can be an on-premises
or a remote hosted one, such as AWS EC2 instance, Google Compute Engine, or IBM Cloud Virtual Server.
When that server has the perfect amount of connections that you guessed it would have, great! This is, however,
extremely unlikely... A good swell of business overwhelms your poor little server one day and he crashes, losing a lot of
potential customers! You will anticipate this growing traffic next time, we're ready now! You provision larger and larger
machines to handle these tasks, so upgrading your server's capacity - and cost.
When server traffic does not grow as expected, you pay for the anticipated space and that server capacity is wasted as the machine sits idle. When you decide to downgrade a few months later after paying for wasted capacity, you get hit with a spike of traffic again (yay!) but are unable to handle it...yet again (on no!) causing downtime and loss of both users and revenue.
How can we get around this seemingly impossible task of perfectly provisioning the correct server size?
You guessed it! Go Serverless!
Switching from this traditional architecture to a serverless one allows you to forget about provisioning resources,
letting the service provider deal with all "under the hood" logic required when scaling, so that you always pay
only for the resources that you actually use.
Under a serverless model, you get to simply develop the APIs that your application needs, and deploy them independantly of the system or each other, and your chosen service provider will handle the rest.
You no longer need to constantly pay for unused server capacity, and will never again be underprepared for the day your app hits the front page on the app store and gains immense traffic. As your user flow increases AWS, Google, or IBM will scale your functions accordingly with predicable price points per request.
Luddites beware, my next post will dive into the underlying tech which allow these services to perform to scale.
It might go over your head, but is defintiely interesting and well worth the read...
The book Atomic Habits explains how your habits are directly related to the person that you ARE, which is both good and bad
Casting a vote for the person you want to become
For instance, if you CHOOSE to "not be a smoker" or "to be a professional athlete" those can be verifiably true or false by looking at the history of your own actions, and seeing if the number of "votes cast" votes against or in the favor of your statement.
Granted, habits should not be considered to be boolean logic in the eyes of the person casting the votes, and a person's ability to complete such tasks are also completely independent and often massively different for each individual.
Consider for instance the common practice of creating New Year's Resolutions at the beginning of a new year. Today is New Year's Day, and I know that many of my friends and we enjoy sharing our goals we have for the coming year. For this year, I decided not to go for some grand single thing, but rather a collection of habits that I believe would put me into a better place at the end of next year, rather than a single thing to cut out or try to start doing from the blue. Take a look at the action, not the outcome, and the outcome will almost always follow.
"Get in shape" is the goal "Work out 5x weekly" or "Exercise 30 minutes daily" is a better process, as it can be reduced easily to a boolean condition that will be easily regularly attainable, and quickly verifiable. Not that the bitcoin soluation solves a similar solution in represeting currency. If bitcoin's improvements over fiat solve the problem of commonly available and quickly verifiable in money, then the measure of personal habits solves the same problem in representing a person's true values even if they do not know themselves as such.
All of these things are small things that add up to what you caln verifiably call yourself.
Awareness of your habits is where you must begin, so lets take a look at things that I do on a daily, weekly, monthly, and yearly basis
Note taht when an item on this list does not overlap with your daily habits, choose something more accurate and replace it wiht one of your own. also note that some of these habits are definitely negative items, they should be inculded as well, as the sum total of your habits is not limited to your positive traits. Other's may seem trivial but when you stop to think about it will realize that for many people in the world, these seemingly commonplace habits, routines, and life status / characterists are not present and may even be someones life dream, never to be collected.
Here are my choices for my habits to track this year. in some, the arrow counts against you where in others, they count towards you. Score each one according to the perceived positive effect it would have on your life.
(1.5h)
Daily:
(5m) 100 pushups (generally in 2x50 sets, one immediately after waking)
(5m) Meditate for 60s (typically immediately following pushups)
(30m) Get outside for 30 minutes
(5m) Draw something (60s or longer)
(5m) Write something (10+ words)
Read something
(5m) Clean House
(10m) Eat a salad
(15m) Drive
Can easily get accurate factual data in Screen Time ! Will likely be worse than you would've imagined, if you havent recently checked in on yourself. At least thats how it is for me
(30m) Instagram (actual 3h!!!)
(10m) Facebook (actual 30m!!!)
(1h) Other
(30m) Read 100 pages of a book
Weekly:
(3h) Run 10miles
(3h) Lift weights 3x for at least 30m
(6h) Surf / Snowboard / Ski
(3h) Skate
(30m)Tell two family members I love them
(5m)Text someone I have not talked to in over a week
(9h) Hang out with friends 3x
(3h) Drink
(2h) Clean House
(40h) Commit 10x for work
(10h) Commit 2x for personal
(26h)
Monthly:
Personal Status Sheet (1h)
Financial Status Sheet (1h)
Blog Article (4h)
Read a Book (20h)
Yearly:
Visit Family (3x)
Print off photos
Goal Setting
Primary Care Physician visit
Dentist Checkup
Now we know what to track, how to track it, and how much time each of the tasks that you do on a regular basis takes in time, let's build a daily, weekly, and monthly calendar to represent your life and then decided where to make additions or cuts. We'll give you a personalized template that you can quickly fit into how you would like your life to look.
First
Screen that has a Section List of flatlists of tasks with a time selector and boolean / incremental selection
Screen that has today's tasks (can toggle to weekly/monthly/year views as well in V2)
Screen that has stats
(daily value, longest streak, current streak, counts of make/miss and make/miss percetages)
My process for starting a daily project:
(either directly in your website folder, or in a new github repo if you prefer. Here I'm showing a new repo creation, as some of you may not already have a site or repository set up)
In GitHub web
Click Top Right "+"
Click New repository
Name Repo
Give description
Click create
click "<> Code"
Copy ssh line by pressing the intersecting squares
(click on new Desktop on external monitor, or swipe to new screen if none exists)
Command + Space ➝ Search "t" ➝ Press enter
(In new terminal window)
cd ./Desktop/Github) (./De tab ➝ enter shortcuts to /Desktop and /G tab ➝ enter shortcuts to /Git)
Run ➝ git clone (paste repo name)
You should see an output like that below
Run cd ./(Repo name) to navigate into the new project
Run ➝ "code ." to open new VS Code Window in a window
In the new VS Code window
press control & ~ to open terminal in VS Code
Create new react native project
➝ yarn create expo-app
enter a project name when prompted
Congrats, youve got an app!
Check out App.js to see the code for your new application
Open it by running " cd ./(Repo Name)" to go into the project directory then "yarn expo start" to launch the server!
This will start a development server for you.
Next, download "Expo Go" on your iphone or android
Scan the QR code generated in your web browser or in the terminal to open up the new Expo app directly on your phone, as long as you have it connected to the same wifi network.
Lets start by deleting the current contents and getting work on our outline!
We know that our app should look something like this. Go ahead and draw a quick sketch of what you think that should look like.
First
//View with all tasks with a time incrementer or boolean selection box (organized into sections by daily monthly or weekly in V2)
Screen that has today's tasks and tick boxes (can toggle to weekly/monthly/year views as well in V2)
Screen that has stats over time (daily value, longest streak, current streak, counts of make/miss and make/miss percetages in V2)
each page should have an extra box on the bottom to let you add a new task
Immediately I can see that I'm going to want a vertical ScrollView for the tasks and a Horizontal ScrollView for the pages OR two Seperate pages that each have a single vertical ScrollView. For this use case, I'm going to go with the nested scrollviews so I dont need to worry about setting up navigation state
A visual representation of that layout translated into a code diagram look like this
And the translation into psuedocode looks like this
To save a little bit of time in formatting, I'm going to get openAi's chatbot to create some boilderplate...
Ask it "Create a react native page that contains a horizontal scrollview that contains 3 views the width of the screen, and snaps to the page on scroll"
Here's the response:
Here is an example of a horizontal scrollview that contains 3 views, each with a width of the screen, and snaps to the page on scroll:
Tune in next week for an interesting discussion on how to simulate the effect of gavitational fields of particle systems next week!