When I made a game, the most efficient ”tool” was a page I made with direct links to CC0-only search for graphical & sound assets, so I never had to look for a license and just grab the file. And lexica.art for generating characters, and then ”Pixelator” for turning them to pixel art. It didn’t only speed up the process of adding 200 character sprites, it made it even possible in the first place.
Compiling, building, embedding assets, strongest stdlib under the sun, golang.org/x, standard codestyle and formatting, standard unit tests, standard benchmarks and CI/CD.
Best toolchain I've ever used, beats all other programming language ecosystems in my opinion.
2. Password manager
3. My brother's Commandline Completion tool https://github.com/zerocorebeta/Option-K
I used to forget most of the commandline.
4. Visual Studio Code
5. Tailscale (used to wait time with ssh -D and socks5 using proxychains shadowsocks.
Problem is they can be blocked by ISP or require lot more configuration than tailscale and are hard to debug when they don't work.
6 about LLLms in coding, I am still waiting for something like cursor but opensource so that I can extend it for my usecase.
In current state cursor and likes are heavily limiting for my workflow.
Can you elaborate on this?
All in plain text, with the advantages that this brings to the table.
It's an outliner, i.e. text that can be organized using nested headlines and subheadlines. Text markup has all the usual features, plus links, footnotes and tables. Links can be customized to support new protocols, but out of the box they already, among other things, understand file paths, DOIs and, obviously, https. Coupled with footnotes, these provide a really simple and useful citation mechanism for a personal wiki. Tables are literally mini-spreadsheets, as they can compute formulas.
A second key aspect of Org are keywords and timestamps. Keywords let you mark things as TODO, DONE or any other user-defined state. Timestamps let you mark headlines as deadlines or scheduled events. Org then has agenda views, built dynamically by scanning files. Agenda views display calendars that show incoming deadlines, appointments or tasks.
Dash is one of the apps I unhesitatingly spend for, along with Alfred, and I miss both dearly when I'm not on MacOS.
I can think of 3.5 ways my productivity is limited:
1. how fast I think: understand problems/come up with solutions - not a bottleneck as I juggle things waiting on (3)
2. how fast I write - this is the least impactful, if you do it right there usually isn't that much to write. Having dependable refactoring tools for a Ruby/Rails codebase would be killer.
3. how fast I
a. test - this has been getting slower
b. ship - the slowest by far, time cycling in reviews, CI/CD pipeline
That is to say don't over-optimize your tools in areas that don't impact the slower parts of your flow.AI helps with this one - if you use a code editor that has an AI plugin, being able to write out some describe/it blocks and add the code you're testing to the LLM context as well as some similar specs, the LLM can bootstrap parts of it for you
And for one off tests, spring + rspec is good enough
When I moved to macOS I missed it a lot. I searched for something similar and it was hard to find something like it. There's AppleScript, but it always feels like it's dying a slow death. I also came across HammerSpoon, which I tried for a while, but I never went as deep as I did with AHK. I also had some really weird issues that seemed to go away when I got rid of HS.
I haven't touched the code in at least 5 or 6 years, and I see a lot of people on Windows still using the AHK scripts I wrote.
For example open a browser, open gmail, paste the highlighted text into a draft email?
Or is it other things you would script up?
Other options opened applications. Highlight a hostname, hit a key, and open a window to SSH to that server.
One of the more involved ones was for remote desktop. Most people on the team used a remote desktop manager vs the single window RDP. So for this it activated the app (or opened it if needed), then added the server into a group called temp, activated that connection, and logged the user in.
When I first started working on it we had to keep an eye on the ticket queue, which required a manual refresh. I found this annoying, so I made a key that would switch to that browser window, click the refresh button to see the updated counts, and then switch back to whatever I was doing previously.
I did some stuff with email too. We use Outlook, but my boss wanted me to make email templates for some process he came up with. He gave me an Excel sheet with all the data. There is probably a way to natively handle automating this, but I couldn't find anything easily, and it was a one time thing. I wrote something that went line by line though the Excel sheet, switched over to Outlook, made the template based on the data, saved it in the proper format and location, then went on to the next line. It took about 2 hours to run, but he was originally planning on having 4 interns work on doing it manually for a week, which would have been very error prone and led them all to quit.
I did get one co-worker who added a feature that was pretty cool. In the GUI he had it slide out a calendar where the user could pick a date range and some other params to run a quick report in our ITSM software.
The GUI also had a text field on it, so the user could tweak what was copied if needed. There was also an option to preserve whatever was previously on the clipboard, so using it to look something up didn't break the user's flow with other stuff they were using the clipboard for.
When I shared it with the team I was able to compile it to a .exe, so I didn't need to explain the whole AHK setup and deal with issues around it. Then all the settings were saved out to an ini file that was created on first run.
Since there ware a lot of shortcuts to remember (if they wanted to use more than just the GUI), I also had a keyboard shortcut that would toggle on/off a HUD with all the shortcuts they had configured, which respected their preferences. I figured that would be helpful as they got used to it.
The GUI could also be used with the keyboard or mouse. Every button had a shortcut key (standard Windows style where the shortcut letter is underlined in the button title).
If you decide to do something like this, I would highly recommend making a function that does KeyWait on every single key and call it first thing before doing anything else. This solved so many issues for me with keys being stuck down in software and wreaking havoc on the rest of the script.
I can envision some of them, the ticket search especially. It reminds me of slack bots that auto assign links to mentioned issue numbers, etc, but is a bit more useful to just hit a key and go to it.
Why not Visual Studio Code ? Because when I discovered ST, vs code didn't exist and it is waaay less bloated because of not being Electron, based on C++ for the core and python for override.
The memory usage is contained and does not blow to your face when you have 4, 5, 6 instances with some plugins because of some weird memory leak. The average memory per instance is less than 100 Mb.
It gets the job done real good for a lot of small tasks. For tasks that require for example big work on code, I use the JetBrains suite that are excellent.
For hardware+software, the Remarkable 2 tablet changed my life. I was never a handwritten notes person and was never even an organized person. I read some book on organization and was like, “I should try being organized.”
Bought the Remarkable 2 with the logic that if I spent $500 on the thing and never used it, I’d feel like a moron.
I’ve been using it daily for about 3 years now and just upgraded to the Pro and love it even more.
The same goes for Apple Notes for me. To Do apps and Notes apps have always been my weakness. Once I accepted that there is no perfect app and the ones out of the box are actually really good.
As a media studies major with lots of readings, I use it to summarize PDFs and quickly reference the source. It’s also great for class—when my prof asks questions, I can ask Briefy for answers, which helps with participation. Briefy will only answer based on the materials input, so it's much better than randomly searching online with Google. Plus, it summarizes YouTube videos directly on the site, which I find super convenient.
I wish do wish that written transcriptions were automatically available on youtube to make it easier to search and navigate within videos and skip irrelevant sections. I doubt it will happen though since irrelevant promotional sections make money. I also like the idea of being able to automatically generate a screenplay for any film or tv episode, though that might fall afoul of copyright law.
I know there are probably many GUI git tools and editor integrations which make using git fast and easy but I've been mostly using the CLI. Lazygit makes doing things like cherry picking really easy and once you learn the shortcuts it's pretty fast to use.
1. Focus session time tracker with talking clock counting down every n minutes.
2. Activity monitor and alerter. Tracks active window and title every minute and alerts if more than n minutes outside whitelisted websites. Alert immediately if blacklisted website (dns blocking is painful. Sometimes you want to access it for a few minutes).
A bunch of more things but those are the two most effective ones.
One day.
Most of the time I make mistakes out of ignorance or lack of experience. Unfortunately, there is no tool for this. But it's good to think about how (technical) things work in everyday life and to take a look at the theory in a dry way This can be books, wikipedia or listen to what pepole from the the peak days of software development says (something before 2005)
I translate tons of texts to multiple languages, and ChatGPT not only provides pretty accurate translations as a starting point, but also allows me to see the pros and cons of specific translation choices. I can even notice recurrent ChatGPT mistakes and work my way around them programmatically.
I also heavily rely on it for making one-off scripts and programs to automate my workflow. Things that would require me to RTFM and waste time debugging syntax issues are no longer a problem. It does make mistakes sometimes, but it is often easy to fix them, too.
LLMs can’t be expected to be accurate, create original content or even solve hard programming tasks. But they really shine in certain workflows and that cannot be dismissed.
GitHub Desktop is really useful.
GitHub itself is huge!
1Password