This page is an always in progress collection of many things. For the moment:
Ideas about software tools I'd like to have or I'd like to write myself, if I had time and resources.
A sort of Blogroll
There's a number of links which populate the Bookmarks tab of my browser. The fact is I commonly use at least two browsers, and in general I don't like the browser as a bookmark keeping tool. Some links are just wanna read articles, while others can be useful references. Here I keep the second group.
My useful links
Links & References
Alphabetical order, with link and keywords.
Two software I like, LaTeX and GNUPlot, have symbols. I've found a useful mapping.
- Keywords: symbols, latex, gnuplot
Unicode absolute minimum
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!).
- Keywords: unicode
I'm lurking all the time about Unicode, since it is kind of disturbing me. When I learned about how it works, and what I should do about it (at least in principle) it kind of destroyed my self-confidence while programming.
- How do I Unicode in C?
The wonderful world of software packaging!
A list of cool/funny/useful/idiotic projects I'll probably never find time to work on. The list is roughly sorted in subjective interest order, from the most to the least interesting.
As a notice, sometimes I get an idea and think of it, on how I would make it real. This usually happens when I'm using public transportation and I don't (have|want-to-use) an Internet connection. Then I never search it again. If you find something here which matches some software package you know of, consider dropping an email in my box! :)
Real Hax map
A slightly more serious concept than the Hollywood Hax Map: let's say you are in an internal network. You don't know anything about it, except your IP number and the router. You can apply many techniques to get some interesting North Stars (e.g. this is the DNS, that is the DHCP server. Trace-route here, ping there.
It would be really nice to represent everything over a graphic map, maybe with the assistance of a cleverly placed Nmap scan!
Some random thoughts:
- You are a now a
/32host on your lonely machine. But your network is a
/24. Are there other
/24? Which ones?
A gopher server
I recently (mid 2016) got interested in the Gopher protocol. I like many aspects of it (simplicity, the concept of text-based hierarchical structure for documents).
There are many Gopher servers available, if you search for it. I'd like to try to build one!
A pager which does not suck
IMHO the best out there is Less. I prefer it to Most who has some crazy keybindings. Still I feel quite frustrated when I've got to look at complicated log outputs (typical case of bad software).
I should elaborate more on what I need here. But for sure all the pagers I've tried lack of semantic contextualization. I need every day to parse logs filled up with time-stamped data, from different actors, different components for each actor, different lines for each component. And different threads also.
I was to the Expo 2015 exposition with my wife, when I realized how boring being in a queue can be. I came up with a solution, which probably exists, but I totally would like to see on a smartphone.
I'll write more on this topic. Or maybe not.
State machine tool
State machines are very common, and very difficult to draw. Even though the concept of state machine is fairly simple, when they reach some production complexity you want to represent them.
So there is Paper&Pencil which sucks, because you always draw that wrong.
There's also technology. Which is supposed to simplify your life, until some Java Guy will show you the latest Rational Software which will represent everything into a hardly readable XML. Of course it's gonna be horrible, so you have to use the UI editor. Which is so slow, ugly and complex. They generate code. Probably ugly.
A long time ago I had a nice idea about a Graphviz-style declarative language for drawing state machines in a What You See Is What You Mean fashon.
…Or what about the opposite approach? Define the FSM with code (e.g. there are some python tools for that!) press a button and get a graphical representation of it. Maybe it's faster to design the scaffold from code and get a representation to check visually than the other way around.
Hollywood Hax Map
In a good number of movies you can see the classic hacking scene, where the computer guy is doing some magic hacking. This usually involves the use of a matrix-style terminal, beeping sounds when screen scrolls, and a map with active connections and stuff.
So, why not having it IRL? Just lookup all your TCP connection against a GeoIP server! :D