diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..70c17e2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +bin/.local/bin/solang + diff --git a/bin/.local/bin/tmux-sessionizer b/bin/.local/bin/tmux-sessionizer index 01e55057..404a9efa 100755 --- a/bin/.local/bin/tmux-sessionizer +++ b/bin/.local/bin/tmux-sessionizer @@ -3,7 +3,7 @@ if [[ $# -eq 1 ]]; then selected=$1 else - selected=$(find ~/work/builds ~/ ~/work ~/personal -mindepth 1 -maxdepth 1 -type d | fzf) + selected=$(find ~/work/builds ~/ ~/work ~/personal ~/personal/yt -mindepth 1 -maxdepth 1 -type d | fzf) fi if [[ -z $selected ]]; then @@ -12,6 +12,7 @@ fi selected_name=$(basename "$selected" | tr . _) tmux_running=$(pgrep tmux) + if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then tmux new-session -s $selected_name -c $selected exit 0 @@ -21,8 +22,4 @@ if ! tmux has-session -t $selected_name 2> /dev/null; then tmux new-session -ds $selected_name -c $selected fi -if [[ -z $TMUX ]]; then - tmux attach-session -t $selected_name -else - tmux switch-client -t $selected_name -fi +tmux switch-client -t $selected_name diff --git a/i3/.config/i3/config b/i3/.config/i3/config index 6e69aa56..00aec246 100644 --- a/i3/.config/i3/config +++ b/i3/.config/i3/config @@ -101,52 +101,52 @@ bindsym $mod+a focus parent #bindsym $mod+d focus child # switch to workspace -# bindsym $mod+1 workspace 1 -# bindsym $mod+2 workspace 2 -# bindsym $mod+3 workspace 3 -# bindsym $mod+4 workspace 4 -# bindsym $mod+5 workspace 5 -# bindsym $mod+6 workspace 6 -# bindsym $mod+7 workspace 7 -# bindsym $mod+8 workspace 8 -# bindsym $mod+9 workspace 9 -# bindsym $mod+0 workspace 10 - -# switch to workspace -bindsym $mod+Shift+equal workspace 1 -bindsym $mod+bracketleft workspace 2 -bindsym $mod+Shift+bracketleft workspace 3 -bindsym $mod+Shift+9 workspace 4 -bindsym $mod+Shift+7 workspace 5 -bindsym $mod+equal workspace 6 -bindsym $mod+Shift+0 workspace 7 -bindsym $mod+Shift+bracketright workspace 8 -bindsym $mod+bracketright workspace 9 -bindsym $mod+Shift+8 workspace 10 +bindsym $mod+1 workspace 1 +bindsym $mod+2 workspace 2 +bindsym $mod+3 workspace 3 +bindsym $mod+4 workspace 4 +bindsym $mod+5 workspace 5 +bindsym $mod+6 workspace 6 +bindsym $mod+7 workspace 7 +bindsym $mod+8 workspace 8 +bindsym $mod+9 workspace 9 +bindsym $mod+0 workspace 10 # move focused container to workspace -bindsym $mod+1 move container to workspace 1 -bindsym $mod+2 move container to workspace 2 -bindsym $mod+3 move container to workspace 3 -bindsym $mod+4 move container to workspace 4 -bindsym $mod+5 move container to workspace 5 -bindsym $mod+6 move container to workspace 6 -bindsym $mod+7 move container to workspace 7 -bindsym $mod+8 move container to workspace 8 -bindsym $mod+9 move container to workspace 9 -bindsym $mod+0 move container to workspace 10 +bindsym $mod+Shift+1 move container to workspace 1 +bindsym $mod+Shift+2 move container to workspace 2 +bindsym $mod+Shift+3 move container to workspace 3 +bindsym $mod+Shift+4 move container to workspace 4 +bindsym $mod+Shift+5 move container to workspace 5 +bindsym $mod+Shift+6 move container to workspace 6 +bindsym $mod+Shift+7 move container to workspace 7 +bindsym $mod+Shift+8 move container to workspace 8 +bindsym $mod+Shift+9 move container to workspace 9 +bindsym $mod+Shift+0 move container to workspace 10 -# move focused container to workspace -# bindsym $mod+Shift+1 move container to workspace 1 -# bindsym $mod+Shift+2 move container to workspace 2 -# bindsym $mod+Shift+3 move container to workspace 3 -# bindsym $mod+Shift+4 move container to workspace 4 -# bindsym $mod+Shift+5 move container to workspace 5 -# bindsym $mod+Shift+6 move container to workspace 6 -# bindsym $mod+Shift+7 move container to workspace 7 -# bindsym $mod+Shift+8 move container to workspace 8 -# bindsym $mod+Shift+9 move container to workspace 9 -# bindsym $mod+Shift+0 move container to workspace 10 +# switch to workspace +#_ bindsym $mod+Shift+equal workspace 1 +#_ bindsym $mod+bracketleft workspace 2 +#_ bindsym $mod+Shift+bracketleft workspace 3 +#_ bindsym $mod+Shift+9 workspace 4 +#_ bindsym $mod+Shift+7 workspace 5 +#_ bindsym $mod+equal workspace 6 +#_ bindsym $mod+Shift+0 workspace 7 +#_ bindsym $mod+Shift+bracketright workspace 8 +#_ bindsym $mod+bracketright workspace 9 +#_ bindsym $mod+Shift+8 workspace 10 +#_ +#_ # move focused container to workspace +#_ bindsym $mod+1 move container to workspace 1 +#_ bindsym $mod+2 move container to workspace 2 +#_ bindsym $mod+3 move container to workspace 3 +#_ bindsym $mod+4 move container to workspace 4 +#_ bindsym $mod+5 move container to workspace 5 +#_ bindsym $mod+6 move container to workspace 6 +#_ bindsym $mod+7 move container to workspace 7 +#_ bindsym $mod+8 move container to workspace 8 +#_ bindsym $mod+9 move container to workspace 9 +#_ bindsym $mod+0 move container to workspace 10 # reload the configuration file diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index 156faeec..16a0ebaf 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -25,7 +25,8 @@ Plug 'hrsh7th/cmp-buffer' Plug 'hrsh7th/nvim-cmp' Plug 'tzachar/cmp-tabnine', { 'do': './install.sh' } Plug 'onsails/lspkind-nvim' -Plug 'github/copilot.vim' +" Plug 'github/copilot.vim' +Plug 'nvim-lua/lsp_extensions.nvim' " Plug 'nvim-lua/completion-nvim' Plug 'glepnir/lspsaga.nvim' @@ -82,10 +83,10 @@ Plug 'sbdchd/neoformat' call plug#end() " Adding local modules -let &runtimepath.=',' . expand("$HOME") . '/personal/harpoon/master' +let &runtimepath.=',' . expand("$HOME") . '/personal/harpoon/tmux' let &runtimepath.=',' . expand("$HOME") . '/personal/vim-with-me/ui' let &runtimepath.=',' . expand("$HOME") . '/personal/git-worktree.nvim/master' -let &runtimepath.=',' . expand("$HOME") . '/personal/refactoring.nvim/printfyou' +let &runtimepath.=',' . expand("$HOME") . '/personal/refactoring.nvim/master' " let g:vimspector_install_gadgets = [ 'debugpy', 'vscode-cpptools', 'CodeLLDB' ] @@ -132,6 +133,7 @@ nnoremap dwm :lua require("vim-with-me").disconnect() nnoremap gll :let g:_search_term = expand("%"):Gclog -- %:call search(g:_search_term) nnoremap gln :cnext:call search(_search_term) nnoremap glp :cprev:call search(_search_term) +nnoremap nf :!./scripts/format.py % nnoremap x :silent !chmod +x % diff --git a/nvim/.config/nvim/lua/theprimeagen/lsp.lua b/nvim/.config/nvim/lua/theprimeagen/lsp.lua index 1305ebbf..ff789c75 100644 --- a/nvim/.config/nvim/lua/theprimeagen/lsp.lua +++ b/nvim/.config/nvim/lua/theprimeagen/lsp.lua @@ -1,8 +1,6 @@ local sumneko_root_path = "/home/theprimeagen/personal/lua-language-server" local sumneko_binary = sumneko_root_path .. "/bin/Linux/lua-language-server" -vim.lsp.set_log_level("debug") - local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities.textDocument.completion.completionItem.snippetSupport = true @@ -57,7 +55,7 @@ cmp.setup({ sources = { -- tabnine completion? yayaya - { name = "cmp_tabnine" }, + -- { name = "cmp_tabnine" }, { name = "nvim_lsp" }, @@ -123,7 +121,18 @@ require("lspconfig").gopls.setup(config({ })) -- who even uses this? -require("lspconfig").rust_analyzer.setup(config({})) +require("lspconfig").rust_analyzer.setup(config({ + cmd = { "rustup", "run", "nightly", "rust-analyzer"}, + --[[ + settings = { + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, + } + --]] +})) require("lspconfig").sumneko_lua.setup(config({ cmd = { sumneko_binary, "-E", sumneko_root_path .. "/main.lua" }, diff --git a/nvim/.config/nvim/plugin/refactoring.vim b/nvim/.config/nvim/plugin/refactoring.vim index 9df3e670..78f37564 100644 --- a/nvim/.config/nvim/plugin/refactoring.vim +++ b/nvim/.config/nvim/plugin/refactoring.vim @@ -1,5 +1,7 @@ lua require("theprimeagen") +lua require("refactoring").setup({}) + vnoremap rr :lua require("theprimeagen.telescope").refactors() nnoremap rr :lua require("theprimeagen.telescope").refactors() nnoremap df :lua require("refactoring").debug.printf({below = false}) diff --git a/nvim/.config/nvim/plugin/telescope.vim b/nvim/.config/nvim/plugin/telescope.vim index 8d49b04a..fdd9603f 100644 --- a/nvim/.config/nvim/plugin/telescope.vim +++ b/nvim/.config/nvim/plugin/telescope.vim @@ -7,7 +7,7 @@ nnoremap pf :lua require('telescope.builtin').find_files() nnoremap pw :lua require('telescope.builtin').grep_string { search = vim.fn.expand("") } nnoremap pb :lua require('telescope.builtin').buffers() nnoremap vh :lua require('telescope.builtin').help_tags() -nnoremap vrc :lua require('theprimeagen.telescope').search_dotfiles() +nnoremap vrc :lua require('theprimeagen.telescope').search_dotfiles({ hidden = true }) nnoremap va :lua require('theprimeagen.telescope').anime_selector() nnoremap vc :lua require('theprimeagen.telescope').chat_selector() nnoremap gc :lua require('theprimeagen.telescope').git_branches() diff --git a/tmux/.tmux-cht-languages b/tmux/.tmux-cht-languages index 1f60cbd0..d3f0c716 100644 --- a/tmux/.tmux-cht-languages +++ b/tmux/.tmux-cht-languages @@ -1,4 +1,5 @@ golang +solidity nodejs javascript tmux diff --git a/todo.md b/todo.md deleted file mode 100644 index 5707f38b..00000000 --- a/todo.md +++ /dev/null @@ -1,590 +0,0 @@ -## Config -* Pass around the config object -* custom serialization methods for printfme - - - - - - - - - - - - - - - - - - - - - - - - - - -### Fast Property creation (fastproperty) fastproperty FastProperty -* How fastproperties works for tvui boot. - - for nq#staging: nq_tvui_uiboot_member app name - - for tvui#prod: api app name - - There is a pipeline to make this easy at: https://www.spinnaker.mgmt.netflix.net/#/applications/tvui/executions?pipeline=Deploy%20Fast%20Property%20Regionally - - pick deploy fast property regionally - -### TOMORROW -* MERGE THE DANG PR ALREADY -* check in with teddy on refactoring -* merge any prs with harpoon - -### Day 2, 3 Netflix -Wow. I uhh... well it turns out that my user name, being ThePrimeagen, caused -some internal tools to make it so that I could not launch the internal linux -application that mimics real world tvs. - -Took me about 4 hours before we came to that conclusion. It hurt. I am hurt. - -#### Then it was onto fires -I did nothing that I wanted to.. :( BUT TOMORROW!!! Its going to be awesome. - -#### TVUI continues to hurt my feelings, Day 3 -Again. All I want to do is do some work, instead I am currently spending my -time trying to figure out why a server, thats wrapped in several layers doesn't -work for me... - -This is categorically always the worst form of work. - -### Day 1 Netflix -* I got to use my new thread ripper! It was so awesome... -* But unfortunately I just got hosed on some permissions + remembering all the - things. - -* But it was pretty easy to get it up and running! (show segfault) - -#### What is my first task. -* What is my first task? Well my first task is to understand better real time - javascript and how to best measure it. - -* show Network -* show WebGPU - -#### What is the fundamental problem. -* We have a function that exists, we need to measure it and find out what is - slowing it down. In some sense it is a lot like game programming problems. - * [[ draw the picture ]] - * What is the cost of thread jumping? - * What is the cost of garbage collection? - * Lock Contention? - * Other unknowns? - -#### Where are we expecting to solve this problem. -* We need the IC to be able to measure and solve any new problems. -* automation? - -#### The Tools -* So the tool that I am exploring, one of two, will be Telemetry, a tool by - radgametools. - -* The other tools of course will be v8's set of tools provided via the debugger - protocol. There are advantages of each. They both take very different - approaches to performance. - -#### Pros and cons -* Telemetry just seems like a better fit for real time, hard deadlines. It - should give us clear message as to what is going wrong. - -* v8 will give us better insight into v8 itself, so if the problem is v8, it - will be best to view it from their tools. Deep integration is effectively on - the "no" side of things. - -#### So heres to the week -This week hopefully I will have a better idea of what to do next, but for, its -just exploring time and understanding people's perspectives! - -#### My goal of this series. -Provide some engineering life updates every few weeks. Hopefully you enjoy -this and hopefully I can keep making some great content! As always, discord, -twitch. You just got to be there, its in the comments, you don't have an -excuse. - -Comment, like, sub, whatever. Just get the job done, let that algo know who is -boss. - -### books -* Think and Grow rich - napolean hill - -### WebGPU webgpu -* build widget-js - * npm i, npm run build, npm run serve -* run with webgpu - * --inject-js=http://localhost:8080/dist/index.new.js - -#### C++ files -* src/platform/gibbon/webgpu -* src/platform/gibbon/graphics/opengl/webgpu -* src/platform/gibbon/graphics/vulkan/webgpu -* src/platform/gibbon/bridge/gibbon/webgpu - -### Telemetery -* Bad frame threshold. Very cool feature of telemetry. Seems like this aligns - well with real time applications. -* Time spans seem great to relate some various independent actions (garbage - collection) -* Synchronization of graphs and execution : https://youtu.be/-UY424SHxIU?t=429 -* Message view to zone view was incredible. - -### TabNine -* So at first it seemed not to work. I was a bit confused.... -* Now its completing everything -* This has been pretty good. It actually works fairly well with lua. Lua's - language server just, likely is my guess, ever be that powerful. Tabnine - definitely seems to make a big difference here. - -#### Day 1 at work. -* I haven't been able to do anything, I am just spending my time dealing with - new computer. - - -### STARTING WORK -### TODOs -* Learn telemetry - - build custom markers and try things out. - - Build release (don't be a fool) - -### Links -* go/telemetrytool - - To get started using telemetry - -### Kevin C. -key points on perf -**All the transit costs (js taxes)** -* Fragment assembly c++ vs js - * Event loop cost -* Data from Stage 2 -> Stage 3 - * Bridge transit time - * Is there an event loop involved? - * Timings on that. - -#### Later thing -* If you were to port jitter buffer, what added extra costs? - -### Gustavo - -#### Reporting on saturation levels -- report green, yellow, red (dropping frames) levels of cpu. - -#### Start with c++ measurements -* ping pong of rtp is a good example of starting with c++ - -#### Running with JSC would work out of the box. -- This could be a great way to spike out what is happening. - -### Sam M. -* Instrumentation feeds into telemetry and could be the thing to use. - * Pulled from c++ or js. - * Instrumentation.h -- start here - * Areas are the thing you are instrumenting - * Macros are used to give all the information (start, stop, etc etc) - - -### Aleksei -* Sampling Profiler in chrome does the distributive sampling across the users - to get the correct picture in production - -* Aleksei chrome tool seems the best. - - - - - - - - - - - - - - - - - - - - - - -### Using rg -Using grep can be a pain because it is slow, but riggrep on the other hand is -amazing. Oh you haven't heard of ripgrep, well let me tell you this. It is -created with rust. - -* Rust is a statically-typed programming language designed for performance and - safety, especially safe concurrency and memory management - -* Rust uses optional types to prevent null exceptions that is common in - prehistoric programming paradigms. - -* Rust strives to have as many zero cost abstractions as possible whereas - previous system languages mire you in the nitty gritty details. - -* Rusts was designed for a 40 year horizon, allowing for backwards - compatibility and stability. - -* Automatic idiomatic formatting is available via rustfmt. - -* Rust has a vibrant and welcoming community - -* Rust has its own tooling and package manager called Cargo - - - - - - - - - - - - - - - -### Front end dev -* emmet great for tag generation and selection movement - * upgrade emmet to consider js/svelte/whatever to be html capable files. -* it / at for motions = awesome. Better than emmet - - - - - - - - - - - - - - - - - - - - - - - -### -* ABlaze enable test (done) -* TVUI update to make policy a boolean or config (pr) - * Get the URL for the build so anders can test it (done) -* Remove the frozen ui (done) - - - - -### More Vim Remaps -chmod file -!chmod +x % - - - - - - -### Alacritty -* Colors are nice. That opengl - (phffffftfftftftftftftftft not - even vulkan) looks good - - -### Saga -I don't like the smart saga scroll. I don't want another scroller. The preview window feels hampered -Its pretty -renaming seems neeter, as its a pop up opposed to prompt -float term? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## TODO -### Waiting -* jump into fx2 system's test slack and talk about warm start qoe - * "Is this the same metric that is messing with fx2?" - * waiting to hear back -* ftl probes - * waiting to hear back - -### Need to pursue -* What is the AppTTR impact of Milo? - * Talk to yongjian -* productionize the rest of tvui code base and test it. -* Finish up backport 20.1 - * working on the last bits. - * really need to improve harpoon for better git-worktree workflow -* Sam Crash report meeting. -* Anders hand off - * create a document with all the step by steps - * What am I seeing? (with qoe) - * What changes do I need to make for baked in Milo? - * What is it going to take to get this into production? - * Where should we put milo's actual loading? - * Talk to Ben about how we want to change the data structure? - * What does releases look like? - * Talk to Iaroslav / yongjian TTR - * We don't have a canary process (how do we do this?) (Minal's team) [2022 Q1] - * talk to vache -* App QoE - -{ -} - -### Done -* Allocate 31548 500k. - * waiting on deallocation for the 9th time... - -## Frozen ubilds -first go to jenkins: https://ui.builds.test.netflix.net/view/QL/job/Darwin-Master/16553/ -* https://ui.builds.test.netflix.net/job/QL-OPS-CreateBuildJob/build?delay=0sec Put the build number in the field -* Once you press build, you will then create a patch branch - * https://ui.builds.test.netflix.net/job/QL-darwin-patch-20210316_16553/ - --- For viewing webpack builds -* https://www.spinnaker.mgmt.netflix.net/#/applications/tvui_deploy_ql/executions?pipeline=Fast%20QL%20Webpack%20Productionize%20(Params) - - -## Make -1. Several modes. - * swapping commands?? - * You want to build - * You want to test - * "What people don't understand is that :make was made in a - different time" - Bill Joy - ThePrimeagen - - - - - - - - - - - - - - - - - - - - - - - - - - - -### Milo -#### HTTP3 -* TLS, there is lots of yavascript required handshaking... -* https://tools.ietf.org/html/draft-ietf-quic-http-34#section-3.2 - * 3.2. Connection Establishment -- Have Anders take a look. - * 3.3. Connection Reuse -- retaining certificates? - * Lots of bits here, not sure how much control we have of TLS from javascript. - * 4.1.1. Field Formatting and Compression - * This means no more field name case insensitive searching. - * 4.1.1.2. Field Compression - * Cookie separation is a great idea. - - - - - - - - - - - - - - - - - - - - - - - - - - -#### Artifact testing -* Vache and I will set up the pipeline Q1 - -#### Images -* Get the data correct with milo tags! - -* AB Report once we have run this long enough - talk to JSON - * 3 days to start with - * 50K for QA, 500K for full Allocation. - * Any visible discrepencies, reach out to JSON -* Realtimeqoe - * Empty Boxart Rate - * Image decode time (for this to be enabled, you must add to fast properties) - * Talk to JSON if you ever need to do it again. - * go/realtimeqoe_v2 custom TVUI view - * go/tvuimemory - * go/tvuiperflogging - * go/tvuiimages - * More Image Links: https://lumen.prod.netflix.net/show/TVUI%20Perf%20Logging%20Dashboard - * http://es_tribe_ocftl_ssd_6x.us-west-2.dynprod.netflix.net:7103/goto/42a7cdca9ad8aeaff793724c3113ec66 - * milo Ratio: http://es_tribe_ocftl_ssd_6x.us-west-2.dynprod.netflix.net:7103/goto/c9b74787a51723925e385cc23d5aadc1 - -#### Other stuffs - -* AppBoot - * Tie could potentially make the change in December. - * TODO: I may have to make the change, determine that this year. - -### Inspector -* Check DMs from Sebstian - -### Puppeteer -* Take care of the issues -* Open issue about clearing all cookies -* MDX??? - -#### Lower priority -* V1 https://jira.netflix.net/browse/NRDAPP-12070 - -## Notes -* Talk to sergey about testing milo ab test. - * Systems test for verification. - -* Automation for releasing. We have no way of releasing milo automatically. - * ab test properties updates (remains manual) - * cdn should be automatically uploaded to repository - * spinnaker job automatically released - -## Meetings -### 11-02 -#### Sam / Michael Crash Reporting -* Where do I see the kibana dashboards? - * Javascript Exception Rates: http://es_tribe_ayuda5.us-east-1.dynprod.netflix.net:7103/app/kibana#/dashboard/AXTql2byU3lbhSjdrLDS?_g=h@5034921&_a=h@a4cf014 -* Bridge adapter captures errors. Logs -> classifies error - -### --jsc-enable-heap-sampling nrdp exception - -* Mattia> @mpaulson I am trying both nrdp-opengl-debug-20.1.5@739 and - nrdp-opengl-debug-20.2.0@797 with --jsc-enable-heap-sampling --devtools - --disk-cache-capacity=0 and they crash at startup. Any idea? - * Resolution: Not fixing. - - The reason is that this only happens on debug builds. Don't perf test on - non debug builds. - - -## Lookups -### Realtime QoE, realtimeqoe realtime memory qoe -memory: go/tvuimemory -new qoe: go/realtimeqoe_v2 -new qoe quick link: go/abqoe/ - -### Milo milo -cdn: https://secure.netflix.com/us/nrdjs/milo/1.0.0/milo.release.js?v=1 - -### Crash Reporting crashreporting crashReporting crash reporting -Javascript Exception Rates: http://es_tribe_ayuda5.us-east-1.dynprod.netflix.net:7103/app/kibana#/dashboard/AXTql2byU3lbhSjdrLDS?_g=h@5034921&_a=h@a4cf014 -GoLink: go/nrdpandroidcrashes - -### Device device_id deviceId -go/dex for device ids - -### Big Data -* logblobs - vault.scl_uncurated_f - -### FTL probes Probes -go/ftl-access-logs -* For probe dashboard - -### Ablaze -#### Reports -* When running reports, make sure your allocation dates are correct. If you - allocate a new set, and just rerun you may not get the actual new set of - users. - -## TabNine -it is interesting how much of the time the suggestions are not complete code -examples, but actual useful completion. - -### Great example of good auto completion -* Image: Selection_009.png - -## PVM Stuffs -### Steps to complete to understand pvm in its entirety. -* Run custom javascript hosted on dta - * get custom token from: https://auth.dta.netflix.net/login -* Run custom build of nrdp -* http://nrdp.corp.netflix.com/userguides/master/guides/tools/pvmdevices/ -* Your own builds: http://nrdp.corp.netflix.com/userguides/master/guides/build/compiling/#pvm-managed-workflow - -### DTA -Insertion: https://file.dta.netflix.net/apidoc/#api-Path-InsertFile - -### Things I know -* Launch pvm with prebuild. -* Run with telemetry -* Get telemetry off box - -## Realtime javascript measurement -* From Sam: -A '*Class.*' --inst-print - -## ETH things to learn -* Library ethlint for auto formatting. -* inheritance. The complications of override vs virtual -* testing. Mocking and avoiding. diff --git a/uwuntu/.config/personal/alias b/uwuntu/.config/personal/alias index 560c8c4e..1a163a1d 100644 --- a/uwuntu/.config/personal/alias +++ b/uwuntu/.config/personal/alias @@ -1,7 +1,7 @@ #!/usr/bin/env bash -alias asdf="setxkbmap us real-prog-dvorak" +alias asdf="setxkbmap real-prog-dvorak" alias aoeu="setxkbmap us" -alias lkj="setxkbmap us real-prog-dvorak" +alias lkj="setxkbmap real-prog-dvorak" alias snth="setxkbmap us" alias xsc="xclip -selection clipboard"