Small ideas for hackathons or small periods of time.

These will each be eventually updated with their own posts as the ideasexpand and they're given names.

The name is the most important part of a project. Without a good namethe project will fail.

Reddit Tree Navigation

Remember Prezi? You could click on different bubbles to navigate througha presentation nonlinearly, or could navigate it linearly with forwardand backwards arrow keys.

This has a lot of potential! Let's try it with Reddit threads. Anexample client to getstarted


Visiting a reddit post and prefixing it with the reddit tree website'sURL opens a window with the post's contents at the top of the webpage.Below this, there are lots of bubbles pseudorandomly scatteredthroughout the page. Their sizes are by default weighted by the numberof upvotes on the comment, but they can be arranged by number ofcomments in the thread branching from the comment or some other metrics(TBD).

Each bubble has the username, number of upvotes, and the prefix of thecomment. They may have smaller bubbles visible to demonstrate the nextlayer of comments in the tree.

Clicking on one of these bubbles does one of two things (not sure yet):

  • Moves the bubble to the top right of the screen
  • Replaces the text of the reddit post with that of the comment opened

Either way, the user now has access to a back button to go 'back up' inthe tree (we define clicking on a bubble as 'going down' the tree), andthey also can see all of the comments descended from the currently opencomment as first-class bubbles.

Each of these pages will also havte a bubble with a plus sign on it inthe bottom right of the page; clicking this opens a bubble that fillsmost of the screen, with the comment or post you're commenting onfeatured as a smaller bubble above it (perhaps it's visible as asemicircle under this bubble?). You can then make a reddit comment usingthe usual reddit facilities for this.



  • Visit a specific url on the reddit tree view website to open a redditthread.
  • View the post and each comment in a bubble.
  • Click a bubble to view the next level of comments.

Enhanced UX

  • Tree view can be accessed by prefixing a reddit URL thread with ourURL.
  • Post bubbles are sized proportionally to their number of upvotes orsome other ranking metric. You can see smaller bubbles around themthat provide an estimate of the number of comments in their assoc.thread.

Usable for Reddit

  • The user can log in and make comments themselves.

Complete Product

Rather than providing alternate views to individual threads, the programcan instead act as its own reddit client.

The main page of the site functions just like Reddit's home page, onlywith bubbles for each subreddit. The bubbles are weighted proportionalto the number of new posts, popularity of those posts or some othermetric.

When clicking on one of these subreddit bubbles, you open a secondarybubble view that showcases each post in the subreddit. A UI is providedto make new posts in the subreddit from this page.

Clicking on an individual posts opens the fleshed out idea above,providing an alternative navigational experience for all of reddit.

Version Control for Music

Live coding is a good idea, but it's meant to be 'played'; currentsolutions for persisting livecoding information require recording, whichcompresses all of the structural information associated with the music,or meticulously copying and pasting code then saving it all.

We can do better!

A 'recording' mode for a live coding environment could be implemented.

To start the recording mode, a new branch is created. Every time thefile is updated and re-run, it's recorded as a git commit in a project'scommit history. The commit message has notation demonstrating how long acertain commit was played (time from start of recording to first commitor from the last commit to the current one).

When done recording, you can switch back to the main branch. The newbranches are identified by a particular notation in the branch name todemonstrate that they were automatically created.

These recordings can be:

  • Played back. A menu is exposed to 'play' each of the created branches.When a branch is played, its first commit is run through the musicinterpreter for a specified amount of time, then the new commit ischecked out and re-run; this is identical to a user manually editingthe file and updating the played music, and tracks will only update ifthe code has been changed for them.
  • Exported: this can be done in the same way tracks are played back.
  • Converted to linear tracks. You can 'export' a branch to a lineararrangement to make it easier to edit and turn into a complete songwithout having to record it! This process generates the appropriatepauses in between the different parts of the music and loops to ensurethat the different segments of the track are run at the right time andin the right order. This allows artists to take live coding projectsthat have been performed. convert them into full-fledged tracks, andexport them without having to perform them.

DONE Spell Check Hook

I hate improper spelling or formatting. A linter that checks for properspelling in a project with git hooks! You won't be able to commit toyour projecct until you fix those spelling errors.

This is pretty easy with husky and eslint-plugin-spellcheck – and it's apain to use. Make this a separate git repo but do not explore thisfurther.

GitHub README Information Generators

These are tools dynamically queried by README files that showinformation about specific projects. They're lightweight and easilyhosted. https://github.com/anuraghazra/github-readme-stats is a goodplace to start for learning how to make one such banner.

Look into dynamically configuring and formatting text via a specific webquery. Perhaps a server can be made to accept arbitrary html/css andoutput an image with this information?

I'll also need a tool for converting such a file into a URL-compatibleversion, seehttps://stackoverflow.com/questions/1547899/which-characters-make-a-url-invalid#1547940.

Obscure programming languages web app

  • build it in cljs (clojurescript)
  • provide interpreters for all of the silly obscure programminglanguages i can
  • make it super easy for people new to the project to add and contributemore languages

    • support parsing BNF grammars and converting them into interpretersin the code as a sort of codegen, as a lot of the languages arespecified using BNF
  • reference: that one wiki. idea is to provide reference implementationsfor the reasonable ones to try out!


configure keybindings for multiple programs at once 'compile' to assigncomprehensive keybindings to all utilities single point of controlfriendly, easy to use configuration language that can 'target' differentthings

web search from terminal, and from rofi or something that just comes upthat i can type into

for projectional editing: provide clear auditory indications ofdifferent program behaviors to alarm us. eg wiring up jenkins tounsuccessful deployments on different pipelines, different sounds fordifferent themes. pluggable sound system with insertable sound effects;able to hear two events occuring at identical intervals but it isdifficult to see this in terms of time stamps!

working on linux

xournal for annotating pdf obs sdutio for webcam video audacity forautio editing video editing with openshot? pdfsandwich and tesseract ocrfor searching pdfs qemo/kvm for virtual machines with almost nativeperformance gnucash for accounting gimp for photo editing inkscape forvector graphics

org mode flow

org mode org board for offline archiving org capture for getting linksfrom browser git repo for tracking histroy org-mind-map can be useful tovisualize connections grep etc are useful for traversing everything!

working on os

richard stallman: live cheaply eric raymond: be independently wealthylarge, talented people: identify and support important or promising opensource projects. focus on how to improve the livelihoods of funding opensource software and interfacing with it

learning from casual friends

  • find the person at the office who knows things and buy them a beer!

become friends with amazing programmers. care about them and listen totheir frustrations we have lots of 'tribal knowledge' that comes out butthat we do not fully understand or internalize

making sense of all of the information :: mandate making content. tomake this content, you have to first learn – really understand – thecontent. to take an online class, you work towards some certification orend goal with which yuo can demonstrate the work. always do something toadd to github at least. if you produce more, you will always learn more

do not need to be good at all of the things; find a balance betweenbeing average in many topics and good in a few topics. getting a jobmeans you know enough about enough! bounce around and learn more aboutmore until you find something that really sticks.

one of the best ways to learn a tool is by using it at work – you'remandated to use it.get a job to learn the thing you want to learn! it'snot possible to do everything in your spare time, after all solveproblems around you without asking permission

three steps

sdl consume, produce and engage. first,look for the best articles, books videos on the topic and devour them.then produce something – blog post, slides, illustration tocontextualize the learning. finally, share with others get feedback andperfect the opinion. can now make closet to a complete picture

keep a running document (this wiki); append anything interesting to it.go back to it every once and awhile to reinforce the ideas!

blog :: keep logs of different categories and ideas. expand them asneeded. by always working on the most interesting problem available, youhave endless motivation. with this motivation you will not haveincentive to quit! find the passion.

thomas huxkey – a good liberal education is to know something abouteverything and everything about something. go deep on what you want towork in but become broad in skills with everything else.


stay at strangers place entirely for free anything you ant it t be –fill out profile with detail and you can pick out whoever you want tohost get ot meet incredible people and bring incredible people into urhome as both a host and proprietor! try this when u move off campus tosee who u can meet . if its still around

crossing the red line :: going from a basic feeling to a constantfrustration, beyond such a frustration to this feeling that you can domuch more than you thought you could do. the mind accepts even as thebody tires, and that the mind has no use – you are now mind over matter,and can keep going if you need to because you've triumphed!

webrtc signal strategies

websockets xhr and complete options sip over websockets xmpp/junglewebrtc data channel

sitting alone ate the crack of dawn makes me feel like my day haspurpose leaders must own everything in their world. there is no one elseto blame

finding time wfh

find alone time while off work go for a drive at least once a day makesure to have a sit down meal with family set boundaries, make surepeople know when you are working give other free time as well! get awayfrom work and clear your mind the most important thing to do is to avoidthinking about work when you are not doing it

think of someone you love but do not see often. how many more times willyou be able to see that person? how important is each of those meetings?

how lucky i am to have something that makes goddbye so hard they saynothing is impossible, but i do nothing every day

git rebase –interactive

optimizing resumes add relevant words to electronic resumes in whiteletters on whitee background add quotes from company websites or jobpostings in white letters on white space get resume actually seen byeveryone!

fastcompany avoid tracking analyze daily movementa nd anchor points aswell as doramnt periods leave cell phone behind during dormant periodsand purchase prepaid no contract cell store burner phone in faraday bagand activate with clean computer on public wifi network encrypt numberusing otp and rename image file with code. use tor to post image to anontwitter account, signalling communications request with a partner leavecell behind, avoid anchor points, and receive phone call at prearrangedtime, then destroy handset

computers are useless.they only give you answers. pablo picasso i refuseto do anything that computers can do - olin shivers

think of meat as a side dish, not as a meal

NEXT Experiments

https://garten.stordahl.dev/ some inspo

A website, similar to a 'portfolio', that highlights a bunch of coolexperiments I have going on with regards to web design.

The main page, https://experiments.chvatal.com, provides an interfacefor easily browsing each of these without using any JavaScript (orminimizing its usage). It allows users to easily browse the differentsample applications – potentially as inner HTML frames, but they couldbe in amy form. Users should have access to a preview of the experimentsin some way.

Regardless of presentation, the website should contain a folder of gitsubmodules – each corresponding to one of the 'experiments'. Theseexperiments are added to the final static site as links when the websiteis uploaded as part of a CI action or similar, though this can initiallybe done manually. Each submodule should display a website and shouldhost itself in a subdirectory of 'experiments'.

NEXT Portfolio

I've been thinking that my single page introduction isn't quite enoughfor employers, and that it might be good to add a portfolio withwriteups to document each of my projects.

Maybe I could do this in a cool, nonlinear way, like SSENSE does orsimilar to how the minimal photography websites approach things. Thinkabout how I can write about my projects and include them in a portfolio.

Ideally I link the repositories and the description for the project ispulled from the README of each repository so I don't have to do anyadditional writing. These READMEs should already include appropriatescreenshots, and whatever tool configures the portfolio website shouldbe able to render these. (It could also take the GitHub summary line andmake that the headline for the project!)

Perhaps 'experiments' and 'portfolio' are one and the same; perhaps'experiments' is completely abstract while 'portfolio' is concrete andprofessional. What's the best way to tackle this?

Idea journal with notes

i think i need a better idea of what i want first, this is kind of justlogseq mobile at this point lol social network features really interestme though, like how we interact with things and all

  1. very basic android app
  • take note
  • note recorded with geolocation, some other info
  1. backend for the notes
  • plaintext? git?
  1. map viz
  2. social network features
  3. federation? use react-leaflet on desktop (!!)


simple app: asks once per week if you're alive or have any problems yourespond with yes, no, whatever if you haven't responded in more than twoweeks (the servre handles this), an email is sent to designated people(ie parents) to notify them able to provide additional information for'status update' to let them know how you're doing briefly furtherconversaiton cna be synchronous of course

the idea chat!

https://t.co/WR8o4OwBeT?amp=1 this is that shit we've been waiting fori would love to spend some time developing an ecosystem with theplatform https://tfh.mit.edu/ i think i like twitter and similarplatforms as much as i do chat interfaces; i wonderif there's a way tocombine these ideas with those from social media

hack idea: nixOS gui

primarily leverages home-manager and that kind of thing allows you topick different programs you want to install on your system based on anice gallery that supports a subset of the \`nixpkgs\` repo you canselect your system type: e.g. arm, etc this should be for nontechnicalusers that want to use linux, so they don't have to mess with nix'sunderlying data if they don't want to, but they have a nice interface totheir code a needed – they can bring back up their program launcherthing and add, update, or roll back programs and systems as neededwithout touching the nix cli!

generative music


Personal calendar

I love calendly but wish it had integrations with other non-proprietarysoftware. Rebuild its interface (but more mininally) with the followingintegrations:

  • Jitsi Meet for calls (with support for using a custom Jitsi server, asneeded)
  • Smess chat meeting : ) - super powerful! Find a FOSS alternative toLoom video? Or make one?
  • CalDAV - i want to be able to use an open source calendar rather thanGoogle Calendar BS.

Generative poems


General Ideas

unofficial apis

TODO automate tinder

make requests to randomly swipe or matching spotify profiles or matchingface / gender factors


broadcast and share different user inputs from your device (ie mouse,touchscreen, microphone)

Retro computing website

Make it look like it's an overengineered 90s site with all of thequirks! Add a hit counter! Learn fromit and try to build little components of retro design into otherproducts.

Ideas from linus

  • long term note system
  • ephemeral note system
  • tracking people, what you know and what you've talked about. leveragecarddav contact system for this.
  • public availability calendar that enables scheduling times
  • workflows are more important than tools in general. focus on these!
  • own these tools; they should grow with your workflow!
  • https://soundsfromplaces.surge.sh/ sounds from places; records ofplaces visited and sounds recorded from them.

chat bot

elisa - can use to fuel isnt.online site with fake comments respondingto posts?

recipe app

https://www.ica.se/recept/kladdig-kladdkaka-722982/ we can do so muchbetter

  • fulcro: maybe with recipe website. get started on that at some point!

anonymous form website

easy to use and completely transparent to everyone