Try Documentalist, my app that offers fast, offline access to 190+ programmer API docs.
sumatra on-line + electron desktop app
Online file management
qdirstat for online storage
Like https://github.com/shundhammer/qdirstat but for s3, dropbox etc. https://news.ycombinator.com/item?id=16189929
notepad for Dropbox / Google Drive etc.
A series of Notepad For X projects. The same UI but using different backends.
- https://codesandbox.io/u/kjk : for editor UI
s3/dropbox/google drive client/file manager
Maybe a windows/mac app. Maybe a web-based app.
Main feature would be speed and search.
See grokbit for inspiration.
Related / inspiration:
- https://github.com/AdrianBZG/SyncMe : Dropbox and Google Drive, QT, C++, 2 pane UI
- http://cloudcmd.io : web-based, 2 pane, written in node, 2 pane UI, only for local files
- https://github.com/azproduction/node-mc : Midnight Commander in node/react
- http://mac.eltima.com/file-manager.html : mac native app, $30 for PRO (cloud support)
- https://github.com/alex-phillips/node-clouddrive : Amazon Cloud Drive CLI and SDK
- https://github.com/ncw/rclone : Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage
- https://github.com/DanielDe/org-web/tree/master/src/sync_backend_clients : example dropbox and drive client-side backends
a different file manager
- e each folder is in its own window, which is as small as possible
- similar to list of files in http://gotools.org/github.com/PuerkitoBio/goquery#expandgo
- can open as many folders as wishes
- each folder could be it's own window or could try to arrange them inside a single window
- handling multiple folders
- each folder is its own top-level window
- try to arrange inside a single top-level window (the problem is of intelligently arranging the pieces inside also leaves empty space vertically)
- each folder is its own top-level window but we mark all but one as participating in the alt-tab etc. and we provide an illusion they're a single group (by moving them as a group when the window is being moved)
- width can't get bigger than the biggest item
- width can be smaller than the biggest itme, in which case there are few possibilities
- use smaller font
- shorten the string by replacing part of text (e.g. middle) with "..."
- truncate right
- height can't be bigger than the total length of items
- height can be smaller, in which case do traditional scrolling
- each folder has a search box to add a filter
- content needs to auto-update
pdf inspector or text extraction
shows detailed information about PDF files
PDF DRM / Protector / Encryptor
A web service where peopel can upload a PDF and get a reader application for Windows that protects the PDF from being copied.
It would cost between $10-$100 to protect a single PDF, unlimited distribution.
Build the reader using pdfium, 32-bit only, maybe using WinForms for the viewer app.
Sequence of events:
- compile pdfium library
- write the simplest reader that uses external encrypted PDF file
- write website that encrypts uploaded PDF file
faster PDF rendering
For faster PDF rendering, re-compile it. PDF format is rather complicated, mostly text format. A PDF renderer first has to parse it into in-memory representation and then renders it.
Imagine a binary format that is designed for fast loading and one-time PDF => binary format compilation step. With the right format, parsing step could essentially be eliminated.
We could even improve rendering time with some additional optimizations.
For example, there are PDF documents with gigantic images (think 4000 x 4000 pixels) that could be resized to some reasonable value and saved in a format that is fastest to decode.
I’m sure there are optimizations possible for complex vector graphics (e.g. removing stuff that we know will be invisible).
website for comparing poppler vs. mupdf vs. pdfium vs. pdf.js rendering
A website that allows comparing of poppler vs. mupdf vs. pdfium vs pdf.js rendering. Upload a PDF, render each page in each engine in both native size and down-scaled to a reasonably sized thumbnail for overview. The baisc layout would be:
[page 1 mupdf] [page 1 pdfium] [page 1 poppler][page 2 mupdf] [page 2 pdfium] [page 2 poppler] …
Then one could click on the thumbnail to see comparison of the native size.
Bonus feature: some type of overlay comparison.
html => pdf
Electron (Windows/Mac) app for converting html to pdf. Sell for $29, free version can be limited to e.g. 100 free generations.
https://github.com/jurgelenas/pdfify-server, https://github.com/fraserxu/electron-pdf, https://github.com/bjrmatos/electron-html-to, https://github.com/arachnys/athenapdf
A textbox where users enter url, show html preview and pdf preview. Create PDF using chrome apis and allow downloading. Allow cmd-line usage. Use mupdf or https://github.com/gerhardberger/electron-pdf-window to host preview after it's generated.
Advanced features would allow customizing PDF (change background, fonts etc.; works by over-writing css).
website / tool to extract text from PDF
Write a tool to extract text from PDF files.
Upload the file and get text in plain text file and json (augmented with position information) and maybe even xml.
Limit size of PDF files. Upsell to $19 mac/windows. Write a command-line tool, maybe even open-sources, also upsell GUI version.
Good example of upselling to a better version: https://www.spyfu.com
pdf printer exe
Cmd-line tool for windows, based on Pdfium. Many people use Sumatra for PDF printing but printing is not great there.
Pdfium should print well. Ship as a single executable which extract pdfium.dll on demand.
Make it free for personal use. Make it $99 for commercial use.
Web publishing / editing tools
Gist frontend or desktop mac/windows app
Better UI for GitHub Gist. Like gistbox/cacher.A web application for managing gists.
Gistbox got 10k users in frist few months, 75k in 5 years when it became Cacher (which is $6/mo for pro plan, $8/seat for team).
Competition / inspiration:
- https://www.cacher.io/ (was gistbox).
- http://www.shpakovski.com/codebox/ : mac app
- http://gistlyn.com/?gist=52c37e37b51a0ec92810477be34695ae&collection=2cc6b5db6afd3ccb0d0149e55fdb3a6a, https://github.com/ServiceStack/Gistlyn/tree/master/src/Gistlyn
- https://1ucasvb.tumblr.com/page/2 , (but 2 on a page, or adaptive to window’s width)
A notepad-like editor for taking notes quickly.
Uses Monaco editor. Saves notes in local storage.
Charge people $12/year if they want to persist notes e.g. in Drive, Dropbox etc.
Write a "New tab" Chrome extension that opens the editor like https://news.ycombinator.com/item?id=17506753
Optionally it's a markdown editor, but it's meant for plain-text notes first.
web version of goalkicker.com PDF books
It's stupid they it's in PDF. Make it HTML and with decent UI for going to parts.
Could be a good advertising for offdocs app.
better tldr.sh web ui
UI could be improved. list all commands at the top; add a search box at the top. drop-down at the top for list of commands. list all commands in a sidebar
tldr2.org is available
make a better version of https://github.com/AnthonyCalandra/modern-cpp-features
web-based API viewer for win32 API
With search like https://www.studiopixl.com/vulkan/
image optimizer (or multi-format), native gui app or online
- on the web using webassembly
- a native mac/windows app, either paid (advertised from the web version) or as an advertisement for other software
- fileoptimizer.io domain is free
- write open-source, command line tool as a marketing for GUI version
- https://mozjpeg.codelove.de/ : online mozjpeg
- https://github.com/imagemin : node-based, combines lots of tools into one
- https://imageoptim.com/mac : simple mac client, open source
- http://nikkhokkho.sourceforge.net/static.php?page=FileOptimizer : multi-format, for windows, open-source
- https://www.proteusthemes.com/blog/ultimate-guide-image-optimization-wordpress/ : comparison of existing websites that do that
- https://tinypng.com/ is a nice design for such a service
- https://github.com/ImageOptim/gifski, https://news.ycombinator.com/item?id=15730018
unzip/unrar etc. + convert between archives
sha1/md5 etc. of files
all the https://github.com/libyal tools
ttf2woff, compile http://wizard.ae.krakow.pl/~jb/ttf2woff/ for web
toICO, compile http://wizard.ae.krakow.pl/~jb/toico/ for web
https://gif.ski/ for web
calibre as web tool
inspiration / competition
web version of https://github.com/activescott/lessmsi
MSI file format reader:
- https://github.com/ironfede/openmcdf : pure C# implementation
- https://www.developerfusion.com/article/84406/com-structured-storage-from-net/ : using win api from C# via pinvoke
- https://gist.github.com/SheetJSDev/611a5f4fe82b90c69f91d5cecc6ba876 : decodes msi names
web version of https://github.com/rs/dnstrace
pcap viewer on web (wireshark)
Allow people to drop a .pcap file and provide UI for viewing the files.
See eg. https://github.com/ga0/netgraph
hex edit with structure support
For web or desktop apps
Inspiration / competition:
- http://www.synalysis.net/ : mac app
- https://github.com/sharkdp/hexyl, https://news.ycombinator.com/item?id=18865264 : has nice trick: coloring bytes based on type
Could be windows GUI for https://github.com/martinlindhe/formats
Inspiration / competition:
https://github.com/zavolokas/Inpainting on the web
online version of https://angelmmiguel.github.io/svgi/
file formats on web
CSVToTable web service
Like https://github.com/vividvilla/csvtotable but as a web service. Allows dropping CSV file, stores it indexdb, uses web service workers to convert to a table, allows sharing by uploading to a server and generating a url that would then download the file locally if not already present, using sha1
Names: ViewCSV, ShareCSV
Could then add excel etc.
web version of exiftool
port noembed to go
Drop a file and it tells you what kind of file it is.
- https://www.garykessler.net/library/file_sigs.html : list of file signatures
SEO / analytics related
seo google position monitor
siterankmonitor.com is available
linkchecker / seo checker
Write free (and maybe open-sourced) cmd-line utility for windows/mac. Write GUI front-end for mac/windows and charge $29 for it. Cmd-line app is an advertisement for gui app.
Write web-based UI with limited functionality (number of pages crawled). Use it as advertisement for gui app.
Potentially have pro plan for web version which has no limits, allows running checks every day/week and e-mail if there are problems.
Can expand into web archiving utility.
simple google analytics dashboard
Make it for myself. Only shows the basic info (most popular pages, most popular searches), yearly visitors. Open source, easy to host for free on firebase. Based on https://www.notion.so/Google-Analytics-ab8c1b1d6a3f4cc1a25e5349202407d3#c6a047492d7145acb9cfe8b29fc65047
google analytics summary
A service that sends daily/weekly google analytics summary, where it shows only the most important information.
LinkCrawler in Winforms or as a web service
Use https://github.com/hmol/LinkCrawler as a base, add UI
or maybe in Go, use https://github.com/dbalduini/smeago/tree/master/src as base for the crawler
web service to build a sitemap
Build a web service that builds google sitemaps (https://support.google.com/webmasters/answer/183668?hl=en&ref_topic=4581190). It crawls the website and builds .xml or .txt file with links, describes how to submit it to google etc. It should use chrome headless.
It should aggressively cache the results to avoid re-crawling websites. Url should be /tools/build-submit-google-sitemap.html. Maybe use a domain like webtools.io/build-submit-google-sitemap.html
To make money limit web service to N links (100? 256?) and up-sell a $10-$30 windows/mac desktop app build on electron.
Basically, https://www.xml-sitemaps.com but better.
https://github.com/endrazine/wcc on the web
Make a web front-end for this tool
web frontend to https://github.com/google/bloaty
show memory layout of Go types by parsing Go binary
Could be a web app, desktop app using electron/native browser control wrapper.
Other things that it might also do: http://mattwarren.org/2018/06/15/Tools-for-Exploring-.NET-Internals/
web version of PEiD
ilspy .net decompiler online
Web-based program similar to http://ilspy.net/
Mac to windows
xScope for Windows
http://xscopeapp.com/ in C#
pixelSnap for Windows
port window management mac utils to windows
Port one or more of the following utilities to Windows:
Pastebot for Windows
http://tapbots.com/software/pastebot/#sync i.e. an app that observes clipboard and remembers text/images that were pasted there. Could sync with the cloud. http://log.chrisbowler.com/post/308603065/pastebot
port dropzone from mac to windows
https://aptonic.com/, $10 mac app
Also https://lifehacker.com/5909194/dragondrop-adds-a-holding-bin-to-drag-and-drop-on-mac (the app no longer available)
port http://sipapp.io/ to Windows
port http://eternalstorms.at/yoink (better drag&drop) to windows, sell for $10
port https://github.com/JadenGeller/Helium to Windows in C#/CEF
port http://radiosilenceapp.com/ for Windows
port http://radiosilenceapp.com/private-eye for Windows
Audio Hijack for windows / Video Screen Recording
http://www.highcriteria.com/ ($18, $36, $54)
https://github.com/rygorous/kkapture : video/audio capture library that uses minhook
port blik to windows (quickly access important files)
port http://www.ricciadams.com/projects/pixel-winch to windows
something database (postgres/mysql) related
http://rickbergfalk.github.io/sqlpad/ is MIT-licensed app written in node. Package it as a desktop electron app and distribute via my website. Or maybe setup a public instance (after adding logging in or maybe storing credentials locally in the browser)
Port pgHero to Go and wrap as a Windows and Mac app.
Do the same for https://redash.io/ (they are $29/mo)
desktop version of pgmetrics
https://pgmetrics.io/ is a open-source cmd-line app that dumps postgres stats to stdout. Write a desktop app that shows the same thing.
desktop version of pgweb
Just wrap https://github.com/sosedoff/pgweb in a Mac and Windows app
sqlite deep browser
A gui for analyzing sqlite database on a deeper level. Written in Go, windows front-end.
cmd-line to gui
GUI version of https://github.com/soheilpro/mon
Write windows desktop app like https://github.com/soheilpro/mon. Do it either the hard way (pure win32) or C# or sciter.
mylg.io web frontend or Mac "native" app (multipe network tools in one)
http://mylg.io/ is in Go with MIT license. Write a web front-end for it that allows to access the utility via web interface. The idea is that an agent can be deployed on a host via ssh and it connects to a website via grpc. Alternatively, do a "native" Mac app, where UI is web view talking to a Go server
wcd (like cd, but gui)
Like cd, but gui version. Like https://github.com/mattn/cho but with GUI.
Must be fully operable from the keyboard:
- arrow up/down navigates current directory
- enter or right enters the directory
- ctrl-enter selects a directory (closes the window and prints the result to stdout)
- esc closes the window (cancels the operation)
- / or f or s : shows search ui where can quickly find any directory
- a way to bookmark/unbookmark directories (F1? shift-8 i.e. '*' ?)
- shows bookmarked directories e.g. at the bottom, for quick access. Allow e.g. Ctrl-<n> or Alt-<n> to select bookmarked directory
windows or mac gui for network traffic monitoring
NLoad for Windows
wtrace GUI for windows
GUI wifi cracker for windows
UI version of https://ranger.github.io/ (file manager) for mac or windows
https://github.com/orf/gping as a windows GUI app
Mac GUI version of sshutlep
https://github.com/sshuttle/sshuttle is written in python.
Write a GUI front-end, possibly port to Go and also to Windows.
smarcrop ui for windows
A simple program to wrap https://github.com/muesli/smartcrop
A GUI for aws, maybe can use https://github.com/wallix/awless for the backend (https://medium.com/@awlessCLI/aws-management-simplified-awless-io-0-1-0-2ec2d8810bcb)
GUI version of https://github.com/johnkerl/miller
(awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON)
The weakness of such cmd-line tools is that they require writing of the whole sequence of operations up-front. There are 3 problems with that:
- the syntax is rather arcane
- the user doesn’t see the data he’s operating on
- mistakes are costly i.e. changing the operations has to redo all computation from scratch
A better approach is to allow humans multi-step refinements of data in a UI that shows the preview of the operations.
For example, the operation:
$ mlr --icsv --opprint --barred \ put '$tiv_delta = $tiv_2012 - $tiv_2011; unset $tiv_2011, $tiv_2012' \ then sort -nr tiv_delta flins.csv
Would be done as sequence of steps
> load flins.csv $1: 215 records show first 10 records + headers > add tiv_delta = $tiv_2012 - $tiv_2011 $2: 215 records ... 10 record preview > remove tiv_2011 tiv_2012 $3: 215 records ... 10 record preview > sort by tiv_delta $4: 215 records ... 10 record preview > save flins_sorted.csv
“add”, “remove”, “sort by”, “save” are operations that work on list of records. If argument is not provided, it’s implicitly the last result. The argument can be explicitly provided e.g.:
> $2 save flins_sorted_2.csv
visidata on web or desktop
http://visidata.org/ is for tabular data interaction in the terminal. Make a web version.
Write GUI version of those tools. The simplest is a browser shell with xterm.js as front-end and just sub-launch the command and redirect output to xterm.js.
More sophisticated would be tools that do the functionality but re-imagined for GUI. Implemented with web UI.
GUI version of tig
Write a Mac and/or Windows GUI version of tig https://github.com/jonas/tig.
Tig has 4.5k stars on github, which implies a significant interest.
Maybe a paid desktop app for windows or mac or purely on the web (or both and use web version to sell desktop app)
Or it could be done with https://sciter.com/. Or Winforms on Windows and Swift/Cocoa on Mac.
GitLens as a stand-alone app
It's a plugin for VS Code. Make it a stand-alone desktop app with Electron.
https://github.com/miku/zek web hosted
add to online tools
Port https://twitter.com/KeysmithApp to Windows. Use quickjs to implement + windows APIs.
Write web version of https://github.com/WerWolv/ImHex (reverse engineering tool)
Make a Windows app like https://numi.app/ and sell for $19
- https://github.com/5anthosh/fcal-gui, https://fca1.netlify.app/
Write web-based version of https://github.com/sebastianbiallas/ht
Or write in Dart / Flutter and make web version / desktop version. Maybe web version as free advertising, sell desktop version for $99.
Replicate product / business model of https://unidoc.io/pricing/ in Dart (because Flutter will make Dart popular)
In codeeval.dev, add a way to do scratch calculations, using frink-like language https://www.hillelwayne.com/post/frink/
write jpeg inspector on the web https://github.com/corkami/formats/blob/master/image/jpeg.md
port https://github.com/ImpulseAdventure/JPEGsnoop (windows app) to web
port https://withfig.com/ to Windows
Implement https://www.hopperapp.com/ (disassembler) as a web app
Port https://www.digitalocean.com/community/books/how-to-code-in-go-ebook to use codeeval.dev for built-in code samples.
port bookish markdown parser from java to go
It uses antlr for the grammar so should be easy
Port https://github.com/dolanmiu/docx to Dart
Port "Calculus Made Easy" (from 1914) to Notion and publish as a website / epub / PDF. https://news.ycombinator.com/item?id=23257303
Website like https://scrimba.com/ but for all languages (like Go, Dart, TypeScript etc.).
Universal file upload service. Many service I have in mind need a way to upload a file and store for later retrieval in online storage.
It also needs to be optimized so that it doesn't re-upload files (based on sha1 of the content).
Web UI for https://github.com/bradfitz/shotizam (shows the sizes of things inside Go program)
Implement menu like in https://hundredrabbits.github.io/Ronin/ in Svelte and use is some project.
Try to use https://botoxparty.github.io/XP.css/ in some web project. https://news.ycombinator.com/item?id=23205579
Something like https://github.com/inancgumus/learngo but using codeeval.dev
Write a tutorial like https://jesselawson.org/rust/getting-started-with-rust-by-building-a-tiny-markdown-compiler/ but with codeeval.dev.
Rewrite "Let's build a compiler" in Go and publish as a book, with code examples on codeeval.dev. Resources:
- http://www.pp4s.co.uk/main/tu-trans-comp-jc-intro.html : port to x64
Recreate https://github.com/Alorel/patheditor2-mirror using my GUI framework in Sumatra
Write a Go equivalent of "Java Web Scraping Handbook" (https://twitter.com/SahinKevin/status/1216343661459451906).
Implement all the good ideas from https://news.ycombinator.com/item?id=22026089
A web version of https://www.ghisler.com/, call it Twilight Commander (a-la Midnight Commander)
Port https://www.flexport.com/design/components/ to Svelte.
Web-based htop with direct links to explanations of displayed information, like in https://peteris.rocks/blog/htop/
Make a production / polished version of https://github.com/google/grr
Write the client in Go and front-end in html.
Port https://github.com/getoutofmyyard/igloo to QuickJS and add UI.
Port libvips bindings from https://github.com/imgproxy/imgproxy to quickjs and Dart FFI to see how they compare.
Might end up with an article or two.
Build web versions of bintools (where it makes sense): https://opensource.com/article/19/10/gnu-binutils
A web and/or Chrome Extension version of https://github.com/sarthology/caligator
Port https://github.com/zodiacon/ProcMonX from C# to either Go / WebUI or quickjs.
A chrome extension to record http requests and pretty-print JSON responses.
There are a view but they all seem to just spy on headers.
- Web Sniffer http://5ms.ru/sniffer/, https://github.com/5ms/sniffer
- HTTP Header Spy (https://github.com/Tuurlijk/HTTP-Header-Spy
Call it HTTP Mata Hari
Hosted https://visidata.org/ : allow people to drop a file, run a session on the server, show it via xterm.js ui
This UI could be used for apps that present data as a stream of data that can be modified, where each modification creates a new stream, that can be inspected.
For example, a file manager-like utility:
dir "." norecur: returns a stream of files and directories, The schema is: name, type (dir or file), size, path (full path), relpath (path relative to staring dir), permissions, ext etc.
norecuris optional and disables recursive listing
size > 1 mb: creates a new stream with only items that fullfulls this predicate
ext.lower == ".png": creates a new stream where
extproperty is equal to
sort relpath, -size: sorts by name and then reverse size (biggest first)
type == file: removes non-file entries
select relpath, wc.lines: limits display to only relative path and
Properties can be chained:
dir "." norecur; size > 1 mb; ext.lower == ".png"; sort relpath, -size; type == file; wc; select relpath, wc.lines
Convert info in https://nullsweep.com/http-security-headers-a-complete-guide/ to cheat-sheet format.
Improve on https://github.com/vjeux/soulver.js (maybe use lezer for the parser, fix bugs, add more features). Some inspiration: https://news.ycombinator.com/item?id=20403270, https://github.com/gabipurcaru/dedo
Implement a grammar with https://lezer.codemirror.net/. Maybe Go.
Port https://xobotyi.github.io/react-scrollbars-custom/ to svelte
Web-based version of https://github.com/raspi/annotatorreader.
You can drop a file and we can show which parts of the file belong to a given structure.
File manager inspired by ranger https://github.com/ranger/ranger but made with web technologies. Can be desktop app or web-based.
Web version of https://github.com/gcla/termshark (a terminal ui for wireshark / pcap files, written in Go)
Make https://cloudcmd.io/ a hosted thing. Add more on-line serves, ability to add local drive via Go agent running on the computer.
Make nvAlt-like app on the web. See https://github.com/wincent/corpus (which is Electron-based local app)
This makes it easy to design icons that are made of simple, geometrical building blocs.
https://twitter.com/i/moments/1133438284749840384 is a lot of zdog examples.
Improve on https://codepan.net. It's almost perfect but could use a few improvements:
- add a
/dashboardlink which lists pens (local stored in browser and those stored in a gist). This is accessible via
Homelink at the top
- improve how gists are stored (currently it's just a single json file; make it multiple files for each type)
- rewrite in svelte (just for my education)
- could remodel a bit so that github username and save button are lined with top
- could then use that as a basis for anotepad site and code eval
Write lsof GUI for windows. See https://github.com/malxau/yori/blob/master/lsof/lsof.c
Port as much of https://github.com/d2phap/ImageGlass to Go as possible to ensure coverage of Windows APIs.
Make a windows gui app that wraps cv2pdb. Re-use most of fast file finder. https://github.com/rainers/cv2pdb
Then write an article how to debug Go apps on Windows
Port https://processhacker.sourceforge.io/ to Go / walk. This is to make sure the
wpackage is capable enough to do it.
Port one of the React libs to Svelte e.g. https://baseweb.design/
Windows UI for https://github.com/gcla/termshark (a terminal UI emulating wireshark, written in go).
Web version of https://lucasg.github.io/Dependencies/ (https://github.com/lucasg/Dependencies) which is an evolution of https://github.com/processhacker/processhacker.
Alternatively make the core operate on the server, return JSON and have the web UI use that to display information.
Write Windows equivalent of https://www.holdr.app/
Port https://gethead.info/ to use cheat-sheet navigation scheme
Port https://30secondsofcode.org/index and https://30-seconds.github.io/30-seconds-of-css/ to use the same navigation scheme as python cheat-sheet
Make a Windows version of https://apandhi.github.io/Autumn/ (https://web.archive.org/web/20190406003655/https://sephware.com/autumn/, https://github.com/apandhi/Autumn)
Use either chakra (and only support Win 10) or one of the small JS engines (mujs, duktape).
Generate the bindings using winapigen.
Could also make it into more generic visualization tool for misc system resources like processes. A quick way to make system utilities.
This is an idea for a better code browsing tool.
Have you ever flip flopped between multiple files when trying to understand a large code base?
I did, many types. Even the most advanced code browsing tools, like SourceGraph, are very frustrating when trying to understand code. The issue is this: we're not trying to understand 100 thousand lines of code at once, because that's not humanly possible. We browse the code to understand a tiny portion of a large code base but the tools are not made for that. We can do full text search, maybe with semantic understanding but when the parts of the code needed to understand a given concept spans several files, we must jump between files and loose context.
The idea is rather simple: augment standard search capabilities with a scratch buffer and add ability to quickly add parts of the code that are interesting (either by one-click add of a function / type etc. or select the code and add).
This scratch buffer allows to gather all relevant code in one place.
Write a previewer for testing notion api requests by using cors proxy cors.io and others. Simple front-end where user can pick which API to call, provide arguments and see JSON result. Inspiration:
- https://github.com/htmlpreview/htmlpreview.github.com/blob/master/htmlpreview.js for cors proxy use
- https://htmlpreview.github.io/ for nice, simple UI
- https://cors.io/ : cors proxy
- https://corsproxy.github.io/ : another cors pr
Write a tool for visualizing Go binary size. Could be web based on windows / mac app. Or all of them and use web based version to let people try the app but for heavy use direct them to $29-$39 windows / mac app.
- https://science.raphael.poss.name/go-executable-size-visualization-with-d3.html, the actual visualizer is confusing and slow
- http://evmar.github.io/webtreemap/, https://github.com/evmar/webtreemap- much faster and less confusing implementation of a visualizer
Should also have an option to produce a linear list (or a tree view) or maybe flamegraph
From soundcloud, nice design for showing keyboard shortcuts. Useful e.g. for comic book reader.
Better godoc. Use https://github.com/Unknwon/gowalker bettergodoc, bgodoc
Add sorting for tables. Use e.g https://neil.fraser.name/software/tablesort/
mini: write the simplest comic book reader on the web. Use https://github.com/codedread/kthoom and https://github.com/workhorsy/comic_book_reader as a base. combine with pdfvuer for PDF viewing
mini: improve the article comparing comic book readers on my website https://windowsreport.com/comic-viewer-software/
For sumatra online: https://github.com/arkokoley/pdfvuer A good starting point for view UI. It's based on pdf.js.
Ideas for improvements:
- navigation controls should be both at the top and bottom
- navigation controls should stay hidden but show up when the mouse is over them or when scrolling or when the mouse is moving (need to experiment to find out the right balance of when to show / not show)
- maybe a mini-status that shows e.g. current page number, always visible. They key is that it's small.
- full-screen option
- obviously needs more features (go to page, different kinds of layouts etc. Everything that Sumatra has
- more formats
mini: command-line sql query with all the nice ui of numeracy https://www.snowflake.com/blog/numeracy-investing-in-our-query-ui/
Nice design for showing binary structures or in sql essential book. From https://numeracy.co (now dead)
- maybe no need for
select, if we have
barare properties, then it knows it's select
- make quries live i.e. if source changes, the pipeline gets recomputed (e.g. when source is
Other possible tools like
ps: lists processes
windows: list of OS windows
- allow calling functions e.g.
boolIf a function returns
bool, it's a filter. If it returns an object, it's additional, nested properties. E.g.
image pathreturns dict with information of about an image (or empty if no information) and e.g.
image.dxis width of the image etc.
- various sys-admin-like tools like list of open tcp/ip connections, list of files opened by a given process etc.
Soulver/calculator for web/mac/windows
competition / inspiration
- http://parnold-x.github.io/nasc/, http://onethingwell.org/post/127630750293/nasc
- http://www.acqualia.com/soulver/, http://onethingwell.org/post/532997954/soulver-is-a-new-kind-of-calculator-application
- https://numi.io/, http://onethingwell.org/post/126583572564/numi
- http://calca.io/, http://onethingwell.org/post/70300420530/calca : markdown editor with built-in calculations
- http://speedcrunch.org/, https://bitbucket.org/heldercorreia/speedcrunch/ : desktop app in C++/Qt
- http://www.skytopia.com/software/opalcalc/ , http://onethingwell.org/post/11271188299/opalcalc
- https://github.com/sharkdp/insect, https://news.ycombinator.com/item?id=14625795, https://news.ycombinator.com/item?id=13909631, author: https://news.ycombinator.com/threads?id=sharkdp
- http://mathjs.org/ : used by mathnotepad.com
Make a free web version, maybe even chrome extension. Upsell on $9-$29 mac/windows version.
source code indexer
Write a simple source code indexer for C++ code. Use it for Sumatra code.
- https://github.com/OpenGrok/OpenGrok (in java)
Combines searching with browsing.
limote - linux remote, webterm
An easier way to do linux inspection/debugging tasks.
Start an agent written in Go on remote machine. It provides web-based UI either by talking to the server or to a local Electron app.
- browse, edit files
- systemd info (status of processes etc.)
- network information
- disk information
- view logs
- view (and explain) configuration
- recognize most commonly used software (nginx, apache, mysql, postgres etc.) and provide infor about them
- https://github.com/rapidloop/rtop : shows how to deploy an app over ssh in Go
- http://0xfee1dead.top/, https://news.ycombinator.com/item?id=15601027
- https://github.com/yudai/gotty, https://news.ycombinator.com/item?id=10075313
- https://github.com/acksin/strum : summarizes system state
- https://seashells.io/, https://news.ycombinator.com/item?id=14737118
- https://tmate.io/, https://github.com/tmate-io/tmate
- http://www.loadavg.com/, https://github.com/loadiavg/loadavg
- https://github.com/joewalnes/web-vmstats (web-based server stats)
Could start by making a server for https://github.com/yudai/gotty.
Then could write a windows GUI front-end that ssh to the server and runs a command.
gui version of https://www.atoptool.nl/index.php
Use web as a front-end. Mac and Windows native apps. Backend in Go. Mac uses thin Cocoa wrapper around webview. On Windows a C# thin wrapper around cef or C++ thin wrapper around the new project from awesomium. A remote agent is copied to a linux server and the UI talks to it using some simple protocol.
desktop remote log viewer
Like saw (https://github.com/TylerBrock/saw) but as a desktop app.
Allows to connect to various, local and remote sources of logs and stream them locally. Add a fast search, multiple tabs, combining multiple log sources into one stream.
Can stream any logs on remote ssh servers and whatever online services expose logs.
Crucial for success:
- fast search in the app
- fast display. Look into xterm.js to see how they optimized text display using canvas
Local application where one can get browse-based shell/ide to a remote serve. Like nitrous.io or c9.io but as a local app which allows running on your own server. Works by deploying a Go agent via ssh to the server, agent talking back to local app or to the server.
BTerm - terminal/ssh client for windows or web
Some ideas from DTerm: http://www.decimus.net/dterm.php
An improved ssh terminal. Improvements:
- miniature windows for switching between terminals (instead of tabs)
- built-in file browser of the remote system
- on-the-side command execution with capture of stdout
- log all commands and their stdout, per machine (ip address)
- intellisense for typed commands i.e. remembers all typed commands and shows a pop-up with matches for the currently typed command
- support for ec2 instances
- https://www.shellvault.io/, https://news.ycombinator.com/item?id=18873652
- https://landscape.canonical.com/ - might use some of their ideas
- http://www.coralbits.com/oterm/, https://news.ycombinator.com/item?id=6941281
Coderunner on the web
Llike http://itunes.apple.com/us/app/coderunner/id433335799?mt=12 except on the web, Go on the backend, add social features.
Make it somewhat like StackOverflow i.e. people can tag a given code snippet with "Question" when it doesn't work or it doesn't behave the way they think it should. We would have a separate section on the website showing questions and basically replicate StackOverflow functionality (adding answers, accepting, uprooting etc.)
Add "critique my code" section where people can post working code and ask other people to improve. Other people could submit improvements, they could be upvoted, viewed as diffs, people would earn badges etc.
Competition / inspiration:
- https://coderpad.io/ - 141.224 alexa rank (nitrous.io is 46.282, codepen.io is 1372, github.io is 307)
- http://runnable.io 725.589 alexa rank, it's like nitrous.io, runnable.com is the small snippet execution
- http://kopy.io/ - a pastebin-like thingy
- https://coderpad.io/ - for interviews
- http://www.firepad.io/ - a service/library for collaborative code and text editing
- https://www.hackerearth.com/ (https://code.hackerearth.com)
- https://blog.codeanywhere.com/openvz-tc-and-udp-flood/ - how to limit traffic
port https://github.com/lieff/minimp3 to webassembly
Better stock portfolio
A better visualization of how your stocks perform over time.
App that helps to find active forks for a given repository
Google Assistant for Windows
stacer in Go
- https://github.com/oguzhaninan/Stacer is written in C++. Rewrite in Go and figure out how to charge for it
re-implement https://github.com/XhmikosR/perfmonbar in Go
Needs to be downloaded and run locally. Write a Go program that talks to a server. Maybe charge.
port https://github.com/ShivamSarodia/ShivyC from Python to Go
It's a simple C compiler.
port https://github.com/lunet-io/markdig (CommonMark parser) from C# to Go
Make pandoc as online tool.
logging for serverless
web version of gotop
the simplest program that launches gotop remotely via ssh and shows the output in xterm.js hosted inside a web browser
Start with remotetop (rtop ?) that simply copies gotop over ssh to a remote server and launches it
Then provide web version that does the same but acts as a web server and shows in locally installed web server.
Then a version that uses lorca to launch in chrome.
Then native mac app that uses embedded web view.
Then native windows version that uses cef (or maybe electron).
mac gui over lsof
like https://github.com/sveinbjornt/Sloth but using web view (in a skeleton objective-c app or lorca) to display data. better ui
ttyd or gotty as a web service
https://github.com/yudai/gotty (12k stars)
https://tsl0922.github.io/ttyd/ (2k stars)
Probably not a pain big enough to make money, but the idea is to provide a server for gotty / tttyd - like program and charge people for use.
desktop app for Google Billing
Use API from http://cloudplatform.googleblog.com/2018/02/introducing-Cloud-Billing-Catalog-API-GCP-pricing-in-real-time.html.
Windows / Mac app that unobtrusively lives in background and shows the GCE spend. On Mac it would be menu bar app that expands to full window on demand and maybe even to a website where you can export the billing in various formats (csv, import as google sheets etc.)
wmi explorer for windows
https://www.sapien.com/software/wmiexplorer sells for $49 and has shitty UI. Write better UI in Go. For SEO build a website that has better UI than msdn and lists the same information (scraped). Also promote from my fork of wmi library for Go.
better screenshot taking
port https://github.com/bourgesl/marlin-renderer to Go
This is a 2d renderer for Java.
port https://github.com/forrestthewoods/fts_winsnap from C#/WinForms to Go
Rewrite Windows Firewall Notifier
https://github.com/wokhansoft/WFN/ is GPL and uses WPF.
Rewrite in Winforms and sell.
web version of Grafx
Compile with webassembly, like https://github.com/rhysd/vim.wasm
desktop version of https://github.com/jlfwong/speedscope
It's a tool for viewing sampling profiles, in the browser. Make it a Go backend/native app with embedded browser control for the frontend.
Implement the same thing for Go
build and try https://github.com/Pwootage/deadfad
A better way to do common things in shell e.g.
> se `dir(.).where(globMatch(name, "*.Token.java")).sortBy(size).select(path)`
seis the name for the program (Shell Executor)
The breakdown is:
dir(path)is a stream of files with their attributes
where(cond)is a filter that rejects items that don't match condition
globMatch(attribute, match)returns true if attribute of the item matches
matchper glob algorithm (simple file name matching). we can also provide
rxMatch()(or maybe for short just
sortBy(attribute)sorts by an attribute
select(attribute, ...attribute, ... attribute)selects only given attributes from the item
The big idea is that commands operate on arrays of items (attribute / value pairs) and the commands either transform the array (remove/rearrange/add) or the items (remove attributes.
Add other sources of data, like netstat-like information about network connection
- sse Scriptable System Explorer
Could also make it a GUI app that would allow showing the results in GUI. The same scripts could show the results in a window.
web frontend to gomacro
A web-based REPL for enhanced Go. The simplest implementation just hooks up a process to xterm.js
local nfs server for Google Drive, Dropbox etc.
Write a windows/mac app that allows accessing all the file storage services (Google Drive, Dropbox, S3, Google Storage, Digital Ocean Spaces, ftp, sftp etc.) as NSF. NSF because it allows user-space implementation and can be mounted on Mac and Windows.
Implemented as Go NFS server and a bit of UI to provide credentials and automate mounting on the client.
From UI perspective it would be better to write it as a samba server, but probably much harder.
- https://github.com/Zilog8/UNFS2GO : Go UNFS server that CGO with C library
- https://github.com/joyent/sdc-nfs : NFS server in node.js
- https://github.com/davecheney/nfs : NFS client in Go
make Mac/Windows binaries for JSON-Splora
It's an Electron app.
desktop version of dive (Docker image explorer)
web version of https://github.com/Microsoft/ProcDump-for-Linux
make windows build of fireman
https://github.com/firemanjs/fireman : fireman is an electron-based GUI for firebase