CompSci.ca/blog » Software http://compsci.ca/blog Programming, Education, Computer Science Fri, 30 Jun 2017 02:31:52 +0000 http://wordpress.org/?v=2.8.4 en hourly 1 Computer Virus: mostly harmless by definition http://compsci.ca/blog/computer-virus-mostly-harmless-by-definition/ http://compsci.ca/blog/computer-virus-mostly-harmless-by-definition/#comments Tue, 06 May 2008 04:27:27 +0000 Tony http://compsci.ca/blog/computer-virus-mostly-harmless-by-definition/ virus warning sign
Original image by Totoro!

There seems to be a lot of misconception about computer viruses. While many think that it’s anything that damages one’s computer, it is not entirely so. The fallacy likely originates from the misuse of the term in mass media (similar to how the hacker culture, as in MIT, Stanford, Waterloo, has been getting bad rep over kids running ready-to-cause-damage scripts and getting caught).

A computer virus, on its own, is just a mechanism for a program to replicate itself. Much like in biology, it usually embeds itself into a host program. In the realm of academic study, that is all a program does. Though “in the wild” viruses typically carry some payload code, and that is what we should be most concerned with.

The anti-virus virus

If a virus is able to spread some malicious code, then another virus should be able to spread the fix against it just as well. The is exactly what the, now historic, Creeper / Reaper pair of viruses has done (the latter removing the former).

More recently, a Welchia worm has spread itself to patch the vulnerable systems and attempted to remove the Blaster worm and then itself.

It should be noted that a vast amount of traffic was still generated as a side-effect of the program’s activity, but from an individual computer’s perspective it was better off to have been patched (that is, other than an unexpected reboot during the patch process).

The ‘hello world’ viruses

elk cloner output

Most of the early viruses had the sole purpose of spreading a message. One of the very first viruses — Elk Cloner, simply printed a short poem about itself on startup, and was intended as a joke. Viruses could also be used to spread political messages or bring attention to other issues.

Adware

Adware is software that displays advertisement. And while there are, arguably, legitimate adware programs (mostly IM chat clients such as Yahoo! or MSN messanger), this is one of the driving forces behind viruses — an installed adware program == a tiny revenue stream.

Spyware

Unlike adware, spyware does not display ads to you directly, but tracks your activities for “marketing” research. It could then be coupled with adware to, oddly enough, send you more relevant spam.

A different approach to spyware is to simply attempt to steal your identity and/or creditcard numbers. Just a few successful hits are required to make this operation worthwhile.

Trojans

trojan horse
Original image by ccarlstead

A trojan, much like it’s greek mythology counterpart, is a backdoor access program delivered by a virus (or other means, such as social engineering — when a user is tricked into downloading a trojan, thinking it is something else).

Capable of doing anything, it is commonly used for a remote access to injected computers to buildup botnets — networks used to send out spam or deliver DDoS attacks.

Cryptovirology

Cryptovirology is a “fun” one, in a matter of originality. The idea here is to encrypt the user’s hard-drive and demand a ransom to be paid for the data. Though this is more likely to be executed by a trojan than a virus.

Malware

Malware is where the serious damage comes from. This is the payload designed to break things — delete files, corrupt systems, etc. So while I could stretch my ethical boundaries and imagine the reasoning behind any other sort of an exploit (that being profit), malware does nothing but provide the knowledge of indiscriminatory raw damage done to the systems.

This is unacceptable.

This is also the type of outbreaks that mass media gets all worked up about, but it takes a computer worm to spread so much so fast, not a computer virus (the difference being that a computer worm will propagate itself, instead of having to piggyback on a host program, like viruses do).

So lets get the terminology straight. Malware — very bad. Computer worms — also bad. Computer virus — mostly harmless by definition, it’s the payload that determines just how annoying the result is.

No related posts.

]]>
http://compsci.ca/blog/computer-virus-mostly-harmless-by-definition/feed/ 28
Playing catchup with Open Source – Microsoft gives out (more) free software to students http://compsci.ca/blog/playing-catchup-with-open-source-microsoft-gives-out-more-free-software-to-students/ http://compsci.ca/blog/playing-catchup-with-open-source-microsoft-gives-out-more-free-software-to-students/#comments Wed, 20 Feb 2008 04:34:26 +0000 Tony http://compsci.ca/blog/playing-catchup-with-open-source-microsoft-gives-out-more-free-software-to-students/
  • Getting Started with the XNA Creators Club
  • Software piracy in schools
  • French students to get open source software on USB key
  • ]]>

    Microsoft gives students access to technical software at no charge to inspire success and make a difference

    Or Microsoft is playing catchup with the open source community, and is trying to hook students onto their technology before they get accustomed to having alternatives. Either way, we get some professional grade software out of this. Score.

    Microsoft DreamSpark download pack

    The downloads are available from channel8.msdn.com, but you have to verify yourself (through Windows Live ID) as a University student in one of “supported” countries. Yes, that does include Canada. Alfred Thompson points out that availability to high schools is coming soon, and has more commentary on his blog.

    So what’s in this pro-grade package?

    • Visual Studio 2008 Professional Edition — I suppose this would be a nice upgrade over the already free Visual Studio Express
    • Expression Studio — a package of web and media design tools. WYSIWYG editors, *yieks*
    • Windows Server, Standard Edition — well hey, it’s a fully licensed copy of Windows to run those virtualization images
    • Though my personal favourite is:

    • 12-month free membership in the XNA Creators Club — finally you can run your own code on your own Xbox 360 without having to pay for it… well… for a limited time.

    Bottom line — I think this is simply too little, too late. This is nothing substantial or new. A lot of this software is already distributed through Universities via differently named channels (MSDN Academic Alliance). Still, I think this move can be interpreted as a sign of changing (changed?) trends, and Microsoft’s acknowledgment of the Open Source community’s involvement with students and developers. At Pro level. The best is yet to come.

    Related posts:

    1. Getting Started with the XNA Creators Club
    2. Software piracy in schools
    3. French students to get open source software on USB key

    ]]>
    http://compsci.ca/blog/playing-catchup-with-open-source-microsoft-gives-out-more-free-software-to-students/feed/ 20
    Download Turing 4.1.1 http://compsci.ca/blog/download-turing-411/ http://compsci.ca/blog/download-turing-411/#comments Wed, 28 Nov 2007 09:13:21 +0000 Tony http://compsci.ca/blog/download-turing-411/
  • OpenT : A Free Alternative to Holtsoft’s Proprietary Turing IDE
  • Copyrighting a Programming Language (syntax and other Intellectual Property)
  • Plagiarizing code for computer programming assignments
  • ]]>
    Turing logo

    The Turing (winoot) programming language has gone freeware. Dr. Holt himself, of Holt Software, has let us know of that in an email:

    We have just posted a free copy of PC Turing on the company website http://www.holtsoft.com/

    We’ll investigate putting various books published by the company on the web for free as well.

    Holt Software’s Turing 4.1.1 IDE and compiler are available for download, “free of charge for personal, commercial, and educational use”, from their website. It is also mirrored here.

    There’s a mixed reaction in the community. While most welcome the free distribution of the latest version of Turing, the future of this programming language is now less certain. It is likely that the only future development will come through the OpenT initiative.

    It would be interesting to see if Ontario school boards will start looking for another commercialized introductory programming language, to replace the now obvious lack of official “support” for the Turing programming language. Though until that happens, the free availability of the compiler and additional resources can only benefit the students. Standardization of the language’s version number will also make peer support more universal.

    So get your free copy of Turing 4.1.1 and head over to the community forums.

    Related posts:

    1. OpenT : A Free Alternative to Holtsoft’s Proprietary Turing IDE
    2. Copyrighting a Programming Language (syntax and other Intellectual Property)
    3. Plagiarizing code for computer programming assignments

    ]]>
    http://compsci.ca/blog/download-turing-411/feed/ 26
    Software design: Simple is beautiful http://compsci.ca/blog/software-design-simple-is-beautiful/ http://compsci.ca/blog/software-design-simple-is-beautiful/#comments Fri, 23 Mar 2007 23:09:33 +0000 Tony http://compsci.ca/blog/software-design-simple-is-beautiful/ TED - Ideas worth spreading

    Last year David Pogue gave a compelling talk at the TED conference – Technology, Entertainment, and Design. David’s talk was on the state of software: simplicity vs. the accelerating pace of complexity. Users, interface design, and a few musical numbers on frustration with tech support, Bill Gates, and Steve Jobs.

    The 22:00 minute video below is entertaining, informative, and is well worth its time to watch.


    My favourite part is about the “software upgrade paradox”.

    If you improve a piece of software enough times, you will eventually ruin it.

    microsoft word screenshot

    I couldn’t reproduce the blurry screenshot shown in the video, but opening all the available toolbars in Microsoft Word 2000 still brings the user interface close to madness. I could see the first couple of rows used for point-and-click formating, but just try and guess what the rest of all the features are. Notice how some of the icons are identical, yet all call a unique function.

    The hard part is not deciding what features to add, it’s deciding what to leave out.

    Remember, simple is beautiful, lets try to keep the software that way.

    No related posts.

    ]]>
    http://compsci.ca/blog/software-design-simple-is-beautiful/feed/ 6
    WPF UniveRSS – your RSS in 3D, right now http://compsci.ca/blog/wpf-universs-your-rss-in-3d-right-now/ http://compsci.ca/blog/wpf-universs-your-rss-in-3d-right-now/#comments Sun, 11 Feb 2007 23:54:02 +0000 Tony http://compsci.ca/blog/wpf-universs-your-rss-in-3d-right-now/ UniveRSS 3D vista reader

    If “real” hackers write computer programs in 3D (you know, Swordfish, The Matrix, etc), why should RSS be any different? UniveRSS is a 3D Vista RSS reader, that showcases WPF (Windows Presentation Foundation), and represents RSS feeds as 3D cubes spinning around in a virtual universe. A nifty idea…

    You navigate through the feed galaxies in a game-like environment, freely moving in all three dimensions. Selecting items in lists will turn the cube to the next side displaying the item’s content including images. Just click the right mouse buttons and you turn back to the list view or to the galaxy.

    UniveRSS 3D cubes, feed, content

    After a bit of use, UniveRSS doesn’t seem very practical for actually managing and keeping up with one’s RSS news feeds. Though that’s ok, because UniveRSS was more of a showcase application anyways. It was designed to demonstrate WPF features – 3D animations, data binding, and data visualization. There’s even source code available!

    1000 songs Apple iPod + iTunes ad

    Though it doesn’t leave me with the same wow factor, as what Apple’s Core Animation has done for the iPod ads. Are album covers simply more colourful than RSS feeds? Ether way, it seems that both Apple and Microsoft are pushing richer media, interfaces, and interactive effects, which means just one thing – we are getting one step closer to doing everything in 3D. Just like in the movies!

    [Thx Dan for letting me use your Vista computer]

    No related posts.

    ]]>
    http://compsci.ca/blog/wpf-universs-your-rss-in-3d-right-now/feed/ 0
    Firefox horror screenshot – crash errors http://compsci.ca/blog/firefox-horror-screenshot-crash-errors/ http://compsci.ca/blog/firefox-horror-screenshot-crash-errors/#comments Fri, 09 Feb 2007 06:19:56 +0000 Tony http://compsci.ca/blog/firefox-horror-screenshot-crash-errors/
  • Compiler compliant, or figuring out error messages in code
  • ]]>
    Firefox crash screen, full of error popups

    Last weekend, while visiting my parents, the Firefox web browser has crashed on me for trying to watch a video. Not the stopped working correctly type of crash, but the full out send Tony into a psychological shock over BSoD flashbacks type of crash. Complete with illigal operations, error reports, and faulty memory locations – I was greeted with a stack of error messages, destroying any hope for recovery.

    The instruction at 0x7c911c48 referenced memory at 0x00330044. The momory could not be read.

    Nasty type of an error message – “arbitrary instruction asked to read memory, it shouldn’t have”. Pressed ok to confirm.

    firefox crash report window

    Common crash report window. “Please tell Microsoft about this problem.” I don’t think they are interested, especially since…

    QuickTime 7.0.2 The plug-in performed an illegal operation.

    The last window, the only one with any useful information, has been rendered by the crashed application – placing any windows over it would erase the contents (no draw loop). I had to crash my Firefox a few more times before catching a readable screenshot. Error’s orgin appeared to be the Apple QuickTime plug-in, an outdated version actually.

    Solution? Update the plugin to the current version, 7.1.3 at the moment. Not without a sense of irony, my idea of recover therapy was to return home to my Mac OSX system.

    Related posts:

    1. Compiler compliant, or figuring out error messages in code

    ]]>
    http://compsci.ca/blog/firefox-horror-screenshot-crash-errors/feed/ 1
    Who turned off the lights? Internet without GUI http://compsci.ca/blog/who-turned-off-the-lights-internet-without-gui/ http://compsci.ca/blog/who-turned-off-the-lights-internet-without-gui/#comments Wed, 23 Aug 2006 04:41:22 +0000 Tony http://compsci.ca/blog/archives/20 Last night a faulty patch has taken out my X Server, and as a result my laptop has forgotten how to render graphics. This is more of an annoyance than a serious problem, as most of my work is performed in a text console anyways. All of my files are remotely hosted, I develop in vim over a SSH connection, so having GUI call in sick today, there was no reason for panic. Yet it made me wonder – how does the internet look like without all the graphical quirks?

    Introducing Lynx – I have heard of text-only browsers before, and at the time was kind of skeptical of their use, so now was an excellent time to find out how it all works. Ubuntu Linux makes new applications easy to get and install.

    sudo apt-get install lynx

    The interface is amazingly simple: Up/Down to move through the document, Left/Right to follow links, or return through History. There are no pop-ups, no flashing ads, and no distracting graphics. There is a certain poetic beauty to all of this – just pure text content, and no fillers.

    It is simply foolish to think that what you see in your browser is how everyone else sees that same page. Alternative browsers, alternative configurations, and alternative preferences are not in a minority. Text-only Lynx is quite popular with visually disabled, and those with slow internet connections. Similarly cookies could be turned off, and JavaScript disabled. A lot of websites simply break, unable to cope with an abnormality. The term we are looking for here is graceful degradation“A programming technique to prevent catastrophic system failure by allowing the machine to operate, though in a degraded mode, despite failure or malfunction of several integral units or subsystems.” [answers.com] If that doesn’t prompt better web design practices, then think in terms of SEO – plain text is how web crawlers see your website.

    So where does this place Web 2.0? There are no bright pastel colours, no JavaScript, no dynamic layouts. AJAX doesn’t load, and browsers don’t respond as assumed. It might be time to rethink web design and focus on what’s important – delivering easily accessable content.

    No related posts.

    ]]>
    http://compsci.ca/blog/who-turned-off-the-lights-internet-without-gui/feed/ 1
    XAMPP and other Portable Applications http://compsci.ca/blog/xampp-and-other-portable-applications/ http://compsci.ca/blog/xampp-and-other-portable-applications/#comments Thu, 17 Aug 2006 05:28:44 +0000 Tony http://compsci.ca/blog/archives/14
  • French students to get open source software on USB key
  • Firefox for school
  • ]]>
    XAMPPI find the concept of running a webserver from a flash drive to be intriguenly nifty. XAMPP will start up a LAMP server (it is cross-platformed with Windows and OSX versions as well), throw in phpMyAdmin along with other tools, and serve up your application right from the USB port.

    Two main applications for this on the go setup are development and mobile execution of web applications (even if you don’t have internet access).

    Development of web applications has some overhead that needs to be taken care of. Web server for execution, Database for storage, and an Interpreter for running scripts – those are just the core basics. Installing the entire setup on a DeepFrozon computer at school, every day, quickly becomes annoying. Plug & Play XAMPP lets you jump into the development without having to wait for your sys-admin.

    Mobile web applications are essentially your personal installations of web applications, liberated from the wired. Consider carrying your own MediaWiki for taking or looking up notes, without depending on internet access to your webserver.

    Portable Applications SuiteMore from Portable AppsPortable Firefox! In an odd case that your favourite browser is unavailable – bring it with you. Better yet, grab the entire Portable Suite. Weighting in at 117 Mb, it comfortably fits onto my iPod Nano, without compromising my music.

    Moving around a lot, I need portability of my applications to match portability of my own.

    – Tony

    Related posts:

    1. French students to get open source software on USB key
    2. Firefox for school

    ]]>
    http://compsci.ca/blog/xampp-and-other-portable-applications/feed/ 0