Close
0%
0%

Silly software wishlist

Motivation to do some software projects by writing them down.

Similar projects worth following
Most of these will never be done. Some have been done. The screenshot is RPN http://heroinewarrior.com/utils/rpn2.c a command line calculator which has proved essential, over the decades.



It might feel like every software project has to be bigger than the last software project, or they're not worth doing.  In reality, before Cinelerra, there were a lot of smaller software projects that just edited audio.  You get to a big software project by doing smaller ones that eventually have something in common & appear to be better served if they were all combined.  

We might be in a downward trend in the size of software projects people consider desirable, with mobile computing & retro computing, but the size required to get discovered is definitely growing.  20 years ago, a silly command line program on a personal web page that extracted emails from pine would have gotten thousands of downloads & been enough to start a foundation.  People used to read through freshmeat.net just to discover new software projects.  

Nowadays, you have to look like a corporation, employ every marketing gimmick in the latest developer conference to get discovered in an app store & forget about any personal web page getting discovered. No-one reads through an app store digest just to discover new software projects.




ATC to tablet: Something that automatically captures instructions from air traffic control on a tablet.  Lions will never have enough money to fly airplanes, but based on goo tube videos, it's manely an arcane task of constantly listening to the radio for your call sign & memorizing verbal instructions they give.  The more cryptic ones are the METAR readouts.  It gets real crazy during landings, when ATC blasts out thousands of things & the pilots are shown writing them down, all while the airplane heads towards the ground at 300mph.  

Ideally, ATC would fly planes directly instead of bothering with radio dialog, but lions are keenly aware the reason general aviation is 100 years behind modern quad copters in its level of automation is because of the number of ancient hand flown airplanes around, where the only means of remote control is relaying voice commands through a human.

Based on digital assistant valuations, it should be trivial for a computer to listen for your call sign, do something to get your attention, translate the spoken commands into drawings on a map.  Despite having no flying budget, such a thing could start life as a toy program that listened to internet streams of ATC.

GRAPHER: something that polls text files & constantly updates a simple line graph with the data in the file would be useful. Graphing serial port output in line graphs has been the #1 task for lions for 15 years, but copying from a text editor to star/open/libra office is extremely tedious. It needs a way for the user to specify a range of lines in the file to constantly graph, with text values, wildcards, & by pointing & clicking on the graph. The range needs to be relative to the start or the end of the file.

An X11 program in C would take only a few hours to write, but lions would rather spend forever contemplating using web browser javascript so someone else could use it.

Big Falcon Simulator, a very high fidelity simulation of a very large rocket, with the highest quality models & sounds possible. It would accurately simulate flights or have a racing mode with knockdowns.  Probably similar gameplay to Asphalt Extreme, but using flight controls.  Previous simulators have horrible graphics. They especially suffer in their renderings of fire.  This is the most ridiculous thing lions can imagine.

bindiff.c

Show locations of differences in binary files without showing actual data.

x-csrc - 2.29 kB - 04/26/2019 at 20:02

Download

push.c

Move mutiple files to an android phone

x-csrc - 559.00 bytes - 03/09/2019 at 18:13

Download

dailymile.c

Recover the data from a dailymile.com account, except routes, comments, photos.

x-csrc - 10.06 kB - 12/09/2018 at 02:55

Download

diffdir.c

find the differences between files of the given extensions

text/x-csrc - 10.96 kB - 11/06/2018 at 22:42

Download

logcat.c

logcat a single process on android

text/x-csrc - 4.11 kB - 11/05/2018 at 05:15

Download

View all 7 files

  • remembering the screen program

    lion mclionhead09/08/2019 at 19:46 1 comment

    Lions used to discover odd UNIX programs by examining the output of ps on multiuser systems with actual multiple users.  When they got their own personal UNIX boxes, those days ended.  Screen was a very useful program lions once discovered, but forgot about.  Not sure if it was originally just used on vt100's & xterm ended up replacing it or if the resolution was too low to have more than 1 xterm.  

    It was forgotten for 20 years, but would be useful in today's world of having to run browsers in multiple accounts.  The lion kingdom's typical development environment has evolved into 5 xterms for 5 tasks which would best be consolidated:

    openocd

    telnet into openocd

    builds

    search commands

    text editors

    The basic screen commands:

    ctrl-a c creates a new shell

    ctrl-a n go to the next shell

    ctrl-a p  go to the previous shell

    ctrl-a " shows all the shells

    ctrl-a ctrl-a toggles between 2 shells

    More advanced commands:

    ctrl-a d detach the current shell, making it a daemon.  You can log out without ending it.

    screen -r reattaches to the daemon & shows the terminal output

    screen -ls shows the daemons

    Scrolling in screen:

    Screen by default doesn't use the xterm scroll buffer, but has its own odd buffer which requires using its copy feature to scroll into.

    ctrl-a ESC enters copy mode

    cursor keys scroll back

    ESC again escapes from the copy mode

    The alternative is forcing screen to use the xterm scroll buffer by editing /etc/screenrc

    This magic line should already be in /etc/screenrc & just need to be uncommented:

    termcapinfo xterm|xterms|xs|rxvt ti@:te@

    The xterm scroll buffer is not swapped when changing shells.  You still have to go back to abusing the copy feature for that.  Lions used to jump around the screen program like a pro & screen's disabling of the xterm scroll buffer makes lions believe it was originally just needed on vt100's.

    There is a split screen mode, which defeats the purpose of multiplexing shells into a single terminal but looks neat.

    The titles of the screens have to be customized.  In Linux, it's done by appending a kludge to print an escape sequence right before the command prompt.  It can't show the currently running program but it can show the prompt.  It takes some doing to delete all the other PS1 declarations & make sure this is the only one:

    export PS1='`whoami`@`hostname`:`pwd`% '

    # customize the screen title
    case $TERM in
        screen*)
            # ESC k ESC \ tells screen to set its title

            # \w prints the working directory
            SCREENTITLE='\[\ek`whoami`@`hostname`:\w\e\\\]'
            ;;
        *)
            SCREENTITLE=''
            ;;
    esac
    PS1="${SCREENTITLE}${PS1}"

  • Animating heroine statues

    lion mclionhead08/04/2019 at 06:14 0 comments

    The last time the lion kingdom was in Vegas, 15 years ago, it was captivated by the heroine statues holding up the roof.

    & stringing their bows.

    The idea occurred that they somehow should come to life, but lions weren't sure how or why they should.

    Then the lion kingdom discovered 2 more heroine statues.  The idea returned of how to make them come to life.  This time a plot emerged whereby they came to life at night, after the humans left, & danced. 

    Lesbian dancing was what lions were envisioning with every heroine statue.  It could be computer animated.  The key was a way of automating the dancing.  It would be a dance library for Blender.

  • Better audio from virtualbox

    lion mclionhead05/22/2019 at 23:31 0 comments

    A pulseaudio server is a good investment when running Linux a mac. Audio on Virtualbox still studders & only goes to 1/2 volume, after 20 years of virtual boxes & virtual machine corporations now at 12 figure valuations. Cinelerra predates both pulseaudio & jack, still using esound for networked audio, but pulseaudio can emulate esound. The /usr/local/etc/pulse/default.pa file needs

    load-module module-esound-protocol-tcp auth-cookie-enabled=0 auth-anonymous=1

    Then, the command line needs to be

    pulseaudio -v --exit-idle-time=99999

    They've firewalled it with multiple authentication layers & timeouts. On Cinelerra, the esound driver takes the IP address of the virtualbox host & a port of either 0 or 16001.  Playback buffer samples of 4096 has given the lowest latency without studdering.  While the playback buffer affects Cinelerra's stopping time, the audio continues playing until the later buffers in the TCP chain drain, which is always much longer

    Pulseaudio allows Linux to access the full dynamic range & doesn't studder. After years of being a $3000 brick, the mac finally has acceptable audio, though very bad latency. Better latency would require native pulseaudio support in Cinelerra, until the next protocol comes out.



  • bindiff

    lion mclionhead04/26/2019 at 20:19 0 comments

    Obviously, there will never be a meld for binary files, which detects transpositions of identical blocks of data.  There is a vbindiff tool which shows a hex view with the differences highlighted.  The lion kingdom has long had a tool for showing locations of changes without showing the actual data.

    https://cdn.hackaday.io/files/1380505906331200/bindiff.c

    For comparing disk images, you're more interested in equivalent sectors rather than bytes, so it takes a threshold argument to show differences by the sector.  There are still dreams of showing transpositions of identical data.

  • Move mutiple files to an android phone

    lion mclionhead03/09/2019 at 18:18 0 comments

    Frustrated with the adb command only pushing 1 file at a time, the lion kingdom wrote push as a shell script, then as a C program to get around the differences between the macos & Linux versions of bash.

    https://cdn.hackaday.io/files/1380505906331200/push.c

  • MP3 player for super commuters

    lion mclionhead01/20/2019 at 19:45 0 comments

    With monster commutes by car on track to resume for the 1st time in 10 years, the need has returned for a decent mp3 player.  Obviously, it would run on a phone, to have common code with the mp3 player used for running.  In a sign of regression, dedicated mp3 players are either no longer made or ridiculously expensive.  Phone apps no longer do nearly as much as what Rockbox or a high end player from 15 years ago did.  A high end player made out of an STM32 discovery board would not be useful for running.

    The mane requirements:

    Uses the directory structure as the playlists.

    Automatically resume playing with engine ignition.

    Recursively advance playlists.

    Easy deletion of songs.

    User interface for navigating songs.

    No dropouts.

    Retain playback position when quit.

    2 playback positions have to be stored: 1 for running & 1 for driving

    Manual playback from the running position or automatic playback from the driving position, depending on detection of the car speaker & whether it was playing when the engine was stopped.

    There were several competing ideas: a cheap, dedicated phone that stayed in the car, a reuse of the same phone for daily use, & a ground up hardware solution on an STM32 discovery board.  

    Bluetooth speakers are virtually free, nowadays, so scratch built hardware is pointless.  The speaker hardware just has to be modified to begin advertising with engine ignition & output line levels for the car radio.  To automatically start playing, the phone can rely on detection of the speaker or some alternate way of detecting the car's state.  In another sign of corporate dysfunction, Android automatically resumes playback & resets the volume when a TRS connector is plugged in, but doesn't resume playback or reset the volume when a bluetooth speaker is detected.

    Automatic detection of bluetooth speakers has been extremely unreliable, so it may require low energy or a wifi access point in the car.  The reliability of a bluetooth system has to be determined before going to a custom solution.  Requiring a TRS connector to be plugged in would be very painful.  

    The program would be some kind of service that always waited for the bluetooth speaker to become present.  The mane problem is the phone has to be plugged in to have enough power for such a long drive.  For rare, shorter drives, the phone could still be ignored.

    The STM32 solution tends to shine when it comes to automating the process.  It would store all the songs on its own storage, never have to be touched, & the complexity of detecting the speaker would go away.  It would expose a user interface over BLE which would be accessed by the daily phone.  It's a lot of redundant code, but so is the dual playhead idea.  There's also modifying playlists.  The lion kingdom went many years just moving an SD card between the car & the computer, but the future is web based file management.

    The user interface still requires firing up the phone, but the user interface was extremely rarely used, 10 years ago.

    Dropouts are a real problem for Android, since the spec requires it to stop music playback whenever in the presence of another phone.  Lions can bypass the spec by using their own software decoder, but it uses more power.

  • Recommendation engine based collabware

    lion mclionhead12/21/2018 at 20:44 0 comments

    The current crop of Atlassian acquisitions, githubs, slacks, skypes, jiras, bitbuckets, fabrics, crashlytics, timecard services, began as the collabware boom of 2005.  They're supposed to organize but these services seem to require a lot more attention & add a lot more complexity than before.  What's really needed is an organizer for the organizer services.  Perhaps it could give a sequential step by step workflow to do everything that every organizer needs, based on automatic prioritization & ease of the task.  It could be an Atlassian serializer, taking all their acquired cloud services & presenting them one at a time.  Step 1: merge a pull request.  Step 2: update a jira ticket  Step 3: send a build to fabric.

    A recommendation engine for collabware services could do a better job than a human trying to pick which of the thousands of cloud services to catch up with next.  The age old tasks of writing cold emails, merging source code, haven't gotten any easier either.  They just got renamed to text messages & rebasing.  They tried canned phrases, but they really need to compose the entire email.  

  • Cocoa pods dependency manager

    lion mclionhead12/14/2018 at 20:50 0 comments

    Cocoa pods is such a hideous mess of dependencies, version conflicts, & .lock files, the lion kingdom proposes another dependency manager to manage the cocoa pods dependencies. It'll be cocoaly podoro at a valuation of $50 billion. It'll have just 5 .lock files & 20 versions but will automatically install the right version of cocoa pods, set the right project lines, & create the right .lock files cocoa pods requires to install the right versions of your dependencies. They'll be the last project lines & .lock files you'll ever have to manetain.

  • Graphics in an xterm

    lion mclionhead12/12/2018 at 23:17 0 comments

    The lion kingdom originally wanted just a command line audio editor. It would draw the waveform in ASCII or embed monochrone graphics in the xterm, using the regis protocol or custom character sets.


    XTerm does draw graphics in the same window as the text. It has to be compiled using configure --enable-regis-graphics


    Then it has to be run as xterm -ti vt340


    printf("\eP0p"
    "S(C1)"
    "S(M3(R100G0B0))"
    "P[300,50]"
    "V(B),[+100,+0],[+0,-10],"
    "[-100,+0],(E)"
    "P[300,200],"
    "F(C[+100])"
    "\e\\");


    draws some simple graphics.

    You might use this to have an embedded system draw graphics through a serial port.  

  • Dailymile data recovery

    lion mclionhead12/09/2018 at 04:08 0 comments

    After much debugging, the 

    https://cdn.hackaday.io/files/1380505906331200/dailymile.c

    utility downloaded all 2136 workouts.  The lion kingdom used dailymile from 2014 until it was disabled in June 2018.  

    For the 1st time, the annual mileage could be plotted.  It definitely peaked in 2016.  That was the last year any humans of lion age were still running.  It was quite motivating to race against the humans, but all animals eventually outlive humans.  2017 was the achilles tendinitis.  2018 was the metatarsal.  Pushing the limits, trying new exercises & new footwear did it.

View all 46 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates