Updated Websites
Permalink | Published: 2024-11-01 21:45:03 UTC | Tags: updated websites Hello all!
It's been a bit.
I've updated my websites to the latest mtl standards to simplify them and make coding them less complicated and am ready to add the newest things related to each of them. I have also added a blog to my ham radio website!
As you may or may not be aware, JolHarg (Limited) is no longer a company, but JolHarg is instead an alias - a username, to avoid legal confusion.
Well, that's all for now, more content incoming!
Comments
No comments yet...Post a comment:
Raspberry Pi Pico (W) on NixOS
Permalink | Published: 2022-12-20 19:16:15 UTC | Tags: raspberry pi pico w nixos If you're following my GitHub, you'll know I've got a new testing project for the Raspberry Pi Pico (W).
Here's the shell.nix
file again:
with import <nixpkgs> {};
runCommand "pico" {
shellHook = ''
export PICO_SDK_FETCH_FROM_GIT=on
export PICO_EXTRAS_FETCH_FROM_GIT=on
export BOARD=pico-w
export PICO_BOARD=pico_w
'';
buildInputs = [
cmake
gcc
gcc-arm-embedded-10
gnumake
pico-sdk
picotool
python311
];
} ""
Putting this in the root of a directory allows one to compile Pico (W) projects, avoiding polluting the global environment.
Huzzah!
Comments
No comments yet...Post a comment:
This blog now built with GHC 9.4
Permalink | Published: 2022-10-10 01:08:02 UTC | Tags: blog built with ghc 9.4 Double huzzah!
This website has now been successfully built with GHC 9.4!
Fewer bug reports and overrides to support it, but you can always check the website sources: https://github.com/danwdart/websites.git
Very good job to you, Haskell and GHC maintainers!
Comments
No comments yet...Post a comment:
Google tip: Set ?authuser=[email]
Permalink | Published: 2022-09-12 08:44:03 UTC | Tags: google tip authuser email Having lost my cookies a considerable amount of times, and having multiple Google accounts on-the-go in one browser, I am often faced with bookmarks that are out of date, because they point to something like ?authuser=1
, meaning "the second account you happened to have signed into".
Now, you might see where this is going, the second account I happen to sign into one time isn't always the second account I happen to sign into any other time, so it frustrated me considerably until I found this little shortcut:
Just set ?authuser=[email]
instead of ?authuser=[arbitrary number]
!
And yes, this also works with /u/[email]/
as well as /u/[arbitrary number]!
Comments
No comments yet...Post a comment:
Welcome to my new tech blog
Permalink | Published: 2022-09-11 22:24:11 UTC | Tags: welcome to my new tech blog company Welcome to my new tech blog! It's intended for things attributable to JolHarg (e.g. release announcements, tutorials, news, assorted tech things), in order to separate my non-code/non-"official" thoughts and opinions from those of my company, for what it's worth. This isn't due to anything I plan to say, but rather so that people who would like code-only thoughts can get them. I've moved some of my older posts from my old blog to here if they were better attributed, too. Please let me know if you think I've miscategorised anything. Please also remember to reset your RSS feed reader, if you use the atom feed.
If this is your first time here, my non-tech blog is here, and its atom feed is here
Also, the comments are back!
Comments
No comments yet...Post a comment:
Error messages have still not changed
Permalink | Published: 2022-09-11 21:56:03 UTC | Tags: error messages not changed It seems that in the last ten months, since the last post about error messages, nothing much has changed.
I am using my best efforts to ensure that in software I create or modify, that error messages are as verbose as they are required to be. However, I have not received the same treatment from other software vendors. It's all very well to need to hide the "real" error message when something internal goes wrong, but at least to have a correct, friendly client-facing error message. Alas, this has not yet happened, despite it being given a chance. Is there ever any other reason for this?
Yours confusedly, and confoundedly...
Comments
No comments yet...Post a comment:
This blog now built with GHC 9.2
Permalink | Published: 2022-03-24 19:13:00 UTC | Tags: blog built with ghc 9.2 Huzzah! This blog and set of websites has finally been built using the new latest version of GHC.
Whilst it's not doing anything that special, it marks the ability to use this version to compile all its dependencies, which have had to be modified, bug-reported and pull-requested to get it all to work, and worked around when these have not been responded to.
I've forked a bunch of my dependencies to get them to work, and am very happy that I'm free to update the dependencies I use to work for my needs, and that's really the power of free/libre open source software.
I'm actually quite surprised that the release cycle of GHC itself seems so quick, and it's the main libraries that many people use that lag behind.
TTFN!
Comments
No comments yet...Post a comment:
Sorry, something somewhere went wrong!
Permalink | Published: 2021-11-12 00:16:11 UTC | Tags: sorry something somewhere went wrong Internet issues?
"You're not connected to the Internet!"
It's a phrase I see a lot, given I live in a rural part of England that they somehow haven't completely paved with your regular standard Internet.
"Yes I am!" I confusedly say, and look at my phone.
"Well it's not my fault!" I give out, irritatedly, feeling a little offended as the app blamed me for it.
But what does that mean?
"Error." ... Huh? "Error 276492." ... What? "Sorry, we ran into a problem." ... Which was? "Sorry, something somewhere went wrong." ... What with?
I see these too often and in too many places.
The problem
It's completely useless to have a generic error message. It simply does not specify a good reason for failure, and usually suggests no remediation.
It's all very well wanting to hide some critical information which could lead to somebody cracking your servers wide open, but it's no good for the end user who doesn't know what to do and gets confused and dissatisfied with your app and doesn't know why.
A solution
There are plenty of good error reporting libraries, and plenty of good ways to do it. It's pure unconstructive laziness to not report proper errors to end users. Here are a couple of suggestions on what to do to not annoy users:
Specific problem, remediation, advice and kindness.
Examples
"Sorry, our database might be offline, so we're looking into it. You don't need to do anything, so maybe try again in a few minutes."
"Looks like the damage control suite went kaput. The engineers are on their way. Don't worry about it."
"Oops. Some faulty code made its way onto our servers. For now, please try your query again, and we might have something better for you."
"Okay, the place you've tried to visit isn't allowed for your user level at the moment, it's locked off to users below a Level 6 Clearance. If you think this is a mistake, then please email Mike at IT with your super secret IT passcode, but make sure not to share it with anyone else!"
"Err, looks like the device you're viewing this on is having trouble reaching the Internet. Please check you've got signal and then press this button to try again."
"Hmm. I couldn't reach Facebook to post your super cool update. Maybe they're having an issue of their own, but I'll try again for you in just a little bit. Sit tight."
In conclusion
Here's to never seeing "ERROR 500" ever again!
Comments
No comments yet...Post a comment:
Facebook being down killed AdGuard
Permalink | Published: 2021-10-08 16:37:31 UTC | Tags: facebook dns bgp adguard internet Tbh Facebook being down the other day did have one knock-on effect for me who doesn’t use it.
Adguard DNS got quite a pummeling from folks trying to access Facebook and their entire DNS effectively got DDoSed, leaving nothing getting resolved for a good while.
Meanwhile I over here killed my own internet by disabling DNS on my router for days thinking it would revert to default. Was very confusing as I had adguard hardcoded on my PC as well, but not my phone.
My week went like this:
My phone: "No internet".
Me on my PC: "Huh? But it’s working! See?"
Comments
No comments yet...Post a comment:
Ephemeral system with NixOS
Permalink | Published: 2021-03-20 13:01:00 UTC | Tags: ephemeral system nixos delete Recently, I discovered the following reddit post and blog posts:
I thought I didn't need any kind of persistence tool, because btrfs is awesome. So I decided to give it a go myself.
In my case, I'm using btrfs
so it's very easy to get going with.
I went through and decided I wanted to keep:
/nix
(of course, I don't want to have to download everything all the time)
/home
(for now, I'll have a go at that one later)
/var/lib
(databases, docker, etc)
/etc/ssh
(host keys)
/etc/NetworkManager
(system connections, VPNs etc)
And I was content with the rest being recreated on boot, especially /tmp
, because it vastly speeds up a lot of things!
Firstly I converted the directories I wanted to keep into subvolumes (in rescue mode or live/other OS):
mv /dir-to-keep /dir2
btrfs su c /dir-to-keep
cp -rpv --reflink=always /dir2/* /dir-to-keep/
rm -rf /dir2
--reflink=always
makes a CoW copy in btrfs
, so this is a much faster way to copy over data.
This worked for most of my directories, except for /nix
, so I had to use --reflink=auto
because I had a lot of hard links due to nix-store
optimisation, so it'll CoW only that which it can.
Noteworthy is that to do /nix
to avoid commands disappearing involves doing this (optionally from the running system):
btrfs su c /nix2
cp -rpv --reflink=auto /nix/* /nix2/ # Many hardlinks may be duplicated!
and then from a live or other system (because moving things in-use is dangerous and may not actually work):
mount /dev/XXX /mnt/root
rm -rf /mnt/root/nix
mv /mnt/root/nix2 /mnt/root/nix
Finally I'm able to have /
as a tmpfs
!
So I added the following to hardware-configuration.nix
:
{
fileSystems."/" =
{
device = "tmpfs";
fsType = "tmpfs";
options = [
"size=2G"
];
};
fileSystems."/nix" =
{
device = "/dev/XXX";
fsType = "btrfs";
options = [
"subvol=/nix"
"noatime"
];
};
fileSystems."/etc/ssh" =
{
device = "/dev/XXX";
fsType = "btrfs";
options = [
"subvol=/etc/ssh"
"noatime"
];
};
fileSystems."/etc/NetworkManager" =
{
device = "/dev/XXX";
fsType = "btrfs";
options = [
"subvol=/etc/NetworkManager"
"noatime"
];
};
fileSystems."/var/lib" =
{
device = "/dev/XXX";
fsType = "btrfs";
options = [
"subvol=/var/lib"
"noatime"
];
};
fileSystems."/home" =
{
device = "/dev/XXX";
fsType = "btrfs";
options = [
"subvol=/home"
"noatime"
];
};
}
and making sure my passwords were immutable and persistent via the clauses in configuration.nix:
{
users.mutableUsers = false;
users.users.root.initialHashedPassword = "$6$8RZ1PPxKU6h$dNHnIWiq.h8s.7SpMW14FzK9bJwg1f6Mt.972/2Fij4zPrhR0X4m3JTNPtGAyeMKZk3I8x/Xro.vJolwVvwd9.";
users.users.dwd.initialHashedPassword = "$6$EDn9CboEV/$ESAQifZD0wiVkYf1MuyLqs.hP7mvelpoPnSGEI7CmwuUifi090PT6FQqHsdhlZSXSlqrT9EH.mIfUvxPCA5q.1";
}
(hey, they're hashed and SHA-512'd, do you want to try to crack them?)
Triggering a rebuild and a reboot (to actually apply /
as tmpfs
), and success! Hooray!
I can now delete everything from the root subvolume that I didn't make into a subvolume.
tree -x
from the root subvolume now looks like:
$ tree -x
.
├── etc
│ ├── NetworkManager
│ └── ssh
├── home
├── nix
└── var
└── lib
so I can share these with another OS if I so wish.
I'm currently investigating doing the same to /home
, so I'll keep you updated.
Till next time!
Comments
instagram takipci satin al (URL) said on 2021-04-04T09:56:26.92895773Z:Good info. Lucky me I came across your site by chance (stumbleupon). I have saved it for later!
ucuz takipi sat1n al (URL) said on 2021-03-25T21:58:47.004825757Z:Howdy would you mind sharing which blog platform you're using? I'm planning to start my own blog soon but I'm having a difficult time making a decision between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your layout seems different then most blogs and I'm looking for something completely unique. P.S My apologies for being off-topic but I had to ask!
ucuz takipçi sat1n al (URL) said on 2021-03-22T14:14:24.783260217Z:Wonderful beat ! I would like to apprentice while you amend your site, how could i subscribe for a blog website? The account aided me a acceptable deal. I had been tiny bit acquainted of this your broadcast provided bright clear idea
instagram takipi sat1n al (URL) said on 2021-03-22T02:07:31.447217857Z:You ought to take part in a contest for one of the greatest sites on the net. I am going to highly recommend this site!
Ruthie Killeen (URL) said on 2021-03-21T17:42:01.247594849Z:I all the time used to study post in news papers but now as I am a user of net thus from now I am using net for posts, thanks to web.
ucuz takipci satin al (URL) said on 2021-03-21T11:31:46.637530455Z:I was wondering if you ever considered changing the layout of your blog? Its very well written; I love what youve got to say. But maybe you could a little more in the way of content so people could connect with it better. Youve got an awful lot of text for only having one or 2 images. Maybe you could space it out better?
Post a comment:
Spotify (and Netflix) on Chromium, with help from Steam, without root!
Permalink | Published: 2018-08-07 11:30:00 UTC | Tags: netflix library steam spotify chromium widevine drm libraries chrome copy protected Users of Chromium will have trouble listening to Spotify, even if "protected content" (another word for "we own you") is on. This is because there are missing Widevine libraries.
The usual way to find them is to copy them from your Chrome installation, sometimes at /opt/google/chrome, sometimes at /usr/share/chrome, but these can also be acquired from Steam installations (since Steam embeds Chrome).
If you're running Steam, copy both
~/.steam/steam/config/widevine/libwidevinecdm.so
and
~/.steam/steam/config/widevine/libwidevinecdmadapter.so
to ~/.config/chromium
then restart Chromium.
If you use Netflix, use a user agent extension to set your user agent to Chrome, so Netflix won't automatically assume that you can't use it.
Hope that helps anyone coming across this issue.
Till next time.
Comments
No comments yet...Post a comment:
Quick phone tip: make your phone seem faster by disabling animations
Permalink | Published: 2018-08-02 17:00:00 UTC | Tags: phone settings animation visual illusion scale drawing android In Android, go to Settings -> Developer Options -> Drawing and change Window animation scale, Transition animation scale and Animator duration scale to "Animation off".
Comments
No comments yet...Post a comment:
Issuing modem commands to an unrooted Android device
Permalink | Published: 2018-07-31 19:37:00 UTC | Tags: access phone serial root screen m2msupport gsm mobile port linux minicom connection modem networking android hayes network Did you know that Android devices expose a modem on the USB interface, even when "Tethering" is turned off? It appears like this in dmesg:
[22338.529851] cdc_acm 1-3:1.1: ttyACM0: USB ACM device
You can connect to this as a raw serial console like:
screen /dev/ttyACM0
or:
minicom -D /dev/ttyACM0
This will accept GSM modem commands prefixed with AT, and give information about the phone, and presumably allow a dialup-like interface.
Many of the examples on M2MSupport.net will work with the phone, depending on which manufacturer and capability set, presumably. With my Samsung Galaxy XCover 4, I got the GSM capability set.
Try playing around with this, but don't get charged by your provider too much for making calls you never end! Make sure you hang up properly as per the protocol.
For more on standard modem commands, see the Hayes command set article on Wikipedia.
That's all for now!
Comments
No comments yet...Post a comment:
Retro dial-up network fun
Permalink | Published: 2018-07-27 00:46:00 UTC | Tags: 98.0 address serial protocol routing server kernel nostalgia dial-up nat windows linux modem internet emulation isp dialup emulate network 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:
Project Chaplin 0.3.2 point release
Permalink | Published: 2016-10-13 08:41:00.001 UTC | Tags: css youtube dailymotion media sharing javascript cc dart videos vimeo free software chaplin open source creativecommons html5 video php project Introducing the second point release for the 0.3 series of Project Chaplin.
Background
Project Chaplin is the first fully free software and open source video streaming service, installable locally or usable online.
The software is available through GitHub at https://github.com/danwdart/projectchaplin/releases.
New for 0.3.2: A demo server has been installed at https://projectchaplin.com (edit 2021: archived) for those who wish to test without downloading anything! Please don't hit this server a lot, as it is only hosted on a small server, and is mainly for testing purposes. Please let me know (see below) if you notice any outstanding issues not covered in the issue tracker, and email me privately for any security issues.
The project is always looking for new developers, designers and ideas people. Please contact "viablog032 att projectchaplin dott com" if you are looking for a new project to join. The list of new bugs, feature requests, etc is available at https://github.com/danwdart/projectchaplin/issues
Changelog (0.3 series) New in 0.3.2:
Fix the YouTube API/downloading problem
New in 0.3.1:
Get and store access token for Vimeo
Linkify and space-ify descriptions Set cache lifetime to 30m to wipe old data from remote nodes
New in 0.3: Adds Docker support and includes a sample Docker file (with a Raspberry Pi release in the rpi branch). Logs and displays a link to the original YouTube link Adds fullscreen support to YouTube videos Makes the setup process more streamlined by starting daemons after setup is complete Adds Infinite loops a la infiniteyoutube.com Only imports Creative Commons videos from other services to avoid copyright issues Fixes YouTube API problems Shows correct licence on YouTube Removes old HTML5 requirements to add events to play videos and make them fullscreen - this now exists in all modern browsers UI improvements Splits the ORM into a new repository for other projects Faster loading through use of HTML5 AppCache (where enabled).
Adds Vimeo searching and importing support!
Comments
No comments yet...Post a comment:
Project Chaplin 0.3.1 Released
Permalink | Published: 2016-09-16 14:23:00 UTC | Tags: css youtube dailymotion media sharing javascript cc dart videos vimeo free software chaplin open source creativecommons html5 video php project Introducing the first bugfix release for the 0.3 release of Project Chaplin.
Background
Project Chaplin is the first fully free software and open source video streaming service, installable locally or usable online. It has been in development for a few years now, and has had significant development, and a new design added a couple of years ago.
The software is available through GitHub at https://github.com/danwdart/projectchaplin/releases.
The project is always looking for new developers, designers and ideas people. Please contact "viablog031 att projectchaplin dott com" if you are looking for a new project to join. The list of new bugs, feature requests, etc is available at https://github.com/danwdart/projectchaplin/issues
Changelog New in 0.3.1:
Get and store access token for Vimeo
Linkify and space-ify descriptions Set cache lifetime to 30m to prevent old data from remote nodes
New in 0.3: Adds Docker support and includes a sample Docker file (with a Raspberry Pi release in the rpi branch). Logs and displays a link to the original YouTube link Adds fullscreen support to YouTube videos Makes the setup process more streamlined by starting daemons after setup is complete Adds Infinite loops a la infiniteyoutube.com Only imports Creative Commons videos from other services to avoid copyright issues Fixes YouTube API problems Shows correct licence on YouTube Removes old HTML5 requirements to add events to play videos and make them fullscreen - this now exists in all modern browsers UI improvements Splits the ORM into a new repository for other projects Faster loading through use of HTML5 AppCache (where enabled).
Adds Vimeo searching and importing support!
New in Beta 2:
Search now produces only CC-licenced YouTube videos
Comments
No comments yet...Post a comment:
Project Chaplin Beta 2 Released
Permalink | Published: 2015-04-12 12:36:00 UTC | Tags: search audio floss projectchaplin youtube sharing appcache cc videos oss free software chaplin open source open import creativecommons html5 video github project I'm pleased to announce the release of Project Chaplin Beta 2.
Project Chaplin is an open source, free software video sharing platform with support for YouTube and HTML5.
Since release beta 1, the following features have been added:
Search now produces only CC-licenced YouTube videos Faster loading through use of HTML5 AppCache (where enabled).
The release can be updated using GitHub or downloaded as a zip or tar file.
Please let me know what you think!
Comments
No comments yet...Post a comment:
Project Chaplin Video Sharing Beta Released
Permalink | Published: 2015-04-04 21:52:00 UTC | Tags: client youtube sharing webm chaplin hiatus eggs import easter html5 video project Announcing the release of Project Chaplin.
Project Chaplin is an open source web-based video sharing client, which includes compatibility with HTML5 and YouTube support.
After being in alpha for and being sadly in hiatus for 7 months, I'm pleased to announce the release of the first beta.
Pre-alpha and alpha releases have had rave reviews and we have had a test site (projectchaplin.com) up for a time, but sadly it was not sustainable at the time, but I may put it back up soon enough.
Features include:
A free software, open source licence as standard No intrusive adverts Import videos from popular video sources No restrictions on content by country, IP or government Video downloading as standard HTML5 WebM as standard Live streaming (pluginless) Federation through multiple servers Live video effects including brightness and contrast Easter eggs?
In the pipeline are:
REST APIs Blocking on public demand Federated APIs Public tagging of videos Channel subscriptions Individual profiles Audio downloading
Chaplin can be downloaded at https://github.com/dandart/projectchaplin
Please let me know what you think and if you have any suggestions or can help please let me know!
Credits:
Majority of code: Dan Dart Majority of design: Nabil Freeman
Till next time!
Comments
No comments yet...Post a comment:
BSD for Linux Users: An Introduction
Permalink | Published: 2015-03-29 14:05:00.003 UTC | Tags: dragonfly netbsd openbsd zfs cddl freebsd bsd open dragonflybsd free linux gnu debian pcbsd sco unix licence BSD means a few things in the Open Source / Operating System world:
- The Berkeley System Distribution, a variant of UNIX that stemmed from the original AT&T UNIX, originally developed by Computer Systems Research Group (CSRG) of the University of California, Berkeley [1]
- One or many of a number of BSD distributions - a "flavour" of the original, modified by the vendor to suit the purpose of the distribution in question. Examples might be FreeBSD, NetBSD, OpenBSD and Dragonfly BSD. Note that these are not "Unix-like" as Linux is, but actually based from and including code from the original BSD - minus the code from AT&T, hence the version they are based upon is known as "4.4BSD-Lite".
- The actual kernel of one of these distributions, in the same way as Linux is the main kernel of distributions such as Ubuntu, Fedora or Mint, although there are other choices of kernel for some distributions.
- One or many BSD communities around the world to support and help develop these distributions, such as forums, help desks, etc.
- A set of permissive non-copyleft licences which said distributions and kernels are distributed under [2][3] which allow redistribution provided that the original copyright notices are left in the associated media, and pose no other restrictions other than an optional "no endorsement" clause.
Following is a summary of some of the main distributions.
FreeBSD: the most popular BSD distribution, recognised by its support for running servers and famously run on [4]
PC-BSD: touted as "user-friendly", offering an easy install process and simple package installations from self-contained packages. [5]
OpenBSD: supposedly the most secure operating system, boasting "Only two remote holes in the default install, in a heck of a long time!" [6]
NetBSD: a distribution with a small install size, a popular base and excelling at portability with "formal releases for 53 architectures [7], and has integrated ports for four others", celebrating 20 years since its foundation this year.
Dragonfly BSD: a 10-year-old (so still relatively young) distribution famous for its extremely speedy filesystems. [8]
Debian GNU/kFreeBSD [9], the Debian distribution compiled to work on top of a BSD-type kernel rather than a Linux one, which has the upshots of being able to be used on top of BSD-supported filesystems, those compatible with BSD licences (but not the GPLv2 [10] used by Linux [11]) such as ZFS [12] (edit 2021: archived) (licenced under the CDDL [13]), and all the while using the familiar GNU tools common to the Debian GNU/Linux distribution.
Next time: BSD Licences and why they are good, bad and/or certainly not ugly.
References
[1] http://en.wikipedia.org/wiki/Berkeley_Software_Distribution [2] http://opensource.org/licenses/BSD-2-Clause [3] http://opensource.org/licenses/BSD-3-Clause [4] http://www.freebsd.org/ [5] http://www.pcbsd.org/ [6] http://openbsd.org/ [7] http://www.netbsd.org/about/portability.html [8] http://www.dragonflybsd.org/features/ [9] http://www.debian.org/ports/kfreebsd-gnu/ [10] http://www.gnu.org/licenses/gpl-2.0.html [11] https://www.kernel.org/pub/linux/kernel/COPYING [12] https://web.archive.org/web/20140908152050/http://www.freebsd.org/doc/handbook/filesystems-zfs.html (edit: archived) [13] http://opensource.org/licenses/CDDL-1.0
Comments
No comments yet...Post a comment:
The Rules of Website Advertising
Permalink | Published: 2012-05-20 16:38:00.002 UTC | Tags: rules annoying seo ads website advertising flash adwords dfp relevant adsense content I don't mind sensible advertising. Believe it or not I wouldn't mind if people advertised their wares to me if they did it in a reasonable way and it was interesting, but most people are doing it wrong.
I've come up with some sensible rules to stay within my personal limits:
The DOs:
- DO provide relevant content for your users related to the subject material of the website.
- DO market research about your customers: the more you know about them, the more you know what they like and the more clicks you'll get.
- DO invest in prospect analytics platforms like CANDDi to better understand your audience.
- DO provide more text than images.
- DO try to keep any media included to a minimum.
The Do NOTs:
- Do NOT advertise irrelevant or spam material such as drugs, gambling or uninteresting products.
- Do NOT obscure other more relevant content such as the body of an article by using any form of pop-up.
- Do NOT automatically play audio.
- Do NOT play potentially distracting videos without user input.
- Do NOT use flash as this pretty much destroys SEO and ruins experiences, memory and bandwidth.
- Do NOT take up a lot of screen real-estate, as this can affect content on phones or poorly designed menus.
- Do NOT prioritise your material over the actual content of the page or provide any sort of delay to get to the content wished.
- Do NOT take over or modify existing content.
- Try not to include video at all as this can hurt people's bandwidth.
- Try not to necessitate a "close" button - they should be non-intrusive enough not to get in the way.
Maybe people will hate them less if they obey these rules.
Some examples of people who do it wrong:
YouTube is one of the worst offenders because it disobeys every single rule here. But a site such as what AdBard used to do sensibly obeys all the rules.
As a bonus, I'll even include space on the next iteration of my own website for relevant advertising if they sensibly obey these rules.
Till next time!
Please note - this blog is to be moved to my own site soon - so stay posted for a link.
Comments
No comments yet...Post a comment:
New Project: View and Share Media Online
Permalink | Published: 2011-10-01 21:58:00 UTC | Tags: audio bsd open source recording media sharing broadcasting mit video gpl free software I'm announcing a new media viewing and sharing framework called ShareAV.
The features will include support for:
Uploading and downloading of media, including audio and video Viewing media privately Sharing media publically or to a group
Adding to your own library for easier access Re-sharing
Viewing media from other streams or sources: Last.fm Jamendo RSS feeds eg podcasts Radio Streams e.g. icecast Visualisations
User "profile" pages Shared Media Favourite media
Creating and removal of users with groups such as: Owner Admin Moderator
Creating and removing of friends Create and removing groups of friends OAuth/OpenID/Facebook/Google authentication (no one wants to register for things anymore!) REST interface for external API goodness Live updates for comments for groups Live updates for who's viewing media Live broadcasting and recording using JS Audio API Live notifications of when broadcasting or recording starts Live chat - IRC integrated - allow anonymous
Mobile support via PhoneGap
The frontend will be programmed in Static HTML + JS - suitable for non-PHP devices The backend in PHP, ZF and a NoSQL db
The project is being tracked on Github here: https://github.com/dandart/ShareAV
For anyone who wishes to have input / contribute / help / be awesome can do so in the following ways:
By adding a comment to this blog By adding and talking to me on G+ (gplus.to/dandart) by emailing me on shareav@dandart.co.uk
Comments
No comments yet...Post a comment:
Play.com compromised, names and emails taken
Permalink | Published: 2011-03-21 23:40:00 UTC | Tags: security cracker compromise emai rakuten com hacker l play The popular UK online shop Play.com has reportedly been compromised, revealing its database of usernames and email addresses of its customers to its attackers. An email appearing to be from play.com to its customers reads:
Dear Customer,
Email Security Message
We are emailing all our customers to let you know that a company that handles part of our marketing communications has had a security breach. Unfortunately this has meant that some customer names and email addresses may have been compromised.
We take privacy and security very seriously and ensure all sensitive customer data is protected. Please be assured this issue has occurred outside of Play.com and no other personal customer information has been involved.
Please be assured we have taken every step to ensure this doesn’t happen again and accept our apologies for any inconvenience this may have caused some of you.
Customer Advice
Please do be vigilant with your email and personal information when using the internet. At Play.com we will never ask you for information such as passwords, bank account details or credit card numbers. If you receive anything suspicious in your email, please do not click on any links and forward the email on to privacy@play.com for us to investigate.
Thank you for continuing to shop at Play.com and we look forward to serving you in the future.
Play.com Customer Service Team
Comments
No comments yet...Post a comment:
How to use SSH for an Internet Connection Sharing Proxy
Permalink | Published: 2010-11-13 13:10:00 UTC | Tags: ssh tunnel linux sharing connection proxy internet internet connection sharing I haven't made a blog in a long while, so I'd thought I'd share this, which I recently discovered how to do.
If you find the idea of proxies a bit restrictive. because after all, they have to be set up in the applications in question, and may not work for some applications, help is here. And all you need is an SSH server you can connect to. Sadly, this method requires root, but it's worth having for the system-wide Internet connection you'll get from it.
Authenticating as root
First, make sure you're root on the client machine (sudo -s or su -, depending on your distro), and that you can ssh as root to your target server. This is of course causes security implications, so it may be a good idea to generate a key pair for root-to-root access and block off passworded access for root, so that no one can bruteforce your root password.
Generate the key pair as root on the client:
client:~# ssh-keygen
And copy the key to the server
client:~# ssh-copy-id [server]
Test the root login. It should not prompt you for password authentication (unless you've set one in ssh-keygen). Now, to block off password logins, edit /etc/ssh/sshd_config (or /etc/sshd/sshd_config) on the server and make sure this line is present:
PermitRootLogin without-password
Hooray! We're now somewhat more secure!
Creating the tunnel
Now to start a tunnel. The -w switch on ssh will do what we need, and create a tunnel network interface on both computers. The first number is the number of the interface on the client, and the second is for the server. For example, 0:! will create tun0 on the client connected to tun1 on the server. You may specify auto for the next available one. Let's create tunnels called tun0 to make it simpler.
client:~# ssh -w0:0 [server]
Now, see if your tunnels were set up correctly.
server:~# ifconfig -a tun0
You should see a tun0 interface. This is a layer 3 tunneled virtual interface (point-to-point).
Set up an IP on both sides so each computer can talk to each other. server:~# ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 client:~# ifconfig tun0 10.0.0.2 pointopoint 10.0.0.1
Try pinging each side to see if you have a connection. Once each host can talk to the other, we can set up the routing.
Setting up the routing
Server setup
Ensure that the tun0 interface is not restricted: server:~# iptables -A INPUT -i tun0 -j ACCEPT server:~# iptables -A OUTPUT -o tun0 -j ACCEPT server:~# iptables -A FORWARD -i tun0 -j ACCEPT
Allow packets in from the external interface to be processed by the tunnel:
server:~# iptables -A INPUT -i eth0 -d 10.0.0.2 -j ACCEPT
Allow forwarded packets to be routed to their destination: server:~# iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
Set up tun0 for NAT: server:~# iptables -A POSTROUTING -o tun0 -t nat -j MASQUERADE
Enable IP forwarding in the kernel: server:~# echo 1 > /proc/sys/net/ipv4/ip_forward
Client setup
Allow packets to be processed from the tun0 interface: client:~# iptables -A INPUT -i tun0 -j ACCEPT client:~# iptables -A OUTPUT -o tun0 -j ACCEPT client:~# iptables -A FORWARD -i tun0 -j ACCEPT
Setting up the gateways
Find the existing default gateway:
client:~# route | grep ^default
Add a backbone to stop the server not being found once we switch gateways: client:~# route add [server IP] gw [existing default gateway]
Add the new default gateway: client:~# route add default gw 10.0.0.1
Remove the existing default gateway (Be very careful!): client:~# route del default gw [existing default gateway]
Testing the tunnel
Try going to whatismyip.com in your browser. It should show you the IP of your server. If you're curious, you can also check the default route to somewhere like Google by using the traceroute utility.
You're done!
Troubleshooting
I can't see a tun0 interface!
Make sure you're root on both sides. (It sounds obvious - I've thumped my head on my desk so much because of this!)
Start ssh with the -v switch to show more verbosity. If you see a message a bit like this:
debug1: Remote: Failed to open the tunnel device. channel 0: open failed: administratively prohibited: open failed
it could mean that someone else is trying to create a tunnel with the same interface name on the server.
If you see something a little like this:
debug1: sys_tun_open: failed to configure tunnel (mode 1): Device or resource busy
it might mean that you already have a tunnel with that interface name open. Check "ifconfig -a".
I get the message "ping: sendmsg: Operation not permitted" when testing the tunnel connection!
You didn't allow traffic to flow between the tunnel and local network device. Try turning the client firewall off.
The connection is slow!
There will be significant overhead as all the traffic is encapsulated into SSH and encrypted. You will also see latencies go up as traffic needs to travel from your client to your server and back additionally.
Comments
prolix (URL) said on 2011-10-14T06:59:13.224Z:Excellent read. I like your style...have a good one!/Nice blog! Keep it up!
Post a comment:
Rules of Mobile Platform Development
Permalink | Published: 2010-10-09 14:51:00 UTC | Tags: htc phone apple motorola app android A lot of things annoy me about mobiles. Here are some handy tips to you carriers, manufacturers, OS and app developers to make sure you do it right.
1) The User always comes first Research what you think your users would like. Try not to blindly irritate users, and do what they want, don't force things upon them. Don't autostart without user permission, do things properly so that they're faster, and ask for feedback on what the application should and shouldn't do. Don't pop this up, let the user choose it from your easy menu. And finally never pester, or you'll drive your users away.
2) Don't advertise Wasting a few pixels on a desktop isn't going to make a whole lot of difference, but on a mobile, it can severely break layouts. It can also waste people's precious bandwidth - after all, they paid for their little Internet space - and only want what they ask for. It also doesn't help your cause - after all, you don't want to drive your users AWAY from your app, do you? Advertising on a phone can be intrusive and annoying, too. Don't do it.
3) Try not to use menus This in my opinion is something Apple did right with their iPhone, and Google did wrong with Android. Menus inside apps (especially on mobiles) tend to get confusing, and sometimes (e.g. if the menu button is a software button) get pressed accidentally.
4) Speed An obvious one. Try to make your platform as fast as humanly possible - do everything you can to make sure each task is as speedy as is possible - that is, index your applications, don't make unnecessary requests, etc. If starting an application takes ten seconds - you're doing it wrong. If searching for a list of installed applications (and so on) takes forty - don't release yet. We've already seen a terrible example of this in Android pre-2.0. The general rule is that if it needs a loading screen, then it's already too slow.
5) Don't pester I install a free application. The app starts, and it asks if I'd considered its paid version, with this set of features, that amount of extra greatness. That's fine. I consider it. I say no. Besides, now I know it exists, if I change my mind, I can just as easily go and get the paid version. Job done. However, many apps I've previously used (not pointing any fingers) seem to pester me to upgrade. Whether on startup, or on accidental activation of a "pro" feature - it asks me again and again. This is no good!
6) No Demos. A free application should not be a "demo" of another paid one. I don't have time to waste, and if I want an application, I'll download the free one first. This may contain buttons which correspond to features only in the paid version. But I don't know that of course. They should be disabled and obvious, not look the same and pop up an annoying box saying "DEMO! Upgrade for only $3.99 for this feature". Even better, there should be one button in the menu that describes the different features. If I don't think I have enough, I'll go get the full version. If I think I have enough, and some turn out to be fake, it really bugs me.
7) Just Try Again I often browse the web on my phone. Sometimes at no notice at all, the connection drops. Of course, the software can't be blamed for this, but the carriers can (unless it's obvious I'm in a place that has no chance of reception, such as in a tunnel). However, what annoys me is that when this happens, I have no "no reception" warning until about 30 seconds after the page doesn't load. I put it away, thinking it'll load eventually, and it never tries again. Trying again sounds like the sensible option to me, because after all, I asked for the web page, and I still want it when it's available again!
8) No Restrictions There has been much anger towards certain carriers and manufacturers who lock down the operating system unnecessarily, forcing users to resort to things like rooting and custom ROMs to do the things they should have been able to do in the first place (e.g. wireless/wired tethering). A classic example of this would be the Motorola, which locked the bootloader in its Milestone phones, preventing first rooting (this could be enabled by flashing a vulnerable recovery image) and the ability to run custom ROMs with custom kernels, which in effect has had a bad effect on these handsets
9) Use Less Power The more battery life the user can get out of their device, the better. Manufacturers and app developers need to learn that it is unacceptable for the user's device to run out of batteries half way through the day. So don't start your application or service on bootup - and try to minimise memory usage. Only start when the user wants you to start. I've found that numerous apps and services I don't need yet need to be killed on bootup! All apps should be opt-in bootup - and once you start it, if it makes sense to start on boot (such as a network monitor) then ask as soon as you install.
10) Make It Fun A lot of apps are just plain boring, and I'm not accusing anyone personally. But it goes without saying that something fun and exciting will be more readily liked and bought by users and rated higher. Spend time making something people of all ages would like (unless it's specific) and would be willing to spend time playing or using.
11) Many Easy Updates
Everything's going to be buggy, so update often once you find a bug. Lots of small updates are better than few large ones - first to rid users of those niggling problems sooner rather than later, and second because it's less to download in a month. To phone manufacturers, don't hang around, and release OS updates as soon as they're available - they may provide valuable security updates. If you can't, let your users do it - move development into the community. The easiest way to update is by Market (for apps) or by OTA (over-the-air) update (OS updates).
12) Don't be Motorola
Ashamefully, Motorola has not been following some of these rules effectively. They almost never update their phones and leave them on early versions of the operating system. They lock their bootloaders and prevent users updating their phones effectively. So don't be like them. If the user bought the phone, it's theirs and should be able to be modified down to the lowest level.
Do you have any more tips or modifications? Use the comments area below. I hope you found this useful!
Comments
No comments yet...Post a comment:
Bibud Alpha 5.1 released
Permalink | Published: 2010-09-10 10:55:00.001 UTC | Tags: css audio release social javascript desktop web bibud html5 alpha git video Bibud, the open source social web desktop released its Alpha 5.1 version today, including many design changes and bigfixes, finally integrating links to git and a bugtracker.
Among the new features to Alpha 5.1 were:
Homepage improvements Facebook support in Chatroom Media sharing initial demo support
As always you can find Bibud at http://bibud.com.
Comments
No comments yet...Post a comment:
Bibud Social Web Desktop Alpha5 Released
Permalink | Published: 2010-08-01 19:01:00.001 UTC | Tags: friends audio media sharing desktop web bibud html5 webos alpha files video The fifth bugfix update to the Bibud web desktop was released yesterday, and includes easier application installations, a better SDK, a clearer layout, better window management and removal of application previews not relevant to the web demo at this time.
If you've not come across Bibud before, it is a desktop and window manager including and designed to contain several web-based applications that work together to make your computer experience easier. It is designed to run on desktop, laptop or netbook computers, and with a low footprint, is designed to work well on the lowest specification computers available.
Bibud is the name of the entire project, but a demo of what the desktop will look like is available to demo on the web at http://bibud.com - later on it will come preinstalled inaide a GNU/Linux distribution enabling computers to connect and share data with each other in an as easy way as possible.
Technologies in use in Bibud are HTML5 for the audio and video elements, AJAX for most of the desktop, and the backends are programmed in PHP and MySQL, enabling any user with the LAMP stack installed (Linux, Apache, MySQL, PHP) to easily download and install the software. The git repository is available on Github (edit 2021: changed organisation).
Currently, the following applications are available to try out:
- Audio, Video, Pictures (media viewing applications)
- Chatroom (an irc-esque chatroom)
- A Blog application
- Microblog (submit posts to Twitter, identi.ca, status.net, etc)
- My Files (a file upload manager)
- Friends (to keep track of contacts)
- Background (to change desktop wallpaper)
- User Info (to change user's passwords, etc)
Features just around the corner are:
- Media sharing
- Note taking applications
- Extra goodies
You can try out the alpha 5 prerelease of the desktop by visiting http://bibud.com in your HTML5-compliant web browser.
The Bibud project are looking for volunteers to help with the project, code contributions, artwork, designs, proof-of-concepts and even just ideas are welcome, and may well be accepted into the official project distribution. If you have anything to contribute, please email the project leader at bibud@dandart.co.uk. The Bibud project is licensed under a MIT-style license.
Comments
No comments yet...Post a comment:
Xenon Web Desktop Alpha2 Released
Permalink | Published: 2010-02-01 22:17:00 UTC | Tags: email mysql linux cool desktop operating system blog php web xenon The web desktop Xenon released version Alpha2 today. The release announcement from the website reads:
"Changes from Alpha include many security fixes (including SQL injection), the addition of the Chatroom app, Pictures app, width autoscaling, new tab launching, easier installation and various visual tweaks.
Please either use the https://web.archive.org/web/20100107134808/http://xenon.kevinghadyani.com/ (edit 2021: archived), or ddownload to your server at xenon.kevinghadyani.com/xenon_alpha2.tar.bz2 (edit 2021: not archived). Please help by submitting bugs, patches, new apps, icons, etc to xenon@dandart.co.uk. Thank you."
Xenon is a web desktop, which means that all your applications, work and settings are stored on the web. It can be run from any Internet-connected computer by browsing to the Xenon server or from your own server (in the case that you want a private instance, or want it installed into a netbook in the case where you do not have Internet connectivity). Eventually syncing support will be brought in which allows you to sync your settings and files to and from your local instance and the main server. Other features currently available include:
* Audio player (featuring HTML5 Vorbis audio) * Video player (featuring HTML5 Theora video) * Picture viewer * Email (including within Xenon and outgoing email) * Blog * Chatroom (Public, open to all on the same instance) * Notes application * Friends application for social features * My Files, to upload various types of file * Wallpaper switcher
Upcoming features include:
* Settings syncing and importing * A small footprint netbook/touchbook operating system to run on * Many others
To try the system out for yourself, you can try the demo (edit 2021: archived) or download the software at xenon.kevinghadyani.com/xenon_alpha2.tar.bz2 (edit 2021: not archived) to your server.
Please send patches, icons, ideas, apps, et al to xenon@dandart.co.uk
The project's website is at http://xenon.kevinghadyani.com (edit 2021: archived) or a shorter version: http://hackerlanes.com (edit 2021: archived)
Comments
No comments yet...Post a comment:
Linux's Hardware Support
Permalink | Published: 2010-01-24 14:52:00 UTC | Tags: ubuntu 64 bit hardware intel windows linux core usb i7 opensuse support 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:
Xenon Alpha released!
Permalink | Published: 2009-12-29 13:20:00.001 UTC | Tags: css social javascript cloud html desktop sql xenon ajax gui linux html5 networking api fast operating system os php apps An alpha version of the Xenon Desktop has been released. A description of the project follows.
Xenon is a portable web or browser based desktop for netbooks and thin clients, designed to be the easiest desktop ever.
The desktop includes a new GUI stepping away from traditional menus and is optimised for touchscreen and small devices.
The system integrates social networking features and standard desktop features into one software package.
Being browser-based, it is cross platform and cross architecture. It is built on HTML5 and PHP components, and can be run on extremely low-powered machines, allowing for cheap distribution and devices.
The backend can be run online (for users to access their data everywhere), on a personal LAN server, or on a small device, so the system can work offline, or if there are concerns about cloud storage.
An API is available at xenon.kevinghadyani.com/wiki/index.php/Developing_Apps (edit 2021: page not archived), so anyone can start developing apps to distribute in Xenon's upcoming App Store.
The project's homepage is located at http://hackerlanes.com (edit 2021: archived) including the online desktop, ready for instant testing and a download of the alpha image for your server. The actual small footprint OS that will run on netbooks will come later.
We encourage contributions to the project, in the form of code (the languages currently used are (X)HTML, CSS, Javascript, PHP and MySQL), art (eg icons, backgrounds, GUI concepts) or even just ideas.
To send any requests or contributions, or to join the project, please email the head developer at dan.dart@googlemail.com. Thank you!
Comments
No comments yet...Post a comment:
Sync iPhone/iPod Touch 3G in Ubuntu
Permalink | Published: 2009-11-29 03:47:00 UTC | Tags: ipod ubuntu linux itunes A lot of people have been trying very hard to get iPhone and iPod Touch syncing to work correctly in Linux. Some have been doing a FUSE filesystem (which accesses the iPod) and some the database and syncing. Remember this is pre-alpha quality, but I found it synced my tunes nicely from Linux. But due to the database version being old (but quite good enough for the iPod), iTunes does not play nice with it - and will just resync the tracks and may delete them. Also the iPod must have been previosly initialised with a version of iTunes. If you cannot acquire it, or it will not run, contact teuf on #gtkpod in irc.freenode.net. You have been warned!
Mounting support
First, grab iFuse: Add the following lines to /etc/apt/sources.list as root:
deb http://ppa.launchpad.net/jonabeck/ppa/ubuntu intrepid main deb-src http://ppa.launchpad.net/jonabeck/ppa/ubuntu intrepid main
Then do:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F0876AC9 sudo apt-get update sudo apt-get install ifuse ifuse-dev
This should install support for reading and writing files. Create a mount point:
sudo mkdir /media/ipodt/
Add yourself to the fuse group:
sudo useradd -G fuse [your_user_name]
To allow normal users to mount the FUSE filesystems, edit /etc/fuse.conf and uncomment the line (remove the hash from the start of it):
\#user_allow_other
Log out and back in again, or spawn a new login shell. Mount the FUSE filesystem:
ifuse /media/ipodt
You should see that your iPod should be mounted as yourself. You should be able to find the tracks and play them from the computer. They are oddly named and located in iTunes_Control/Music .
Syncing support
To properly sync music (well I say properly), you need to install a special branch of libgpod. You'll need to get it from git. WARNING! THIS WILL OVERWRITE YOUR EXISTING LIBGPOD! Be careful. First install development libraries:
sudo apt-get install git-core build-essential cmake autoconf automake libtool intltool gtk-doc-tools libsqlite3-dev zlib1g-dev
Get teuf's sandbox repository branch:
git clone git://gitorious.org/~teuf/libgpod/teuf-sandbox.git cd teuf-sandbox git checkout origin/iphone30 CFLAGS="-g -O0" sh autogen.sh --prefix=/usr make sudo make install
libgpod should now be installed, if all goes to plan. Create control directories and files:
mkdir /media/ipodt/iTunes_Control/Device
Get the uuid of your device:
lsusb -v | grep -i iSerial
It should be the one that's 40 characters long. From the same teuf-sandbox directory, run:
tools/ipod-read-sysinfo-extended /media/ipodt
Check that a file exists. Do:
cat /media/ipodt/iTunes_Control/Device/SysInfoExtended
This should spew XML at you. Now, install your syncing program of choice. I chose gtkpod because it works for me.
sudo apt-get instal gtkpod
The program should pick up the device and ask which model it is. There should be your device listed at the bottom (you may have to scroll). Choose it and let it do its thing, and initialise your iPod. Check a file has been created:
ls /media/ipodt/iTunes_Control/Device
If you get nothing, there's a problem. Go ask teuf. If you get that filename returned. all is well. You are able to sync, save files and update the database. Bear in mind that it saves an older version of the database, so if you go to iTunes and back, it will update tracks and the database, but they should still be readable in Linux.
I hope this has been helpful to you!
Here are some helpful references if you get stuck: iFuse (edit 2021: archived, also moved project to http://www.libimobiledevice.org/) iPod Syncing
Comments
Unknown (URL) said on 2010-07-11T07:20:13.466Z:Hello, i am glad to read the whole content of this blog and am very excited and happy to say that the webmaster has done a very good job here to put all the information content and information at one place.
Post a comment:
Best Security Practices For Your Personal Computer
Permalink | Published: 2009-11-11 00:51:00.001 UTC | Tags: xp virus rootkit password worm anti avast firewall trojan vista windows linux live 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:
1. 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!
2. 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.
3. 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!
4. 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.
5. 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.
6. 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.If you have a recovery disk that came with your computer, then use this instead. In any case, remember to back up!
7. 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!
8. 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.
9. 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.
10. 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 | Published: 2009-10-14 14:17:00 UTC | Tags: css mysql hardware javascript html xhtml sql web xenon windows design linux software internet php project 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 | Published: 2009-09-20 09:33:00 UTC | Tags: debunked security trojan virus myths windows linux operating system 1. "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 http://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 http://en.wikipedia.org/wiki/List_of_open_source_video_games for many more cross platform free games.
2. "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. http://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 http://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.
3. "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!
4. "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!
5. "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:
Linux is not ready for the mainstream
Permalink | Published: 2009-09-14 22:40:00 UTC | Tags: standardisation new linux device public xenon Caught your eye?
The reason I say this is not that Linux isn't quality - of course it is. It's not that Linux isn't ready to be used by the mainstream - it is.
The problem here is that Linux doesn't want to be for the mainstream. A wide variety of developers exist, and quite a few don't wish there to be a standard. To me, a standard is what defines a product to market. But the main idea of Linux is to be free, not in the traditional cost-less sense (gratis) but in a freedom sort of way (libre). This means that people are free to do what they wish with it, and to keep it free if distributing it.
To really make it, a product should be the same on all sides, easy to use, and have a common way of working. With the ridiculous amount of desktop environments (KDE...GNOME, etc) and text editors, this standardisation idea has become a laughing stock in the face of freedom. People want different things, they work in different ways. Some will want DEB, some will want RPM. That is why there will always be a million and one different flavours of Linux. And that is why marketing Linux is always going to be difficult. Open source is all well and good (Look how well Firefox did) but only in small, controlled packages such as these. If you let rip an OS designed to be free, then freedom will come, and you will not get one marketable product.
That is why, sadly, while the individual people who use Linux may like it, but Linux is simply too free to be for the mainstream.
To try to solve this, an ongoing project to create a standard easy-to-use small whole system, primarily for new small less-powerful devices, merging the gap between your computer and the cloud is encouraging developers to come and join. It is called Xenon, and is located at https://web.archive.org/web/20100107134808/http://xenon.kevinghadyani.com/ (edit 2021: archived). And it has absolutely nothing to do with Linux.
Comments
Dan Dart (URL) said on 2009-09-15T21:10:17.69Z:@Harley - the problem is that packaged files from one distro don't fit another. Plus one might use a different C library, and package different libraries by default, and would not be the same to use. This would slow down proprietary game/app development severely.
Harley (URL) said on 2009-09-15T15:11:57.488Z:First of all, there is a standardized base for Linux, it's call the LSB. Second, (though not completely Linux related) you say that something as large as an OS can't have a standard "marketable" entity. Well look at Open/Net/FreeBSDs. Each is a marketable OS, and each of these OS's are quite standard. Of course, how is this really any different than saying Ubuntu is a complete and standard Linux OS, or OpenSUSE, or Fedora, or etc. While they're obviously not 100% compatible with each other, with some care, binaries (because that's what this boils down to right? Binary packages from some company that doesn't release the source. Because if the source was available it's a non-issue) can be distributed across all Linux distros. So I honestly don't see your point.
Post a comment:
How to Conquer the Desktop
Permalink | Published: 2009-08-19 19:28:00.001 UTC | Tags: hardware advertising windows gui linux packages standard change command line naming 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:
0. 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.
1. 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.
2. 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?
3. Advertising. Advertise like you've never advertise before! PRODUCT! And why you should buy it! It's cool! Let's all get on this.
4. STABLE! If things can break, fix them BEFORE releasing. Ubuntu releases broken products (look at 8.10). Debian delays but releases when finished.
5. 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.
6. 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 | Published: 2009-07-05 13:21:00 UTC | Tags: standardisation bsd. competition windows free linux packages 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 | Published: 2008-10-28 16:08:00 UTC | Tags: computer windows azure cloud operating system os blog 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: http://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:
Standards
Permalink | Published: 2008-09-25 14:57:00 UTC | Tags: argument war open format gnome desktop standard kde First and foremost, well done community for adopting OpenDocument as the standard for office applications!
If the world adopts standards we will have a standard way of doing things, a standard window manager that everyone uses (pity no one can agree on one), a standard image format and all. This makes things easier for the community to understand their system and for it all to be the same.
The problem with that is that there will be less competition of ways of doing things and therefore no innovation. For example if everyone adopted KDE as their standard window manager, the innovation would slow down because GNOME and KDE aren't competing against each other. We need innovation because the world is driving itself so fast, new ideas excite us.
The thing we know is that these standards (if they exist) must be open, for without open standards, only one group of applications would be able to adopt the standard. For file format standards one must be able to use whichever application he or she wishes to use to view or edit the file. For desktop standards I personally do not want to be locked into a certain way of doing things. That is why for me, for file formats there should be simple open standards and for desktop applications, there should be no standard, just few competing ones. The KDE/GNOME war will never end but at least we know that if we have a problem we can use the other one, edit them as we choose, and we're sure there will be lots of innovation in these fields.
Do the pros outweigh the cons? Let me know your opinion.
Comments
No comments yet...Post a comment:
Sun is dead?
Permalink | Published: 2008-09-25 14:49:00 UTC | Tags: bsd. competition sun jim market linux share kernel solaris unix zemlin Sun Microsystems have recently suffered a downfall. According to Linux Foundation's Jim Zemlin, there is no room in tomorrow's market for Solaris. I, however, think different.
For today's and tomorrow's market to succeed, we need to adopt as many open competing markets as possible. For competition creates innovation, and innovation is what we want.
This should be open and free for first and foremost speed reasons. Having free software encourages bugfixing to be very rapid. It allows us to modify the software as we please to make it ours and use it as we wish. Proprietary software simply does not allow this.
For an open world to succeed we need open software and communications. For this, I see Linux, the BSDs, Sun, and all the other free kernels to be competing against each other, and without proprietary software, no one is evil. Microsoft is too proprietary for the future of computing, so we should all embrace freedom strongly for it is the "smart" thing to do.
Comments
No comments yet...Post a comment: