Retro dial-up network fun
Permalink | Author: Dan Dart | Published: 2018-07-27 00:46:00 UTC | Tags: 98 address dial-up dialup emulate emulation internet isp kernel linux modem nat network nostalgia protocol routing serial server windows
I remember those days when your computer hissed and made strange noises in order to connect to the Internet. Today, most of us look back at those days in disdain. But for some, we want to repeat the same kind of experiences that we used to, just for the pure nostalgia of it. Some of the most remembered operating systems can take us back to those days.
Windows for Workgroups 3.11 is remembered for its Terminal application and ability to use a multitude of networking technologies to connect to networks back in the day.
DOS also had limited support for networks - but this required third party software, unless one would talk directly to "COM1" as it would name the serial device.
Windows 98, although it has proper TCP/IP and Ethernet card support built in and there's therefore no need to use serial for internet when virtualising, for the most part it is remembered for its dial-up connections, since when we were using it, no one had broadband yet. But one of the best things about Windows 98 and serial is HyperTerminal! One can now connect to SynchroNet or other telnet services from Windows 98, just using HyperTerminal like dialling a phone, and possibly other things even with TLS, using socat. If you have a Windows 98 computer without ethernet, and a serial port between your host and Windows 98 computer, you can also connect to the Internet via this setup, by modifying the setup instructions to use a real serial port.
I'm not including instructions to emulate a "Lucent" win-modem because as far as I can see, qemu doesn't support these.
Although this isn't needed for dial up internet connection sharing, one can emulate a terminal with a SLIP interface too.
I'm going to explain how to pretend to be your own ISP, to old versions of Windows, and make HyperTerminal available for telnet fun, all via a virtual serial port.
To set this serial emulation up, I tried doing this through the VICE RS232 mode of tcpser, but it ultimately came up short. My VMs could use it just fine for telnetting places, but wouldn't go through pppd properly if I just socatted from its port to a pty, and made pppd listen on that pty. I think there was a protocol problem somewhere there, plus pppd kept hanging when I tried to make it listen on a TCP port - this is probably because it was trying to connect - but it is OK with a serial port. But this won't work with any old pty, it has to "look" like a serial port as well, and you can't just redirect physical serial ports using socat as if they were a file either.
The secret ingredient is to install a virtual serial port - its module is called tty0tty and it can be found here: https://github.com/freemed/tty0tty.
After installation (check the page for up to date instructions) you have access to 4 virtual serial port loops:
/dev/tnt0 <=> /dev/tnt1
/dev/tnt2 <=> /dev/tnt3
/dev/tnt4 <=> /dev/tnt5
/dev/tnt6 <=> /dev/tnt7
For use as a normal user, these should be chmod'd to 666:
sudo chmod 666 /dev/tnt\*
Anything sent to either end will be echoed on the other end, and this will act like a proper serial port, plugged in one end and the other end. For more information on this, see their GitHub repo.
Once this is set up, we can start the virtual machine. First, run qemu using the virtual serial line:
qemu-system-i386 win98.img -serial /dev/tnt0
Connect the other end to tcpser, which will emulate the phone line and allow you to dial a TCP connection.
tcpser -tsSiI -i 's0=1&k3' -s 57600 -S 57600 -l5 -d /dev/tnt1 -n 1=127.0.0.1:2323 -n 2=synchro.net -n 3=
localhost:23 -n 08450880101=localhost:2323 -n 08458457444=127.0.0.1:2323 -n "0845 845 7444"=127.0.0.1:2323 -n 0018002169575=127.
0.0.1:2323 -n 0018005433279=127.0.0.1:2323 -n 08450801000=127.0.0.1:2323
Explanation: Log everything. Set pickup to 1 ring. Set speed to 56k. Use the other end of the first serial line. Add a few example phone numbers (-n number=IP:port), (these I've used for ISP detection in Windows 98).
Listen to that TCP connection with socat and redirect it to a second virtual serial line loopback. I don't want it to die so I'll put it in a while true.
while true; do socat -s -d -d tcp-listen:2323 /dev/tnt2; done
In order to pretend to be our own ISP, we need to run pppd on the other end of that serial line. I couldn't use IP directly, this needs a serial line, and tcpser couldn't use a second interface, so we need to use socat. The IPs I'm using are within my current network. The rest of the settings are to disable authentication (for now, as I couldn't get it to work, which needs root), not fork the process so we can debug, not die if there's no call, show the debug logs, not communicate via serial (just IP), allow the connection to be seen by the LAN, adjust the forwarding parameters of the kernel appropriately and set a default DNS server of Quad9.
sudo pppd /dev/tnt3 57600 192.168.1.100:192.168.1.101 asyncmap 0 netmask 255.255.255.0 noauth silent nodetach passive persist debug local proxyarp ktune
ms-dns 9.9.9.9
If you'd like to define your own DNS mappings from your /etc/hosts, such as pretending to be the server for updates and ISP information (if you host a web server locally), add the appropriate lines to your /etc/hosts like this:
192.168.1.100 ispreferral.microsoft.com www.update.microsoft.com v4.windowsupdate.microsoft.com windowsupdate.microsoft.com ww
w.msn.com
and change ms-dns 9.9.9.9
to ms-dns 192.168.1.100
in the pppd
command, then run dnsmasq:
sudo dnsmasq -zdippp0 -2ppp0
The -z specifies only binding to ppp0 (to not interfere with other services running on port 53/udp, such as systemd-resolved), -d to not daemonise, -i ppp0 to specify the interface and -2 ppp0 to specify only DNS, not DHCP.
In any case, do the usual NAT stuff:
Allow IP forwarding...
echo 1 | sudo tee /proc/sys/net/ipv4/ip\_forward
And allow forwarding and masquerading in the firewall (replace wlp7s0 with your main interface)
sudo iptables -t nat -A POSTROUTING -o wlp7s0 -j MASQUERADE
sudo iptables -A FORWARD -i wlp7s0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i ppp0 -o wlp7s0 -j ACCEPT
...
Hooray! Connecting to phone number 1 will give us a "dial up" connection through our virtual serial line! 2 will give us a line to synchro.net for use in the Terminal or HyperTerminal application, 3 will telnet to our local system if we need that for any reason and 08450880101 is the default Windows 98 "find my ISPs" service, which I've also redirected to our "ISP" connection for good measure.
Coming next time: Can we emulate update servers and ISP information servers? Given Windows 98 only supports 128-bit SSL / TLS 1.0, I think it's time to break SSL.
Comments
No comments yet...
Post a comment:
Linux's Hardware Support
Permalink | Author: Dan Dart | Published: 2010-01-24 14:52:00 UTC | Tags: 64 bit core hardware i7 intel linux opensuse support ubuntu usb windows
Lately, I've been hearing a lot about "Linux needs to master .... to beat Windows". I'll now show you how that's completely false, and how it already has beaten it, by talking about hardware support.
Linux has been proved to have the best hardware support around - see this interview (edit 2021: archived) with Greg KH who's a kernel dev to see in-depth information. Linux had most support for hardware first, including: * 64 bit * USB 3.0 * Core i7
And many more. Conversely, it's easy to install the hardware on Linux. In windows for instance, half the time your hardware doesn't work because you downloaded a dodgy driver, or you have to install it off a CD, or it could even be the case that it bluescreens because the driver hasn't been verified by whoever. Fair enough, that hardly ever happens anymore.
The misconception that a lot of hardware doesn't work on Linux isn't because it doesn't, it does, but because quite often your distribution of choice doesn't ship with the correct userspace tools - e.g. a webcam viewer, a scanning program, an iPod syncer. It's not the actual Linux kernel that's at fault here, it's that the distribution vendors don't include software to manage and access your device. What we need here is a project that either includes everything or says "I see you've inserted a scanner, but you don't have a scanning application. Want me to install one for you?". I have seen openSUSE do this for me before, but Ubuntu sadly lacks this capability, which is the distro that most users allegedly use, so it needs it here.
The fact of the matter is, every piece of hardware I've put into my Linux box has been detected and set up by Linux, but I have had to install a webcam viewer, scanning application and TV viewer. Perhaps it's time for userspace tools to improve themselves and be as good as the kernel.
Comments
Daniel H (URL) said on 2010-02-11T20:05:21.926Z:I think Linux has excellent hardware support, especially for older obscure hardware. The only place lacking these days are where enormous work are being done already, OSS 3d graphics drivers.
It was a long time since i had hardware that didnt work in Linux. The situation can ofcourse improve with even better automagic but i dont think its any big problem nowadays.
Dan Dart (URL) said on 2010-02-01T22:40:42.24Z:Thanks there. So it's not just userspace tools we're looking for, it's also the proper abstraction libraries we need to interface in between as well.
I suggest that any time where you have had any problems, submit a bug report in the abstraction or library project, and if you can, help out!
Cheers
i80and (URL) said on 2010-01-24T16:03:26.387Z:Good post, and I largely agree with it. Linux has a bad reputation here, mostly undeserved. A stupendous effort has been put into making Linux drivers rule, and to a large degree it's succeeded. But we can't rest easy quite yet; it's not yet a solved problem, thanks to a bunch of tricky DVB cards, oddball sound cards (ALSA lags in driver development), and some graphics cards (Intel Poulsbo comes to mind). I wouldn't mind libmtp supporting my Samsung U5 OGG player either for that matter.
Aaron Toponce (URL) said on 2010-01-24T15:14:29.879Z:Linux has fabulous hardware detection, and even drivers to boot. The problem users complain about isn't a certain piece of hardware working, it's the application talking to that hardware, such as Ekiga talking to a certain brand of HP webcam. It's far too hit and miss, which is why it's not picking up more steam in the desktop arena.
Post a comment:
Best Security Practices For Your Personal Computer
Permalink | Author: Dan Dart | Published: 2009-11-11 00:51:00.001 UTC | Tags: anti avast firewall linux live password rootkit trojan virus vista windows worm xp
Many of you may be worried or concerned about the security of your computer. With threats of viruses, spyware, bank details being stolen, accounts cracked and vulnerabilities everywhere, it is natural to be paranoid.
Here are some top security practices:
- Change your passwords. All of them. Yes, really. It does make a lot of difference to the chances of a cracker being able to track you, monitor you or pretend to be you and not. Normally people advise you change all your passwords every 2 weeks. However don't write them down, and make them long and memorable using capital letters, numbers and symbols.
Also, try not to make your password a dictionary word, or even close to it. Make it look like random garbage. You can use mnemonics to help you remember them. Consider the following sentence:
"Do as I say, not as I do!"
This can help you remember and formulate the password: DaIs,naId! You could add numbers, or convert some letters to numbers, etc: Da15,naId!
Being 10 characters long, this is a medium strength password. Try to make a sentence about 14+ letters long for strong security, but remember nothing is unbreakable!
Install security software. A lot of users might think here: "I have a firewall. why do I need this?". The answer is simple: Just because you can stop things coming into your computer and going out, it doesn't make it invulnerable to threats such as downloaded malicious files or bad web pages. I recommend Windows users install Avast Antivirus for free. Linux users should install rootkit checkers, such as rkhunter and chkrootkit.
Update your system regularly. This is one of the worst things you can leave out. If you do not update every single piece of your system, using update managers and such, vulnerabilities may be discovered in older versions of your software. Once you have a vulnerability, anything you could do (e.g. visiting a web site, opening a PDF) might give intruders access to your system. So remember to patch, and turn automatic updates ON!
Install a firewall. You may have one already, but some dismiss them. Make sure they're turned on! If you have Windows turn Windows Firewall on, and make sure there are little to no exceptons (aside from the things that you REALLY need). On Linux you can alter iptables via a GUI like Firestarter if you wish.
Change your browser. If you use Internet Explorer, you might do better to switch. It is well known for being particularly vulnerable to attack. There have been more security holes in Internet Explorer than any other browser, and they have been more slowly patched as well. Firefox and Google Chrome are good alternatives. Check Secunia and SecurityFocus for more details. There is also a table of known vulnerabilities in the latest versions of many browsers on Wikipedia.
Start over While many things may get in the way, you have tried your best to rid your computer of viruses, but there is a good chance that the viruses you have obtained have not been removed, as they may be too new for the database, or are too malicious. (Remember the stories about Conficker, the massive Windows malware, that you couldn't remove with antivirus?). If all else fails, the best way to remove any threats is to wipe your disk completely. Do a complete reinstall. There are many tutorials available, just google for them, or follow the guides for Windows XP (edit 2021: archived) and Windows Vista (edit 2025: archived). If you have a recovery disk that came with your computer, then use this instead. In any case, remember to back up!
Back up your sensitive data. Anything you do not wish an intruder to get at would be best removed or moved to portable storage. Encrypted is best!
NEVER save bank/paypal details to your computer! If an intruder gets in, they can recover your passwords (regardless of whether they're locked out) and recover your bank details. Ouch.
If you have to do banking, do it on a Linux Live CD As this Washington Post article says, you can avoid the risk of Windows malware, spyware, trojans, viruses, etc completely if you use a Linux Live CD to bank online with. I would recommend you download Ubuntu and burn it to a CD-R using DeepBurner (using Burn ISO to disk option) or CD recording software of your choice, then boot from it. Here's how:
Reboot your computer. If you see the Ubuntu boot screen, then select your language and press Enter at the next prompt. If you don't, see if there is a message to press a button to select boot device. Press it and select the CD or DVD device. If there is no message, find the message that says to press a button to enter SETUP. From there navigate to Boot devices and put priority on your CD/DVD device (method may vary). Finally save changes and exit.
- Install Linux alongside Windows. If you like the CD, you can install it permanently so that you can install more software, by selecting the Install option on the desktop of Ubuntu, making sure to resize the Windows partition to whatever size you need. (Don't panic if resizing takes ages!)
I hope that this has helped you become more secure. Please comment if you have any suggestions or things I may have left out.
Comments
No comments yet...
Post a comment:
Xenon Project looking for helpers!
Permalink | Author: Dan Dart | Published: 2009-10-14 14:17:00 UTC | Tags: css design hardware html internet javascript linux mysql php project software sql web windows xenon xhtml
I started a project some time ago, which is for now called "Codename: Project Xenon".
Xenon is a browser-based GUI designed to be implemented on netbooks. The difference between other netbook OSes and cloud systems is that not only can you test it online, it will also be installed on netbooks - which will update from the Web automatically, giving you updates, and ability to use it without being connected to the Internet due to a local web server instance.
It will have a very small footprint - being built on very few programs, and so will run on very low-end systems, so it will bring life to your old computers as well.
We are now looking for helpers to make this project a reality. If you are a designer or a programmer who can program using any combination of (X)HTML, CSS, JavaScript, PHP or MySQL, then we would like you to help us out. We are afraid pay is out of the question at the moment, until we start selling subscriptions to the web service, the budget is zero.
If you have any ideas to help the project along, then please give us feedback!
To apply, simply email: dan.dart@googlemail.com
To visit the main website of the project, click here: https://web.archive.org/web/20100107134808/http://xenon.kevinghadyani.com/ (edit 2021: archived) To try out the web based desktop for yourself, click here: Try The Desktop (edit 2021: archived partially). Please note that it is nowhere near finished at the moment. To view the SDK and programming procedures to help you, click here: Xenon SDK at xenon.kevinghadyani.com/wiki/index.php/Developing_Apps (edit 2021: not archived)
Thank you, and have a good day!
Comments
No comments yet...
Post a comment:
Linux Myths Debunked
Permalink | Author: Dan Dart | Published: 2009-09-20 09:33:00 UTC | Tags: debunked linux myths operating system security trojan virus windows
- "You can't run games on Linux.". This is one that annoys me. People claim that Linux does not provide the necessary gaming requirememnts. But look:
There is a list of Linux games at s//icculus.org/lgfaq/gamelist.php which includes many famous and popular games such as Enemy Territory: Quake Wars, Quake 4 and the Unreal Tournament series. These have either been ported from the originals by independent game companies or originally programmed for Linux (as well as many other operating systems). They often run faster on Linux than Windows as the old ETQW system requirements page showed (required 2.8GHz for Windows, 2.0GHz for Linux). For games that are not supported on Linux, there are API layers (NOT emulators) for Linux that can run Windows programs, often faster than Windows can, due to memory usage. Examples are Wine (free libre/gratis), Cedega (subscription) and CrossOver (subscription). I have successfully run many Valve games on Linux such as Half-Life 2, and many mods of it, using the Windows version of Steam under Wine, and they ran great. Also check out https://en.wikipedia.org/wiki/List_of_open_source_video_games for many more cross platform free games.
"Linux has bad security". Anyone who knows security will surely agree with me here. It is in fact widely known that Windows has viruses, trojans, worms, malware and various spyware available for it. The makers of these programs assume you have Windows (as the majority of desktop users have at the moment). New malware is being made all the time and if you get a virus, you will likely not know about it until it has done its damage (unless it's quite old, in which case your virus checker will pick it up). Malware has been made for Linux but most past attempts at it have failed. https://en.wikipedia.org/wiki/Linux_malware Linux was originally designed for multiple users from the ground up, in contrast to Windows' 1-user original setup. This could factor in too. The password hashes used by Linux can be Blowfish or MD5. These are known strong algorithms, and they are protected by a "salt" to protect against "rainbow table" password cracking. Unfortunately, Windows uses a hash called "NTLM", NT Lan Manager. These hashes don't have salts, and your password is split into 7 digit segments before being hashed. See https://en.wikipedia.org/wiki/LM_hash . These keys are significantly easier to crack and don't require much time if necessary rainbow tables have been installed. In the times of Windows XP, no password was set by default for the main user or administrator, Though this has been fixed now, this was a huge security risk. Exploits in Linux and Windows have been widespread, but Windows has had many more serious ones. In fact in 2008, a Windows server could be compromised by attacking the SMB service in an attack called "ms08_067_netapi". This can gain System user level access to the system. Linux kernel exploits have indeed been found but have been patched significantly quicker (as open source usually is, as there are many more developers), and cannot be exploited from the outside. One more reason why Windows computers happen to be less secure is that the users running the system do not know much about security (they are less educated) and as the system is often not tightly locked down enough.
"Linux is hard to use". This is a complete joke in my eyes. I recommend Linux Mint at www.linuxmint.com to anyone to try it. You will find that most if not all of your hardware is auto detected (Windows does not have this, it needs drivers, and the only reason it works for you is that they have been prepackaged along with your computer), and it's simple. To install software all one needs to do is to go to the Install Software or Package Manager button in the menu and search for software. Repositories like this have been checked for malware so there is a very slim chance user programs will do harm. Ubuntu and Mint are world renound for their ease of use, and that means there is no reason not to check them out!
"Linux won't play my media/DVD/etc" It is likely that your distribution does not come with necessary media codecs (for legal reasons). That is why I recommend Mint (to anyone in a country where the software is legal, get the Main edition). This includes software to play DVDs and almost all media formats. Though it is not hard to install it in Ubuntu, the media players prompt you to choose a codec and install it!
"Linux is all command line". Proof enough is this picture:

Comments
Jake (URL) said on 2013-01-16T03:16:15.07Z:Thanks for defending Linux. You forgot to mention only that Internet wouldn't probably exist by now if it wasn't for linux servers (used most of all by Microsoft sites). Windows security is so "strong" that most self respecting ISPs operates from behind a linux servers.
Post a comment:
How to Conquer the Desktop
Permalink | Author: Dan Dart | Published: 2009-08-19 19:28:00.001 UTC | Tags: advertising change command line gui hardware linux naming packages standard windows
What does Sturmbahnfahrer mean? And who would have guessed the meaning of Stormbaan Coureur? They are different names for the same software: "a simulated obstacle course for automobiles".
Now grab someone off the street and ask them what Linux means. No? A "command-line" operating system is all you'll get from a lot of people. Most people who have used Linux before the year 2000 have had some sort of problem, due to usability, and it has put them off.
Now, ask them what Windows means. Sure, it's an English word and English is fast becoming the language of choice. It has two meanings: "A piece of glass" or "What my computer always says first". People don't know anything about operating systems. What your computer has is what it will have forever, is most people's opinion.
To change systems then is a frightening step to many and many won't be clever enough to understand the concept that something will "exist outside of Windows".
Wubi meanwhile (a program to install Ubuntu "inside" Windows) will just confuse people even more. If they understand Ubuntu is another program, they won't get why they can't just use their own programs.
People don't care about how free or open their system is. They'll buy Windows 7 because they'll probably hate Vista or be forced into it. We had a little legroom while Vista was out since Windows users started looking around for something different.
The thing is, people fear change. They won't move away from what they're used to even if it is fundamentally broken or flawed or just keeps crashing. The only way to wrench people away is to add more small Linux-based devices to the market. Netbooks are doing pretty well in this area. Due to people not recognising it as a computer (or a laptop) people will be more open to what is on it. The same happened with the iPhone. The software is different, yes, but the hardware is also different, so people feel that they can accept it.
To change people with an open mind (a lot of users are switching already) we need to follow these steps:
- STANDARDISE!! This is the most confusing aspect. Have ONE standard distro, call it something cool and DON'T mention Linux. Have ONE standard Desktop Environment. Everyone knows how to use it, it's all the same.
- Have ONE Package manager. That means ONE way of installing. It won't break if more people work on it. Have packages downloadable in a format inclusive of all the libraries. Also have an add and remove panel. Repositories are cool. They have made our software secure. Let's have ONE repository containing only GUI end user applications, named after their use (Image Editor not GIMP) and have essential packages built into the system. No library packages, no dependencies, Just download Image Editor and it works. Perhaps like Acorn or Mac OS, in which you drag and drop the program to your desktop and it works. If duplicate libraries from packages exist, keep the newer. If packages break, the library has dropped support for something, so don't drop it! If a console app exists now, make a standard frontend for configuring it. E.g. Web server package (inAdvanced section) installs Apache AND a STANDARD frontend, All its libraries are there in the package. One package file to install for Web server. One to install for File Server. And so on.
- Standard packages. Have ONE text editor. If it lacks features from others, add them. Have a beginner and advanced mode. Etc. Call them "Text Editor" not "nano" or "kate" or "gedit". What the hell are those?
- Advertising. Advertise like you've never advertise before! PRODUCT! And why you should buy it! It's cool! Let's all get on this.
- STABLE! If things can break, fix them BEFORE releasing. Ubuntu releases broken products (look at 8.10). Debian delays but releases when finished.
- HARDWARE! My brother's iPod Nano doesn't work in Linux straight away. This is one thing that will leave people ditching Linux. My 3D games I downloaded don't work. I don't want to have to bother with nVidia drivers. My camera doesn't get picked up. I can't sync to my MTP media player out of the box. Etc.
- No Command Line. No one should EVER have to type anything into a console. It's simple user-friendliness.
Let's all work on this and soon we'll have a user friendly system, easy to use, ready for the enterprise.
There is an ongoing project to conquer this challenge. Its codename is Xenon and it tries to do all this in the browser. It can be used on all devices and will be installed on small devices. To catch up with development or contribute, please visit: https://web.archive.org/web/20100107134808/http://xenon.kevinghadyani.com/ (edit 2021: archived)
Comments
Dan Dart (URL) said on 2009-08-21T15:06:23.882Z:@Luka I'm redoing all the programs in my web desktop to be easier and have the best advanced mode features, that is, the best bits from each. And not have emacs or vi or any existing program.
Unknown (URL) said on 2009-08-21T15:02:29.235Z:No, You haven't invented OSX, You've invented Android. Problem with your approach is Emax vs Vim problem. Not everyone will agree what should be the "one" program, nor should they. Diversity is what makes progress happened. Of course, not everyone likes to cope with it, so there is always room for making it simpler for those people.
Dan Dart (URL) said on 2009-08-19T20:46:12.811Z:@P. Static Ooh, noo.. Linux is the LAST thing I'd call it. I want to move away from that. It confuses and irritates people.
Haha, OSX. Well.. I guess, but less DRM encumbered and prettier. And portable. And way more different reasons.
P. Static (URL) said on 2009-08-19T19:50:43.519Z:Congratulations, you just invented OS X. :)
On a more serious note, I really believe that the kind of standardization you're talking about is fundamentally incompatible with what Linux is. It would require some kind of centralized control, like OS X has Apple, and Windows has Microsoft. One of the core philosophies of Linux has always been letting a bunch of coders do their own thing, and watching what happens.
Sure, you /could/ create an operating system based on Linux, all standardized and uniform and user-friendly and easy to understand, but do the rest of us a favor: don't confuse people by calling it Linux.
Post a comment:
What Free Software needs
Permalink | Author: Dan Dart | Published: 2009-07-05 13:21:00 UTC | Tags: bsd. competition free linux packages standardisation windows
When I was young, I remember wanting SUSE 9.2 Professional. It seemed like a good stable system with many good reviews. Afterwards (luckily) the distribution switched to GPL and I managed to acquire a copy of 9.3. It was very good for its time, its acheivements vastly outstepping anything I had previously seen. With instant search, good photo management, and all the rest, it seemed to be a good stepping stone onto which further development could be put upon.
A while later, I find that "cool" features seem to be getting less and less common. With the advent of Compiz a few years ago, coolness in the desktop rose a little, but with less common other features, and small incremental updates in most distributions, computing was getting a little more boring, with little to wow about. We now need a good jump up, or proprietary software will catch up. KDE 4 recently has been a downfall, mainly because people disliked it from being so very different to the very stable and mature 3.5 series, which I was in fact excited about at the time. When the "broken" Microsoft Vista followed after KDE 4's (premature) release, people managed to give Vista bad hype for being so out of step with current needs that it would not run software that ran on previous releases flawlessly. Between now and then, KDE 4 and Vista have largely sorted out their concerns. Ever since Vista SP1 and KDE 4.2, I think a lot more people are happy with either release. But many people still dislike this new "dark" theme over the previous light theme, and as such prefer to stick to the "dead" XP or the less-supported KDE 3.5.
Other problems we in the Free Software community face are:
Lack of standardisation. Yes, as much as I hate to say it, standard ways of doing things are waning. Especially in the Linux community, 500 different distributions are not a good way of doing things. Factoring out the "useless" distributions, based on whether they have been done before, how useful a distribution is, whether the same effect could be copied painlessly in another distribution, I think maybe 50 might remain.
Lack of standard package formats. As much as I still hate to say it, all Linux distros need one defining package format. Right now it is considered too difficult to develop for Linux, as there are so many formats to develop for. DEB, RPM, RUN, Autopackage, TAR.GZ, TGZ, and others make it difficult to develop for. I think we need a standardised package format and standard repositories that all distros can pull from. Having different ones means that it is currently difficult and long-winded to document how to install software on all current distributions. Here is what I think we need:
One format. One format, one download link for Linux, one way of packaging. Easy, simple.
One repository. One website serving download links for every conceivable package, in an installable static format (including every library it requires) or dynamic (for short downloads).
Every application. There are far too many repositories. There are in excess of 50 for Ubuntu and openSUSE. Why can't they just all be in the same place? Of course, to keep freedom-lovers happy, split it into free and non-free but essentially it's easier to get what you want now.
Every proprietary game or application maker can now package their game or application into ONE single format, upload it to ONE server (if necessary) or ONE CD/DVD/USB, and allow use or play to EVERY free software user.
Standard Libraries. GNOME and KDE are in pretty much fair competition. I cannot dispute or argue against it. Choice is paramount, but applications that don't work are unacceptable. If there were a library that could be used to create desktop applications that would run fairly on each, and not look foreign on one or the other, then it should be developed upon by everyone trying to provide a fair experience. People don't always have the libraries that are needed by some obscure piece of software, so they should be readily available, or the application should use something more common.
Backward/Forward Compatibility. Proprietary module or "driver" creation is impossible in Linux. If a hardware manufacturer wishes to hide the functionality of their driver, they cannot release binary-only drivers in Linux currently. I know that manufacturers should be encouraged to develop freely, but if there is no chance of this, there is no chance of that hardware working on Linux. The license makes it difficult but I believe that if a manufacturer provides one of those "Driver CDs" in that standard package format above with Module Versioning support on in the kernel, drivers do not have to wear out.
The kernel seems to not like modules from a past or future kernel, mainly because it is not at all stable, but also because Module Versioning does not work by default in most distros by default. Looking at Windows, applications and drivers from a number of years ago will work in today's release, and (in general) releases before the release of the application or driver. We need this back-forward compatibility for proprietary software vendors (who can't be convinced to switch to free) not to have to either release their code or keep compiling their code for each kernel or new release.
A hopeful fix I'm in the process of creating a browser-based desktop environment that will hopefully overcome all that, and allow for major cool features as well as ultra compatibility and ease of use for new users. It isn't Linux, or anything to do with current free software but it can lie on top of Linux/Solaris/BSD/Windows/Mac/whatever if the user so wishes.
https://web.archive.org/web/20100107134808/http://xenon.kevinghadyani.com/ (edit 2021: archived)
Comments
Dan Dart (URL) said on 2009-07-06T01:07:54.836Z:@xenom Distros do different things but maybe if we had stable, testing, etc repos for enabling?
@P. Static Oh no, mine is doing way more than fixing these problems. I'd love current distros to overcome this and standardise with each other. Otherwise, maybe a "1-click install" for new repos and packages is in order, which integrates with their package manager, whatever it may be.
P. Static (URL) said on 2009-07-05T16:24:15.792Z:so, the problem is that there are too many distros doing things too many different ways, and your solution is... to make a new, completely different distro? ;)
Unknown (URL) said on 2009-07-05T15:02:00.026Z:The package system problem come only with propriary software, with FOSS, the package are the problem of package maintainer of the different distributions. The one format is not a real problem for devellopers. If they want to make a package for distribution it is their problems, else it is the package maintener's problem. One repository for all distribution is not technically possible, because distribution have different package update system and motivation, many just take stable version (like Debian Stable) and other are bleeding-edge and rolling-release (like ArchLinux) and this is really good, I don't imagine using Debian on my personnal computer and ArchLinux on company server. I also think on different compilation options.
The lack of standard librairies is a problem, but not a big problem, we can easily have 2 ou 3 different librairies without problems.
Post a comment:
Cloud OS
Permalink | Author: Dan Dart | Published: 2008-10-28 16:08:00 UTC | Tags: azure blog cloud computer operating system os windows
I've noticed that a lot of companies have decided the Cloud (applications on the Internet) is the future. For me, I use a fair few to the extent that I don't use OpenOffice any more, just Google Apps. What particularly provoked me is that big companies are now doing it the whole hog. (see www.linux.com/feed/151604 (edit 2021: sorry, page not archived)) So I've decided to make one. It should be: Easy to use Intuitive Aesthetically pleasing Not be anything like today's GUIs
I've gathered a few people to help me with this big task:
From another blog, "5 things I wish Linux had" at https://web.archive.org/web/20090619065522/http://www.daniweb.com/blogs/entry3288.html (edit: archived) gave me inspiration so I contacted the author to ask him for help with ideas for this OS. He has since made a few more blogs about what Linux needs.
This person's blog is now located at: https://thefrugalnetworker.wordpress.com/
Another blog, "10 Features Ubuntu Should Implement" at https://web.archive.org/web/20120226075352/http://www.kumailht.com/blog/linux/10-features-ubuntu-should-implement/ (edit 2021: now archived but imagegave me yet more inspiration of what to include in my custom made cloud OS.
I'd like anyone and everyone to help make this Cloud system by any means possible, be that advertising, programming, or graphics so please contact me on (cloudos@dandart.co.uk) (edit 2021: change email) if you would like to be involved in this project.
Thank you.
Comments
No comments yet...
Post a comment: