Dan Dart's Blog
  • Dan Dart
  • » Blog
    2020

    December

    Always use UTC


    New Review Site


    November

    Atom feed now available


    July

    Revamped my blog!


    2019

    June

    The categories of truthfulness of information


    March

    Appropriate punishments?


    2018

    August

    Spotify (and Netflix) on Chromium, with help from Steam, without root!


    Quick phone tip: make your phone seem faster by disabling animations


    July

    Issuing modem commands to an unrooted Android device


    Retro dial-up network fun


    The solution to clickbait: put the answer in the title


    Algebra is not hard


    2016

    October

    What would you like to see?


    You're Doing It Wrong: How to report a bug


    General update on the current state of my life


    My favourite font is nonexistent!


    Project Chaplin 0.3.2 point release


    September

    Project Chaplin 0.3.1 Released


    Project Chaplin 0.3.1 Released


    2015

    April

    Project Chaplin Beta 2 Released


    Project Chaplin Video Sharing Beta Released


    March

    BSD for Linux Users: An Introduction


    2012

    May

    The Rules of Website Advertising


    2011

    October

    New Project: View and Share Media Online


    March

    Play.com compromised, names and emails taken


    2010

    November

    How to use SSH for an Internet Connection Sharing Proxy


    October

    Rules of Mobile Platform Development


    September

    Bibud Alpha 5.1 released


    August

    Bibud Social Web Desktop Alpha5 Released


    February

    Features I'd like to see in Sauerbraten


    Xenon Web Desktop Alpha2 Released


    January

    Linux's Hardware Support


    2009

    December

    Xenon Alpha released!


    November

    Sync iPhone/iPod Touch 3G in Ubuntu


    Best Security Practices For Your Personal Computer


    October

    Xenon Project looking for helpers!


    September

    Linux Myths Debunked


    Linux is not ready for the mainstream


    A * For That


    August

    How to Conquer the Desktop


    July

    What Free Software needs


    June

    Answers to the big questions


    2008

    October

    Cloud OS


    September

    Standards


    Sun is dead?


    Always use UTC

    Permalink | Published: 2020-12-05 07:39:00 UTC | Tags: time utc

    As a radio ham, I am used to writing times in Universal Coordinated Time, and it is my strong opinion that everybody should know how far away they are from UTC at any time.

    Meetings are obviously global, now more so than ever before. It's of vital importance that when people do not have a convenient tool (so when speaking for instance) that people use universal time in order to avoid confusion.

    Daylight savings' times are always changing, and there could be a difference of perhaps 5 timezones throughout the year between two or three people. This is because even throughout a hemisphere, people typically do not change their clocks at the same time, they may be for example a week off. When someone in one hemisphere is changing their clocks forwards, it could be about time for someone in the other to change their clocks backwards, but it may be another week or so before they do it!

    Especially around clock-changing times, it's important to make sure there are no miscommunications, and especially when someone doesn't know the time of year that your clocks turn forwards and backwards, a single reference point should really be used.

    And that is why in the first sentence of this blog post when I mentioned being a radio ham, I stressed this. Imagine how complicated logging a contact would be! Whose time do you log it as? What's their timezone? Do you have them all memorised? Do you want to have to look them up all the time? It's best to use one timezone throughout the world and that has been internationally standardised to UTC.

    Fun fact: the "Z" at the end of dates you sometimes see stands for Zulu, which is convenient, as Zulu time is the same time as UTC throughout the year, as they don't use daylight savings' time. They've at least got it right.

    Whether or not to have daylight savings' at all is always discussed around the times of the transitions and whether or not it helps you shouldn't matter if you're talking across date lines.

    TTFN!



    Comments

    servicio de desarrollo web (URL) said on 2020-12-24T02:58:32.13783702Z:

    Enhorabuena por tu blog admin, gracias por no usar tantos tecnicismos, me gusta mucho este post y te seguire visitando, gracias ;-)



    Post a comment


    New Review Site

    Permalink | Published: 2020-12-04 00:01:00 UTC | Tags: new review site

    Hey folks,

    I've been working on making a new review site, and have a first review up now.

    Here's the site and Here's the feed!

    Hope you like it.



    Comments

    No comments at the moment. Be the first to comment!


    Post a comment


    Atom feed now available

    Permalink | Published: 2020-11-05 00:21:00 UTC | Tags: atom rss feed

    Hey all!

    My Atom feed is now available to keep track of this blog. RSS2 to come soon if there's demand

    Here's the subscribe link.



    Comments

    No comments at the moment. Be the first to comment!


    Post a comment


    Revamped my blog!

    Permalink | Published: 2020-07-25 20:48:00 UTC | Tags: revamped blog dan dart

    Hey everyone. I've just revamped my blog, and I'm now writing it in Markdown using my custom Haskell-based website renderer.

    Let's see if I can make sure it goes well.

    Here's the new source to my website builder

    Edit 2020-08-16: Finally got it DNS'd, because my phone is dead and I had to ask DigitalOcean to disable my 2FA and provide appropriate proofs!

    Speaking of proofs, however, I made a Keybase - this is a great place to chat, send files or encrypt both files and source control transparently. I should make a tutorial on these kinds of things, so that I can help others learn from my mistakes and make use of untrustworthy cloud services.

    TTFN!



    Comments

    banned (URL) said on 2020-10-01T15:37:42.576333505Z:

    Hello there and thank you for your information! I have definitely picked up new information from right here. I did however experience some technical issues using this web site, as I had to reload the web site lots of times so I could get it to load correctly. I had been wondering if your hosting is OK? Not that I am complaining, but I am concerned about slow loading websites for the sake of search engines. Well I'm adding this RSS to my e-mail and can look out for much more of your respective exciting content. Make sure you update this again soon.


    banned (URL) said on 2020-09-29T05:22:11.475633514Z:

    Fascinating discussion, worth commenting on. I believe that you ought to publish more about this topic, it might not be a taboo subject, but generally people do not speak about these topics. To the next! Cheers!!



    Post a comment


    The categories of truthfulness of information

    Permalink | Published: 2019-06-15 16:17:00 UTC | Tags: truthfulness danganronpa falsehoods nonsense falsehood kokichi mistake oma unknown detector lies lying mistakes truth unknowns

    I keep hearing so much about the distinction between truth and lies. People say that things that aren't objectively true are "obviously lies". This isn't so, and there's a lot of different levels of truth.

    What inspired me to write this was the detective visual novel and anime Danganronpa series, specifically the character Kokichi Oma, who uses lies to deceive playfully, and is often not known to either be telling the truth or lies. Other parts in the series revolve around finding truth using either other truths or lies.

    However, there's a lot more fine detail to the level of truthfulness of information, that I'll briefly cover here.

    • Truths

      • Objective facts

        Things that are objectively true, and always are true, independently of the universe. These things can be proved without doubt.

        Examples:

        • In the common system of mathematics, there are infinitely many primes.
    • Generally true facts

      Things that are generally agreed upon that it is impossible to absolutely verify (at least for now), such as observations about the universe, and deductions based on it. This includes things "as far as anyone can tell".

      Examples:

      • We are living in a galaxy.
    • Specifically / subjectively true facts

      Based on experience, what a person may internally observe, remember or prefer, whether or not what they remember is verifiable. This may not necessarily be a truth for everybody. Opinions are included in this.

      Examples:

      • I am writing a blog post.
      • I like sushi.
      • Any kind of delusion is an example, because the speaker genuinely believes it.
    • Unknowns

      • Rumsfeld Known Unknowns

        Something that is known to be unknown, either for now or always.

        Examples:

        • I do not know whether my great-great-great-times-a-thousand-grandfather had three or fewer children.
      • Rumsfeld Unknown Knowns

        What is not known to be known.

        Examples:

        • "It was right in front of our nose the entire time!"
      • Rumsfeld Unknown Unknowns

        What is not known to not be known - at all, without any reference or guesses.

      • Secrets

        What is known up to the specifically true range, but hidden and not explained, to protect people, data or knowledge. This information may later be leaked if it is not protected well enough, or deemed later to be not necessary to protect.

    • Falsehoods

      • Mistakes

        Often misattributed as lies, somebody may think that they know something, but they get it wrong, either by mis-remembering, citing an incorrect source or being told by somebody who also made a mistake.

      • Lies
        What is known up to the specifically true range, but deliberately obfuscated or told wrongly. There are several broad reasons for lying.

        • Malicious lies

          Told to deceive, confuse, avoid consequences, or to protect secrets or feelings

        • Political lies

          Told by many to get out of trouble.

        • Religious lies

          Told to ensure loyalty, or to induce fear and panic.

        • Forced lies

          Told to ensure an authority will not punish the liar.

        • Deluded lies

          When the alternative to lying is too painful, physically or mentally, but the liar knows that it is a lie. Different to a delusion, which is a personal truth.

        • Playful lies

          Told for fun, such as playing pretend, spreading chaos or to make things interesting. Often not serious in the slightest.

      • Non-categorised

        Things that cannot be rated in terms of truth because they don't relate to a statement, such as a question.

      • Nonsense

        Things that cannot be understood at all.

    Let me know if I missed anything or if you think something should be changed!



    Comments

    SRC (URL) said on 2020-04-02T14:47:50.812Z:

    You're correct in so many ways. Can't thank you enough.



    Post a comment


    Appropriate punishments?

    Permalink | Published: 2019-03-09 18:40:00 UTC | Tags: murder punishment thief death killed lawmaker country criminals criminal justice law stolen thievery accountant victim crime kill stole jewel killing

    I keep hearing about people complaining about the punishment for this or that crime is too little or too much. I've got a simple (ish) idea for the calculation of appropriate punishment. This is what I would probably (naively) implement, had I known no better if I ever were to create or edit a country. Hear me out.

    The decision for whether a crime is a crime is dependent on the relative loss to a person or entity. Generally, most crimes have loss and the amount of loss is to be decided between the lawmakers and those who have lost, taking into account what is gained proportionally to the ratio of that which has gained to what that which has gained already has.

    Then, the appropriate punishment should be the addition of the reversal of the crime to the calculation of the amount of that which has been lost over the time over which it has been lost, to the extent that the entity which has lost is happy that the debt has been repaid.

    For instance, for petty crimes like vandalism, it would depend on the type. So if we imagine a bridge with a mural has been vandalised with a large logo, the entity which has vandalised would have to reimburse the original creator of the mural with not only the exact fixes which were required (e.g. cleaning or
    repainting to the exact original specification so that an expert would not notice the difference), but also work on another mural with the same artist for as long as it would take to make up the value lost of the original (e.g. speed it up for as long as the vandalism was viewable, or perhaps take into account the amount of extra business that the creators had lost and add this on, until the original artist was happy). All of this would be decided between the entity that had been lost and the lawmakers.

    A bigger example might be thievery. If a thief had taken a jewel, they would have to at no cost to anybody return it (which would mean buying it back at the original price if it had been sold) plus reimburse the place it had been taken from with the amount of lost business or people had it made a difference to the business from where it had been taken, or if it was taken from a home, not only return it in its original condition (one would have to clean it or something) but also perhaps to pay for a psychiatrist for the mental trauma it had caused and add the extra quantified amount of happiness to the person to make up for the time where happiness was lost (from thievery to the solved state upon finishing the course of psychiatry). Of course, if the happiness was never solved, the fine for the thief would potentially be unlimited.

    For murder it's perhaps more silly, but the most reasonable thing I can think of is that the murderer would both have to spend the amount of time required researching and bringing the person back to life in their original state and invest in the amount of happiness required to make the mental state of their loved ones the same as it was before, as if it had never happened. They would also have to perform acts to the world which the victim was capable of, such as finishing their work in their exact manner. This could be difficult and troublesome but that's just the cost of murder now. This reminds me of the unaging quote from Kim-Yeung O'Flaherty: "You killed my accountant! Now you must be my accountant!" (I couldn't find an original source, but here's an impression).

    Perhaps if the victim knew no one and the world was "not at a loss" for the loss of the victim, then all it would require is the restoration of the life of the victim and no more. This still is a ridiculous feat, but that's just how I see it, and it's what people would have to be tasked with for murdering. No less than a life of painstaking research of something that may not be doable.

    In summary, I don't believe in "an eye for an eye", but I believe instead in "an eye for a replacement eye. functionally the same, and appropriate reparations for when this eye was not functional in an agreed way, as if there was never an eye missing".

    So, criminals need to undo crimes to the extent that it's as if they never happened at all. No more, no less. No dying as punishment for killing. People's situations are all different! No spending time learning how to be a more criminal criminal with other criminals as punishment for being a criminal, and then not being able to get a job because the criminal was previously a criminal, which leads the criminal to do more criminal things, no. Just pure undoishness is my philosophy.

    Did I make any sense? Could anything have been better clarified, and could I improve upon this idea? Please let me know in the comments below.



    Comments

    No comments at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    Post a comment


    The solution to clickbait: put the answer in the title

    Permalink | Published: 2018-07-16 19:31:00.002 UTC | Tags: click sponsors recommended ads solution description advertising clickbait history depth bait relevant

    And perhaps a short explanation or description of the details as a subtitle.

    Then maybe an in-depth description with history.

    Break it up with paragraphs for easy reading, but don't put anything in between to break the readers' flow.

    When you've finished, maybe explain how to get more of your ideas if you like, or some you particularly like, don't let an engine do it for you, since whenever that happens, it inevitably invades the users' privacy and shows them something inevitably irrelevant, because that's what pays the maker of the engine of "recommended links".

    You'll then get liked and viewed more, because your content was easy to read, and wasn't riddled with irrelevancies that inevitably steal the users' attention, and think that the article has finished when it hasn't.

    Now it has.

    If you liked this, please check out more of my stuff, because I say things that are on my mind, rather than let machines speak for me for a quid.

    ttfn



    Comments

    No comments at the moment. Be the first to comment!


    Post a comment


    Algebra is not hard

    Permalink | Published: 2018-07-10 11:30:00 UTC | Tags: numbers letters shorthand variable arithmetic manipulation apples fruit algebra difficulty oranges counting mathematics maths

    If I were to tell you that I was taking two apples and three oranges home, you'd know what I mean.

    Algebra's the same.

    You'd know that if I told you that my friend Geoff (I don't have a friend called Geoff) came home with three more apples and five more oranges, that we would have a fruit party, because we're pathetically hungry.

    Using algebra is just the same as having shorthand. Maybe it's not the concept, but it's the shorthand that bothers some people?

    I don't know that if algebra is difficult for one person then arithmetic is also difficult, but do let me know if it is this way for you!

    All algebra's doing is giving things shorter names so that they can be manipulated more quickly. Perhaps that's where the issues start?

    If this therefore confuses you, it may be something deeper.

    I'm going to have the letter "r" short for oranges here, as having "o" is too much like zero:

    2a + 3r + 3a + 5r = ?

    Is it easier if I write it in words?

    Two apples, and three oranges, and three more apples and five more oranges, is how many of both?

    In real life you'd know to count apples together and oranges together, and even if you do it one by one, I'm struggling to see where the difficulty is in that.

    Is the difficulty having symbolic metaphors? (I have to use 🔶 for oranges because Blogger doesn't know about them).

    2🍏 + 3🔶 + 3🍏 + 5🔶 = ?

    Would one have to count them out to make more sense?

    🍏🍏🔶🔶🔶🍏🍏🍏🔶🔶🔶🔶🔶 = ?

    That's now just simple rearrangement. Is that somehow easier? So, I move some around and...

    🍏🍏🔶🔶🔶🍏🍏🍏🔶🔶🔶🔶🔶 = 🍏🍏🍏🍏🍏🔶🔶🔶🔶🔶🔶🔶🔶

    Ta-da!

    (I wonder how much all of that costs...)

    So I really struggle to understand which bit of algebra is difficult for people. Any thoughts, anyone?



    Comments

    Unknown (URL) said on 2019-03-09T18:47:48.136Z:

    Fair enough, Daniil. I was only referring to the substitution and basic algebra that people learn in school the first time they do it. Of course there are harder parts, but I only meant the actual understanding was a letter meant a number that can be indefinite. But fair point nonetheless.


    Daniil Baturin (URL) said on 2018-08-23T19:04:35.154Z:

    I'm not sure if anyone is having a problem with this part. I can see how manipulating polynomials, especially the long division, can feel highly unusual to people.

    Besides, algebra _is_ hard. ;)
    The fundamental theorem of algebra remains magical for people until much later, when they learn complex analysis, and they have to just believe it. Proving whether a number is algebraic is still a black art.



    Post a comment


    What would you like to see?

    Permalink | Published: 2016-10-28 03:03:00.001 UTC | Tags: you tech next what like see science would to personal

    Just a short one tonight:

    What would you like to see me cover here? What would you most like to see?

    More tech, more personal, less personal, more science, etc?

    Ta-ta!



    Comments

    No comments at the moment. Be the first to comment!


    Post a comment


    You're Doing It Wrong: How to report a bug

    Permalink | Published: 2016-10-19 19:45:00 UTC | Tags: search pester again error True report english printer programmer power google False wrong linux turn bug information request message support

    [Taken from a Google+ post]

    Many support requests don't contain critical information needed to actually support.

    Learn how to ask for help by following these instructions:

    • Make sure all attachments and power are double checked to be secure connections
    • Look for an error message
    • Google the error message
    • Submit your question along with any error related output, custom settings and most importantly steps to reproduce.
    • Wait.
    • Don't pester.
    • Learn English, it's a lot better if you use proper grammar so that people will understand your problem.

    Wrong:
    Help!!! My Linux doesn't want print! I need have my no.

    Right:
    My brand x model y printer refuses to print on the grounds that I get the coloured light z and my distribution Q tells me that the reason is W when I try to G and then H. Can somebody suggest what steps I should take to resolve this?

    This information has been brought to you by the society of programmers who wish people would learn to report bugs properly.



    Comments

    No comments at the moment. Be the first to comment!


    Post a comment


    General update on the current state of my life

    Permalink | Published: 2016-10-19 19:00:00.003 UTC | Tags: hunting job social trek wolfram entertainment life media transgender games star podcast skyrim linux gnu software doctor who blog maths

    Hello everyone!

    Thought I'd give something of a general overview of my current October "2016" (but is it really, etc.). Life updates are something I'm really, really bad at, and I thought it would be nice if I didn't just have 140 characters or a broken platform to play with. Not that Google isn't a total joke.

    Maybe I'll move this blog over to my real website, which uses Let's Encrypt, which is a free SSL certificate vendor, and offers an automatic client to refresh (since oddly it only gives 3-month certificates).

    Job hunting is sour. I had really hoped to be able to carry on getting people to contract me to make websites but I haven't had anything for going on 7 weeks now (gosh, I sound like a mother telling you the age of her child). My usual contract profession is that I build websites for people at home (If you happen to know anyone who needs it, please get in touch), but I am also an avid musician who plays the guitar and keyboard mostly, and am interested in perhaps joining a local band.

    I'm making a plethora of new software (mainly because I like coding and I'm often bored, see my GitHub). I was inspired by Matt Parker in his video about letter to number relationships, so I tried to build something automated to see if I could find more. I do love maths and have made a bunch of programs to do a few maths-y things (here are some more!). I've even got myself onto the Online Encyclopædia of Integer Sequences (twice!), and made a Node.js library for accessing it.

    A few things I've made that I'm particularly proud of are Project Chaplin (code) the first free software video sharing website, a half finished social network manager, an automated Apache vhost manager, a clever command-line Omegle client,  the beginnings of a first person shooter, with its inspiration in a set of software-rendered demos. I have also made a DeviantArt and Pinterest photo scraper, and had yet another thought about how universal packages should be built.

    A few more toys (I wouldn't call them big projects) I've created are a dumb wordoid generator, a Pastafarian finite state machine, a program to play cricket with the input stream to teach me a bit of C++, a few spacey gravity simulators, an equation-based synthesiser, a webcam-based tone generator, a third-party Jamendo audio player, and even a 16 and a 32 bit OS, to teach me assembler and C.

    Although hardly started, I seem to love gamepads so much, I made something that looks almost like a game (with free pictures taken from the Internet) that basically does nothing but allow you to test a gamepad.

    On the useful scale, I decided I wanted to see how up-to-date a few popular GNU/Linux distributions were, so I made a little tool to find out. I might extend it with something or add automation later.

    In the future, I will probably re-make my static silly Linux-based distribution into something more sensible (stay tuned), make something to do fun things with Wolfram Alpha (I haven't decided what yet), and make an automatic web page categoriser based on string matching of page structure, as I did when I used to work for an analytics platform.

    Entertainment-wise, I finished marathoning most of the Star Trek (all series) episodes ever. I thought that series 3 of Enterprise was total gobshite. 4 was alright though.

    I'm marathoning Doctor Who. It's fantastic stuff, I haven't yet gotten past the lost episodes, but there are plenty of clever reconstructions from photos, occasional surviving clips and the existing (I think?) audio. At least it sounds like the real Doctor (I've gotten up to Troughton, if you're interested). Maybe he's got an impersonator? Who knows.

    I play computer games more than usual (which I know is an important life skill). My favourite at the moment is Skyrim. Let me know if you want more on that.

    I research my family history. I've gone back about 500 years, I'm sure I could even find you. I use Ancestry for that kind of thing and have almost 1000 people in my tree. It's very interesting to me and one discovers pretty crazy things about one's own heritage!

    I'm going to see if I can blog a bit more, as it gives me a bit of free reign. Maybe I should do regular segments like discoveries of the week. Yes, I'm definitely a podcast. In fact, I'd rather like to do a tech-related podcast with someone. Any takers?

    Ta-ta.



    Comments

    No comments at the moment. Be the first to comment!


    Post a comment


    My favourite font is nonexistent!

    Permalink | Published: 2016-10-19 17:59:00 UTC | Tags: font sans serif typeface letters ocd type quirky writing preschool source educational weird open education free software picky fonts text

    I think I'm a bit OCD. When I was growing up, I was shown a way of writing and since have always preferred it. However, there seems to be no such font. This is very particular of me, and the font I'm looking for is close to a "natural" font, or so I've been told.

    It is described thusly:

    • Sans serif
    • Single story "a"
    • Round letters (based on circles)
    • Double height "f"
    • Single non-looped "g"
    • Triple-tipped "G"
    • Serif-topped "I" and "J"
    • Non-flicked "q"
    • Inside and outside straight 45 degree Q-tip
    • Double-tipped "t"
    • Asymmetric "Y"
    • Seriffed "1"
    • Non-stroked "7"

    Font buffs, do you know of anything? A hint is that it may have been used for educational purposes. I may have to edit a similar font if I can't find what I'm looking for. It's a shame that none of the "describe to find" font websites provide simply free software and open source fonts, or are available on Google's font library.

    That's it for my incredibly OCD rant, till next time.



    Comments

    No comments at the moment. Be the first to comment!


    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 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 at the moment. Be the first to comment!


    Post a comment


    Project Chaplin 0.3.1 Released

    Permalink | Published: 2016-09-16 14:23:00.002 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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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:

    1. 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]
    2. 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".
    3. 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.
    4. One or many BSD communities around the world to support and help develop these distributions, such as forums, help desks, etc.
    5. 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] (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://www.freebsd.org/doc/handbook/filesystems-zfs.html
    [13] http://opensource.org/licenses/CDDL-1.0



    Comments

    No comments at the moment. Be the first to comment!


    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:

    1. DO provide relevant content for your users related to the subject material of the website.
    2. 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.
    3. DO invest in prospect analytics platforms like CANDDi to better understand your audience.
    4. DO provide more text than images.
    5. DO try to keep any media included to a minimum.

    The Do NOTs:

    1. Do NOT advertise irrelevant or spam material such as drugs, gambling or uninteresting products.
    2. Do NOT obscure other more relevant content such as the body of an article by using any form of pop-up.
    3. Do NOT automatically play audio.
    4. Do NOT play potentially distracting videos without user input.
    5. Do NOT use flash as this pretty much destroys SEO and ruins experiences, memory and bandwidth.
    6. Do NOT take up a lot of screen real-estate, as this can affect content on phones or poorly designed menus.
    7. Do NOT prioritise your material over the actual content of the page or provide any sort of delay to get to the content wished.
    8. Do NOT take over or modify existing content.
    9. Try not to include video at all as this can hurt people's bandwidth.
    10. 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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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.

    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 at the moment. Be the first to comment!


    Post a comment


    Features I'd like to see in Sauerbraten

    Permalink | Published: 2010-02-08 00:38:00 UTC | Tags: open windows linux mac os x opengl games 3d sauerbraten

    I love the game Sauerbraten. But I can think of lots of ways I think it could be improved. I'll of course try to help this happen, and might update this list (and add suggestions!).

    1. Proper gravity (including flying objects, perhaps toggle gravity of objects)
    2. Fire hurts
    3. Gunge/Poison
    4. Circles/spheres easy creation
    5. Saving of objects/big stuff for later
    6. Admin coop AKA Play God - in which only the master can use editmode - great fun for "playing god" and wreaking havoc when no one else can.
    7. Heightmaps in multiplayer (H key)
    8. Breath (eg you die underwater after a while, like in Quake)
    9. More ambient soundtracks, ambient noises.
    10. Button triggers (eg you press or shoot something and something happens).
    11. Proper doors that open or swing
    12. Moving objects (automatic or manual via button/trigger) - eg trains.
    13. Large walls of teleport material, for e.g. trains, yourselves.
    14. Materials that change to others after a certain time, e.g. noclip slowly to air
    15. Door keys
    16. Liquid viscosity
    17. No glitching when you try to put a hole in a pyramid
    18. More human models
    19. Gun reloading sequences
    20. Auto getmap/sendmap (Getmap when you join, sendmap when someone else joins)
    21. Master newmap restriction
    22. Grappling hook
    23. Item capture - person who captures most items without being killed wins.
    24. Marks on walls from chainsaw
    25. Flamethrower
    26. Gravity gun
    27. Physics gun
    28. Time/space warping (global/local/gun) (haha)
    29. Shield/Disarming field
    30. Turrets
    31. Vehicles

    32. Flammable items/materials (e.g. wood) with degrading.

    33. M/F Voices (inc. player), not just "captured" but also "lacerated" etc.

    34. Female models?

    35. Customisable music

    36. Panic mode (Fuzzy/red view when player has too much adrenaline)



    Comments

    Unknown (URL) said on 2010-07-19T16:23:24.239Z:

    burning things and vehicles can be realized/simulated by scaling flames. In Sauerbraten you can change colours and scale of particles, including flames by pressing PERIOD.
    the door script isnt so difficult . If game mode is singleplayer it can be done by pressing ESC/options/ents/trigger and choosing the right triggers for switch and door. So it can be realized for examplethat a door opens if you walk towards it.
    But i miss some other things in sauerbraten,too:
    - *.tga as a texture file
    -breakabe things, e.g. glass
    -triggers for cubes and not only mapmodels (define a number of cubes as a model..)
    -more trigger options:
    ×trigger move(move sth to a position when u go through trigger)
    ×trigger movie (yes, I think, then a story will be created)
    ×trigger hurt(i dont like it to be death immedatley)
    ×trigger say(a text is displayed on screen when walking through it(e.g. for map-tutorials or quests))
    ×ladderclip(i know that ladders are possible, but clip is better)
    -smaller grid(yes, i like to have very detailed things)
    -better gameplay(reloading nessecary, not so high jumps, not so fast running, more weapons, crouching instead of having small playermodels
    -monsters in Mp(all players fight together against monsters)
    -vis optimizing(you don't load what u don't see)
    -teleports/jumppads without sound(or custom sound)
    -...
    I think n general that triggers like doors should be realized with material(like clip,lava and so one)so that the trigger shows which cubes/objects should be the action of the trigger
    So you dont have to create own models( and animations(difficult)


    Unknown (URL) said on 2010-02-24T14:18:16.006Z:

    for fire hurting just add the death material over the fire
    a few of the things that you want are already in there they are just single player exclusively.
    there are buttons and triggers in sp. for how to make one check out the sauerbraten docs that came with the game. (its under the mapmodal entrie
    in the editing reference). the doors opening thing is just because no one has made a modal with an animation that swings. you can achieve the telewall by making teleports with the tag /newent teleport [the teledest number] -1,
    this creates an invisable teleport of which you can create mutiple to
    cover said wall with.
    moving objects are also only in sp.
    use the ent type elevator to go up/down and the type platform to go any other direction. for door keys you just need to setup a script for your map that requires you to get one trigger before the other will do anything. (im a little weak on cubescript but ive seen it done)
    the rest would make awesome additions to the game (burning things and vehicles would be my favorites here)



    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 online version, or download to your server. 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 or download the software 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 or a shorter version: http://hackerlanes.com



    Comments

    No comments at the moment. Be the first to comment!


    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 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, so anyone can start developing apps to distribute in Xenon's upcoming App Store.

    The project's homepage is located at http://hackerlanes.com 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 at the moment. Be the first to comment!


    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
    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 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 at the moment. Be the first to comment!


    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: http://xenon.kevinghadyani.com
    To try out the web based desktop for yourself, click here: Try The Desktop . 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

    Thank you, and have a good day!



    Comments

    No comments at the moment. Be the first to comment!


    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 http://xenon.kevinghadyani.com . 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


    A * For That

    Permalink | Published: 2009-09-12 22:32:00 UTC | Tags:

    My goodness. First it was I'm a PC/Mac... obviously you're a bloody human.... since Apple said "there's an app for that", Subway of all companies have invented "There's a Sub for that"... Geez, talk about not being able to afford imaginative people... Oh, and I'm Spartacus.



    Comments

    No comments at the moment. Be the first to comment!


    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:
    http://xenon.kevinghadyani.com



    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.
    Xenon



    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


    Answers to the big questions

    Permalink | Published: 2009-06-29 12:30:00 UTC | Tags: how why universe life creation where robots

    Questions like "Why is the universe made mostly of matter?", "Why are we here?", "Is there a god?", and "Is there life on other planets?" are answered scientifically here.

    Why is the universe made mostly of matter?
    Simply because it had to have matter and antimatter to come out of pure energy. Antimatter, doubtless, is hanging around somewhere, perhaps it's the "dark matter" or locked up in that "dark energy" that scientists are theorising about so much. But the fact remains, if we are here to question it, there must be one type of matter primarily in the same region of space as us. Otherwise we wouldn't be here to ask. If there were matter and antimatter in the universe, one would annihilate the other and we wouldn't have got here.

    Why are we here?

    This question is quite vague. By "why are we here" I mean, why did humans exist in the first place? Not "why am I living here specifically".

    Imagine the early universe. Googolplexes of things bashing into each other at phenomenal rate. One is bound to create an atom of some sort. In a universe of such ridiculous amounts of matter, one somewhere is bound to create something useful. So chances are, one is bound to create life. Now this life may or may not die out almost instantly, so it needs a way to duplicate itself if it's going to survive. It may or may not care, but the important thing is, that if a life form is created during the early time of Earth, only life forms that do reproduce actually get to evolve. And evolution, obviously, is tiny changes in genetic structure, randomly happening. So, only the life that evolves into the "right" kind of life gets to stay reproducing. Granted, other forms of life mutated too, but only the "best" kept its longevity. So random life just happened to appear our of the primordial ooze of the early Earth. It was of course bound to happen somewhere. So up and up went the forms of life that were best suited to surviving. Eventually, humans evolved out of those plants and animals. We discovered machines, and they help us to do what we want. In fact, some believe we are going lower and lower on the evolutionary ladder, because we are getting more and more used to technology helping us along, and become less and less needy of the things we are born with naturally.

    Now, so why did we have to be HERE, specifically? Well, we'd be asking that wherever we were, because if we weren't here, we'd be asking the same elsewhere. It's all just a factor of chance.

    Is there a god?

    Since we've gone this far from randomness alone, and what pretty randomness it is, there is unlikely to be an external force needed, except for whatever the big bang was created out of. People have created imaginary deities in their mind, tried to believe there was a familiar "being" that could not be explained or argued against, and that we were at the centre of the universe, and let others believe this too. This was to stop them from going mad, because if anyone knew the truth about how insignificant we were, or how we didn't matter that much, cosmically speaking, they would, to put it bluntly, not be content,

    Are there other forms of life on other planets?

    Almost certainly. In the random beginnings of the early universe, there was bound to be more than one life form that evolved. Some believe close planets such as Mars may have contained life at some point, but do not now. In our theory, life as we know it has to have water as one of its important constituent components. But who says all forms of life have to have water? For all we know, planets might be alive. But here, we do not quite know what defines as life. Maybe a different form of life has some of the forms of life as we do and not others. We wouldn't classify it as life. Just as we wouldn't classify robots as life, aliens might do. They reproduce (create other robots), eat (electricity), excrete (fumes), move, and all manner of things that might be attributable to life. Even intelligence is not necessary in life. Just look at plants. We do not think they are particularly intelligent, but if they've survived this long, they must be doing something right. So to me, it's almost a certainty that life exists elsewhere, it's just a matter of us understanding what life is.

    Next time, how many dimensions are there? How many universes are there? How far can we perceive?



    Comments

    No comments at the moment. Be the first to comment!


    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 http://www.linux.com/feed/151604 ) 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 http://www.daniweb.com/blogs/entry3288.html 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 http://www.kumailht.com/blog/linux/10-features-ubuntu-should-implement/ gave 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 ( dandart googlemail com) if you would like to be involved in this project.

    Thank you.



    Comments

    No comments at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    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 at the moment. Be the first to comment!


    Post a comment


  • Atom Feed