site logo

Random rantings and such

IRC revival - / ircv3 - Why?

by Dan August 9 2018 10:19AM 3 years, 291 days ago

Where to start with this one? I guess I'll start with the premise: I'm saddened by the renewed interest in reviving IRC to its former glory. Things in the computer world seemingly are simply not allowed to die. They exist as bits, and can live forever. All they need is someone to tinker with them a bit to carry them into the next generation. It's hard for me to look at that as a bad thing in general. I'm pretty happy about that for the most part. Where as in the real world things rot, rust, and turn to dust. And that can be sad. But something new replaces it every time. How many human beings would exist on planet Earth if humans did not age past their prime? Would it be a good thing if there were 50 billion people here right now? Your family and friends might live forever but we would all be starving and drowning in a sea of humans. I'm not sure end result is positive. Ok, getting off topic here.

I probably started using IRC in 1995 or so, I can't remember exactly. I found discovered it during my first access to the internet, like many peoples back then, free AOL trial. Those things just came in your mailbox, and now you had a month of free internet, provided you owned a computer, modem and a phone. My family was not on board buying into the internet yet, and my main source of networking fun was still BBS's. So anyways yeah, I'm on AOL, feeling trapped in the walled garden that is/was AOL. Started searching for chat outside that. Discovered mIRC somehow, and ended up finding my way to IRCNet. Probably because its name literally began with IRC, I assumed it was the main place to be. It turned out it was basically just the most lawless and ruthless network out there in the IRC world, but that was amusing back then.

screenshot IRC, etc

I ended up in a channel named #Star69, dont remember how or why. Might have just typed it in, since I believe it was always a +s channel and therefore not in the channel listing. But regardless, it was full of people, from all over the globe. All carrying on with conversations. Mostly people my age or college age. It was not a large room, only maybe 20 regulars that came and went. This was dialup days, you weren't just connected 24/7 all the time like you are now. I made some friends there that to this day I still chat with. I got a lot of people I knew into IRC. Learned a lot from the friends I made on there. It was a great place. And at the time it had a lot to offer. And to this day if your going to run a giant chatroom, for whatever purpose, your going to need the fine grained ability to manage it that the various IRCDs offer.

Of course the WWW was taking over everything back then as well. And forum's quickly became the "new hotness". And it was hard to argue that it wasn't a more accessible platform. Access from anywhere, no need to be connected 24/7 if you wanted to be kept in the conversation, moderators had more abilities then they would have on IRC, your message history is there until someone scraps the forum. I was a member of a lot of automotive forums, and there was no comparable place on IRC. I don't know there ever could have been. But I hated forums for one simple reason: they were predominately used like chat software. Here you are, 1 full page of this forum conversation, probably took 15 seconds to load, and in 20 posts on this page it has about 200 words of content on it. It was ridiculously wasteful, that would have occupied half a page on my IRC client, and the irrelevant banter would happily scroll away soon. Of course on IRC, the entire conversation would scroll away soon, relevant or irrelevant, so hopefully you turned logging on if you ever want to refer to it again. Forum had you covered, you just hit the search box, clicked on the link to your old posts or started threads, etc.

And then a few companies started buying every automotive related forum in existence, and it was just a mess. Was an easy sell for people because the software could not cope with the volume of traffic they were seeing, and they were having to sink real money into the hardware. If that 90%+ nonsense content had been relegated to coming and going like it does on IRC, with a minimal protocol like IRC, they probably could have hosted their service at home. But it grew too big, and needed to much power to carry on, and companies wanted the forums user base to advertise at. Built-in forum searches all over had to get replaced with google search box, that just told google to search their specific site. It was and is pretty embarrasing really.

Then there were plenty of other chat services. AIM (aol), Yahoo, ICQ, etc. You preferably had an account everywhere, in case you came across that person whos only willing to chat with you via whatever specific protocol. I don't recall that back then, any of them stored message history, nor did they even store messages while you were offline. Eventually AIM stored messages for you while offline. So yeah originally you still needed this always on connection to receive messages. So it was not better than IRC in that aspect.

About 8 years or so ago, maybe 10, I tried to start-up a new IRC network that would connect to all the automotive forums out there. Someplace the banter could go, that could just be hosted as a webchat on the forum, or connected to with an IRC client of your choosing, whichever. I didn't expect to get far with that endeavour, because of trying to convince forum owners to make it happen. But I did sink a bunch of time into building a more modern network. Pulling up chat history upon entering the room was standard, so you could jump right in to the discussion. At the time by bot, but I think the intention was to write a service that could portray itself as all the users in the conversation history, so it looked perfectly natural in the IRC client. I remember trying to convince the ircd-seven developers on FreeNode to abandon the 512 character limit on posts, at least in a way where compatible clients could create non-standard rooms where this behaviour was allowed. That to me was step 1 into the future, without it nothing else mattered. Instead of that becoming the way forward, the already accepted approach continued, pastebin's and URL shorteners. Those things exist quite literally because of the deficencies of IRC.

I remember back in those days trying to share something like a preplanned map route URL from google maps, that URL just on a line all by itself could break the bank. Mind you IRCs character limit is based on the full behind-the-scenes command being sent. The 512 character limit was an ever changing limit, in reality based on the length of the senders user@host, the length of the target channel name/nick, and then finally the message itself. Every room you were in and every target you sent to, technically had its own messsage size limit. Its hard for that to get more absurd. I thought about undertaking it myself, and patching a few select linux clients to work with the new behaviour. But if nobody was interested in making it a standard, then I wasn't really interested in learning a bunch of new code bases, and tracking down all the hidden references to character limits, just to make my tiny empty network more useful.

member berries

And now suddenly, actual cash money is being put into trying to revive IRC, funny enough still ignoring the 1 major flaw (IMHO), best I can tell. I can't help but think my entire generation is so addicted to their own past, or "member berries" as South Park would say, nothing is ever really going to change. I guess its a product of ageing, because I can't say I know a generation not like this. But it's sad none the less. I mean considering we all still use and rely on Email. I challenge anyone who thinks Email is a legit system, to piecemeal together there own working Email setup today. Go ahead, run it on your own server someplace like was intended, don't install some prebuilt Email server setup that already has all 100 steps taken care of for you, just construct it yourself. Originally that meant an SMTP server and a POP3 server. A server to send to other servers, and one to allow a client to download their messages, and your done. Thats a mess of components now, for obvious reasons. When your finished your Email server setup, you have the most insecure messaging medium that exists on the internet today. Congratulations. I'd say there has been sufficient time to go ahead and create an Email2 by now, that addresses the obvious concerns but... lipstick on a pig seems to be the preferred approach to things out here on the interwebs.

It's a true disaster, that we manage to get by on. This nonsense has driven people into the arms of facebook, google, amazon, slack, (insert mega coorporation here), who happily create newer and better services, behind their walled gardens, whilst also happily supporting the basic services that make up the internet while not improving their underlying problems. It's a win for them, they will always have a better solution to offer behind their closed doors. And you'll pay for it one way or another, via cash money or your raw data, and time while your forced to consume more ads. If the IRC revival, which is just a bunch of bandaids on top of an outdated protocol, actually succeeded in drawing in or back large numbers of users, it would be downright disastrous for progress... MUCH needed progress. LONG OVERDUE progress. We're talking about systems we've continued to use in their basic form for decades, when these systems were thought up, implemented, and in wide spread use, in a mere matter of years. That says something about how people behave now. Solutions are adopted strictly based on greed (how much $$$ its going to make you), or how many member berries your consuming. If the previous generations we're as stuck in this mentality as people are now, we wouldn't be on the internet as it is right now.

I'm going to suggest anyone still drinking the IRC kool-aid, that you let go of the obsession with the protocol, and get back to the experience. IRC once was a very decent experience, lack of markup language or ability to insert imagery etc, was not a major downside compared to a lot of the upsides. Now its massive number of downsides is just beyond silly. Using it for any other reason, then because the people your trying to talk to refuse to leave it (like when a piece of software still has nothing but a mailing list to contact with...), is just your own obsession with nostalgia. I'm completely reluctant to plug any alternatives, because it won't matter. Anyone trapped in this mindset will find anything as an excuse to keep doing as their doing. So by all means, carry on. But I'm going to plug one thing anyhow.

Matrix. This is not an off the shelf solution to replace everything you love about IRC with. It might be one day. Its one useable server implementation is not efficient, its got some thought problems in its design. But it's in progress. And most importantly Matrix is just a specification, like IRC. It's the set of rules you can go ahead and build any client or server or integration you need on top of. And it's based around being accessible, secure, modern. This is exactly the kind of project that needs to be nurtured right now. Not putting bandaids on IRC so people can continue to use their favorite IRC client that stopped being updated in 2001. So anyways, thats my plug and what I have to say about this. I'm not trying to change where you want to carry on with your chatting, I could not care less. I just want all the Kool-Aid drinkers out here to be honest with themselves about it, so there's noone actively trying to harm progress just because they love the taste of those member berries.

Add Comment
Categories: $geek->stuff()

Programming & Opensource, then and now, as seen by me

by Dan August 8 2018 9:20AM 3 years, 292 days ago

I yammer on about this in chats or in person quite frequently, so it's about time to get it out on "paper". This is my view of things as a hobbyist level programmer.

The best I can remember, this is how I got into "programming".

  • BASIC:
    • or some clone form of. On the PC and on some whacky tape deck computer you hooked up to the TV, for the sole purpose of programming and running programs off the regular style cassette tapes used for audio. Wish I knew what happened to that thing. Was probably early teens like 13 or so.
  • Visual Basic:
    • 3.0, or 4.0, sounds about right. These were Windows 95 days. I didn't do a whole lot of this, I wrote a notepad program. Was attempting to write a remote control type program, to control the PC over the internet. I don't remember what it was supposed to do exactly, just that once I discovered Linux this all became pointless.
  • mIRC scripting TCL scripting (Eggdrop & Xircon):
    • Did quite a bit of this, mind you this was always considered "scripting". This is what passes as "programming" now though.
  • C++:
    • I figured I'd mention this, because technically I went out and bought a C++ book and gave it a tinkering, before deciding to learn C instead.
  • C:
    • Practical C Programming Some.Edition sits on my shelf still. Had a real hard time opening the door into the world of C. Had an ephiphany about pointers one day and finally could understand what I was looking at, and it wasn't so bad from there.
  • PHP:
    • This was just natural, as all the functions from the standard C library were right there for me. And the dynamic web was exploding onto the scene, so I've done and still do a lot of PHP.
  • Python:
    • Only dipped a toe into writing my own things in python.
  • Javascript:
    • Same story, as far as writing my own javascript, very minor stuff.
  • Misc:
    • Obvious odds and ends stuff, bash scripts, etc.
  • Java:
    • No, not really learned any useful Java. Still poking at it here and there when I mess with Android apps.

Somehow did not get into Perl. As a language I don't have any hate for it. But the way it got used, much like today, is what turned me off: the endless dependencies. It made everything annoying to install. Made it the slowest running option that was available to accomplish whatever task you needed it for. I did my best to avoid Perl programs.

And to now skip to the point of why I'm writing this post: All I see now is Perl. In a non-literal sense. What I hated about dealing with or using Perl programs, seems now, to be the One and Only way to do software now. Writing a (insert simple program here) calculator program, with a dependency tree that pulls in 300 other packages, is not frowned upon. It's even encouraged. Don't reinvent the wheel they say. Whilst simultaneously writing a new calculator app, failing to see the irony.

There is some theory that letting someone else, focus their time into whatever component you need, will net you the best component and save you the most time. Not sure theres any theory on whether your program will be efficient, I hope not because thats not usually how it plays out. But efficiency is also taught as an afterthought. An afterthought that often never comes to light. But back to the first theory. I'd like to focus on that one a little bit.

I remember when poking around attempting a go at C++, and learning C, a long with plenty of other people, the Boost C++ library was all the rage. All the tutorials I was finding used it, I think the book I was reading relied on it (not sure). It turned me off messing with C++. I was running on a copy of RedHat 5.2 that I purchased at the store (wow, I forget what it was before it was GameStop ???). That machine outlived it self by years, because I installed everything by hand from source. At some point I even had to update libc itself from source to keep going with it. So I was very aware of every dependency required. I'm partially guessing the boost libraries were a huge thing to download (on my dialup connection) and store (on my tiny hard drives) and compile on my slow computers. Back then 1Ghz was blazing fast, but this is all probably before I moved onto those greener fields, I probably had a Pentium 2, 233mhz or slower even. So every little thing added up to make a big negative impact on wanting to use said software at all.

All those annoyances aside however, there was still the problem that, here I am trying to learn the art of programming, and everyone is trying to skip most of that and show me the way to all the premade functions for anything I could ever want to accomplish. I was, and am still, very big on learning how things work. I was the kind of kid who would fix a problem, and if I didnt understand WHY whatever I did fixed the problem, then I would break it again and fix it again to try and understand. That might sound crazy but I did that frequently. Now days I'm too old for that most of the time and am just happy that whatever it is, is working again. I'll point out also that, back then, Google was not the saviour it is now. It could not magically answer all your questions. Simply because the answers weren't even out there yet, or the questions for that matter. I dont remember any stackoverflow type websites, where today, you'd be hard pressed to come up with a question that hasn't been asked and answered before, in explicit detail. Getting into programming now is very accessible.

What boggles my mind however, is how things are done, or not done perhaps. Watching the github style workflow in a bureaucratic project, is absolute torture for me. People are coding in languages very easy to use and understand, they have all the answers at their fingertips, they have all the integration tools you could dream up, there often even being paid for this work... and yet, snails pace at best. Proceeding that wonderful new way, you had the WWW take over everything, which murdered the performance of everything (and still does to this day) but, it was fine they said, PCs keep getting faster. Its funny to me that your phone, where they need performance to keep your battery going all day, etc, is probably the only place people install programs anymore. Once upon a time folks, you ran programs on your computer. Actual programs, for all the various things you did. Not poorly made javascript in your browser to accomplish any and everything you do in a day now. Theres a number of advantages to this new way, but theres a number of downsides also. One being that, IMHO, this helped push opensource software off a cliff to its death. Stuff that you used to grab off to host on your own premises, got replaced by companys building walled gardens. And it was an easy choice, because of the very inefficient way everything was being programmed and utilized, you actually did need real power & bandwidth behind your service. And someone to babysit it for you 24/7 because its going to be updated six times a day, you dont want to deal with that. So insert Cloud buzzword here, and hop on board, because software sucks too bad to manage yourself now, and requires too much hardware.

And welcome to the new release cycle for software. How many times a day would you like to update this program? Does twelve sound OK? Why do I see major security vulnerabilities patched on an almost constant basis. Back to what I said before, we're working on this "dont reinvent the wheel" and "let the experts handle it" philosophy here, then why is all software continously riddled with bugs and vulnerabilities. If this way actually worked the way people think its going to, then this would not be the case. But here we are. In a system that you really need to do daily updates, if not more, of all your software, to keep safe (hopefully). Which is why my android comes out of the box setup to do updates anytime an update is pushed. Which for some things is multiple times a day.

Here are the basic problems I see with software now, and they are somewhat related.

  1. Very few actual programmers out there. I'm sorry if this view seems eliteist, but thats not where I'm coming from with this. Everyone is more of a.... Project manager or something now, then a programmer. You search out Frameworks to enable most of what you think you'll need, you seek out of the other Components you think you'll need. Then you learn just enough programming to tie those things together into a "working" program. Which Its not uncommon your share of the work is the smallest code of all the included dependencies. You might have a huge listing of your works on github, and yet 50k total of actual written code by yourself. Its not uncommon that you release it in Proof-of-Concept level quality and then walk away. Whats ultiamtely crazy about this, to me, is that often times people are being paid to make this stuff. They have a 9-5 at a company and this is what they have them working on. And this barely hobbyist level stuff is coming out of it. This brings me to #2.

  2. People create and abandon, proof-of-concept level stuff, all over the place. Github is full of barely workable projects that are considered a release. I've written lots of stuff like this. My POC level work has never seen the light of day. Now I dont neccassarily think thats the right way to go about it. I would have preferred to had community involvement and seen the projects live on for another day, sometimes. And sometimes the projects were more about learning than putting out there as something that should expanded upon and used as reference material by others. The problem I see with all this POC software out there, is that people want to create projects that haven't already been created. They don't want to "reinvent the wheel" (that wheel just keeps following us). So best case scenario github will be full of similar projects, as long as they are written in different languages. So here you have all these unfinished/unpolished options for software. Hard forking is generally frowned upon... its amazing how infrequently it happens. The "pull request" workflow is not all inviting. The odds your wasting your time and won't be commited into the code are high. The odds that someone on the other end of that will have you doing so much additional work to get it accepted, that they should probably be paying you, is high. So you have this enviroment now where people program and release unfinished works, that they may have no intention of continuing with. People eat it up though, if it works to any degree at all they will hold out hope that it can improve. New programmers don't want to mess with that wheel, kind of like research scientists don't want to redo old studies, because that doesn't get you published. And forking projects is rarely used and frowned upon. I recently started using borgbackup which is a fork of attic, and I thoroughly read the discussion on github they had before the fork happened. It was painful, because there was a lot of people that didn't want to see that happen, but the author confirmed he had no time for this anymore right now AND had no interest in allowing contributions. That right there clearly should have ended the conversation but it went on for much longer, and I believe to this day the original author has not made any changes in 3 years. And so this was a rare example of an actually useful piece of software carrying on life with a fork.

  3. Closed source software and Open source software had 2 real differences in my mind, all along. (NOT in ALL cases, obviously). But to been an opensource programmer, you had to want to be doing what you were doing. To program closed source software ($$$) you have to do whatever it takes to avoid being fired, and the bar for that is clearly NOT very high. We live in this strange time now where Microsoft is the largest (2nd largest?) contributor on github. The first largest ($$$) company, who is the best at getting nothing done with all their time and manpower, is also the largest single provider of opensource code. What planet am I on? Microsoft? If microsoft dominated before hand, none of this ecosystem wouldn't even EXIST. Quite for real, if Microsoft had been able to have their way of the years, just none of this would even exist, the entireity of the Internet would be different. Truly, the whole ecosystem exists despite microsoft, not because of it. Opensource software used to be actually, good alternative options, if not better to closed source ($$$) stuff. Not just on your wallet. We aren't running this internet on a backbone of Windows NT right now, and there is a reason why. So I'll just continue this as #4.

  4. Programmer is simply a good and valid career choice. It's easy to get into, learning programming does not take the investment in mental resources it use to. It pays good, its the future. Its a no brainer. I've known people and still know people, who never had any interest in programming and maybe even computing in general, go into computer science in college. And I was always baffled by this, as if taking 4 years of courses is suddenly going to give you an interest in this stuff. People like to proclaim they need the structured enviroment to learn in, but I really don't think thats the issue. Coding has been a barrier free enviroment as soon as you aquired a PC. Internet is a huge bonus. It's all right there to tinker with. So the biggest difference now is the amount of software (at least in the open source world) thats put up by disinterested parties. Not to be rude, but maybe its even more then just disinterest, maybe that lack of interest stems from not being as talented in this area. Opensource always had companies behind it, but also a mass of nerds who enjoyed making a free alternative to something, and enjoyed making it better.

My android phone is mostly full of Apps, paid or otherwise, built by nerds. I'm not using this as an offensive term, I'm saying these people honestly had a passion for what they were doing. It's also full of commercial level stuff by paid programmers. The difference is astounding. It's like, heres 2 options for an App:

  • Written by a hobbyist, probably in their home office during free time, takes up 1MiB of your flash storage, works amazing, has great feature set, programmer interested in improving it.
  • Written by a company (unknown amount of heads behind this), at work being paid, takes 100MiB of your storage space, uses half your ram to run, doesn't work that great and is lacking features from the former App.

It's a completely absurd everyday scenario. And I'm more then happy to pay those first people whatever they want for a genuinely good peice of software, because its so rare.

And so basically, after that giant mess of ramblings, I think this is where we are at now. Software is not only not managed by people who actually enjoy writing software, its not programmed by people who enjoy it either. It's really not about genius level intellect that is the divide between, some people produce more amazing stuff in a week then a whole company does in a year. There was different motivations behind the whole thing.

Unfortunately I think the new wave of truly interested programmers are learning all there cues from the generation of disinterested ones. The "dont reinvent the wheel" and "let the experts handle the details" way of thinking is not going anywhere soon. And yet neither is the constant reinventing of the wheel. I mean seriously, what are you writing that has not been done before? So it's a moot way of thinking to me. And who are the experts handling all those various components and frameworks for you? If you have any belief in the above pile of ramblings, there aren't a huge pile of experts out there anymore. And frankly while your pulling in your 300 package dependency tree, you aren't paying any attention to who wrote any of that stuff.

Thats my thoughts on that, for now. More another time.

Add Comment
Categories: Programming, $geek->stuff()

Issue tracker -> TODO list : Worth the effort?

by Dan August 6 2018 3:02PM 3 years, 293 days ago

Started using Trac as a personal TODO list for all of my various chores. Did not choose Trac for any very specific reason, I've just used it for a long time and was quite familiar with it already. Was not sure if an issue tracker intended for software development was going to be very useful, but a couple months in now and I believe it has been.

I started with a fresh instance of Trac. Added most of the neccassary & commonly used plugins. Changed all of the language in the ticketing system. Priorities simply became, Highest->Lowest (1-5). Components became anything that was sure to have a number of tickets associated with it. Around here that equates to a number of House / Yard related options, Automotive, Servers, etc. Milestones is even being used to track progress of things such as "Interior remodel". Ticket types lost all the software leanings and simply became: todo, repair, improvement. See no need for Versions, nor Severities.

Made use of the subtickets plugin for when those problems snowball into a much larger thing, I can keep track of whats going on. Using the Keywords field of a ticket to mark the tickets that have things I need to buy at the store. That way instead of relying on my always incomplete shopping list when I'm at the hardware store or someplace, I View Tickets with 'store' listed in the keywords, and I can deduce from there what I'm looking for.

I'm finding it useful in tracking general linux administration type situations as well. Setting up a new & more robust backup solution for the home network recently, I've kept track of all the details as comments to a set of tickets. I find when building custom solutions (or even using out of the box ones) where you set it and forget it, that by the time I need to get back in there and maintenance it, the details of all it all worked will be lost to me, and I'll be starting on google all over again, gathering up information. Hopefully now I will be able to just find the ticket in my system and see exactly from start to finish how I setup, any comments I had about why I chose todo something a certain way, details of any problems or concerns I had.

Trac (obviously) even ties in with an SVN/Git repository, so for these computer related tickets (or even more, haven't figured out in what way just yet) where your writing your own scripts and such, even that functionality is still useful. Of course thats the more common use of software bug trackers so no suprise there.

I'm about 75 tickets in and almost a couple months of use, and finding it helpful. So worth the effort? My vote is Yes. If you found this post searching around for ideas like I was, it could be worthwhile.

Add Comment
Categories: $geek->stuff()

Ask your doctor if robotic training wheels are right for you

by Dan June 25 2015 2:34PM 6 years, 336 days ago

Future biker

Add Comment
Tags: videos Categories: Uncategorized

Going to catch me a leprechaun today.

by Dan June 9 2015 5:56PM 6 years, 352 days ago


Add Comment
Tags: photos Categories: Uncategorized

Back from the dead. Again.

by Dan June 9 2015 4:20PM 6 years, 352 days ago


Add Comment
Categories: Uncategorized

RSS Feed