<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>the corioblog &#187; GUI</title>
	<atom:link href="http://www.coriolinus.net/tag/gui/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coriolinus.net</link>
	<description>read, and be entertained</description>
	<lastBuildDate>Sat, 09 Jul 2011 19:53:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Small Basic</title>
		<link>http://www.coriolinus.net/2008/11/09/small-basic/</link>
		<comments>http://www.coriolinus.net/2008/11/09/small-basic/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 03:50:34 +0000</pubDate>
		<dc:creator>coriolinus</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Corporation]]></category>
		<category><![CDATA[Visual Basic]]></category>

		<guid isPermaLink="false">http://www.coriolinus.net/?p=2687</guid>
		<description><![CDATA[Microsoft just released another .NET language: Small Basic, designed to get MS back into the business of teaching programming. I have to laugh at parts of the release document. For example, the claim that programming languages started simple and easy to learn, and that the high-level concepts of modern languages discourage people from learning to [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft just released another .NET language: <a href="http://download.microsoft.com/download/9/0/6/90616372-C4BF-4628-BC82-BD709635220D/Introducing%20Small%20Basic.pdf">Small Basic</a>, designed to get MS back into the business of teaching programming.</p>
<p>I have to laugh at parts of the release document. For example, the claim that programming languages started simple and easy to learn, and that the high-level concepts of modern languages discourage people from learning to code. &#8220;Hello World&#8221; is a one-liner only in a high-level language; it&#8217;ll take a beginner a few days of work and tons of documentation to accomplish in assembly. I also loved the section titled &#8220;Rules for naming Variables&#8221;: &#8220;[TODO]&#8221;</p>
<p>In general, this looks like a rehash of QBasic, of which all the warts are still present. The language lesson introduces GOTO long before talking about subroutines. Subs (not functions) access and modify global variables, and are limited to the current file&#8217;s scope. The major differences seem to be that most of the library functions have been rewritten in an object-oriented style and additional libraries for GUI stuff and Turtle programming have been added. Even though the library uses objects, the user has no way of writing their own.</p>
<p>I can see some junior coder at Microsoft doing this as a project for promotion points. It very much feels like a student project. However, I can&#8217;t see any programmer using it to actually teach programming. Small Basic might be useful if your ambition is to one day work up to Visual Basic as an enterprise programming language, but people interested in learning modern programming techniques would be better advised to look elsewhere for their first language.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coriolinus.net/2008/11/09/small-basic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>neologisms are fun</title>
		<link>http://www.coriolinus.net/2006/05/05/neologisms-are-fun/</link>
		<comments>http://www.coriolinus.net/2006/05/05/neologisms-are-fun/#comments</comments>
		<pubDate>Fri, 05 May 2006 14:10:00 +0000</pubDate>
		<dc:creator>coriolinus</dc:creator>
				<category><![CDATA[geekspeak]]></category>
		<category><![CDATA[GUI]]></category>

		<guid isPermaLink="false">http://www.coriolinus.net/2006/05/05/873/</guid>
		<description><![CDATA[Having installed various unices in my time, I find that Ubuntu is the most user-friendly, but that it&#8217;s still not capable enough to be a primary desktop, and not coder-friendly enough to be a server or development box. FreeBSD is more difficult to get up and running, but once it&#8217;s there, it&#8217;s a very decent [...]]]></description>
			<content:encoded><![CDATA[<p>Having installed various unices in my time, I find that Ubuntu is the most user-friendly, but that it&#8217;s still not capable enough to be a primary desktop, and not coder-friendly enough to be a server or development box. FreeBSD is more difficult to get up and running, but once it&#8217;s there, it&#8217;s a very decent secondary box.</p>
<p>I may not have put enough emphasis on &#8220;more difficult to get up and running.&#8221;</p>
<p>So, I&#8217;ve decided to write a walkthrough for how to get a FreeBSD box going. This is almost as much to make me think through each step and ensure that I&#8217;m doing all of them, and in the right order, as a service to the public&#8211;but once it&#8217;s done, I will make it publicly available just in case someone else wants it as well. At just over 9k of text so far, I feel like I&#8217;ve made decent headway. Of course, the next step (installing the GUI) is both optionful and pitfallful enough that I&#8217;m more worried about getting it right myself than getting it into text.</p>
<p>With luck, the walkthrough will be up later today.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coriolinus.net/2006/05/05/neologisms-are-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>593</title>
		<link>http://www.coriolinus.net/2004/08/04/593/</link>
		<comments>http://www.coriolinus.net/2004/08/04/593/#comments</comments>
		<pubDate>Wed, 04 Aug 2004 05:50:00 +0000</pubDate>
		<dc:creator>coriolinus</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.coriolinus.net/2004/08/04/593/</guid>
		<description><![CDATA[Also: I&#8217;m looking for some help with Eclipse in terms of developing GUI applications with SWT. I put together the &#8220;Hello World&#8221; SWT application exactly as specified, but for some reason I still get the following error every time I run: java.lang.UnsatisfiedLinkError: no swt-win32-3054 in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) [...]]]></description>
			<content:encoded><![CDATA[<p><lj-cut text="i need some help from someone who knows the eclipse ide"><br />
Also: I&#8217;m looking for some help with <a href="http://eclipse.org">Eclipse</a> in terms of developing GUI applications with <a href="http://en.wikipedia.org/wiki/SWT">SWT</a>. I put together the &#8220;Hello World&#8221; SWT application exactly as specified, but for some reason I still get the following error every time I run:</p>
<div style="font-family:monospace;color:red;white-space:pre;">
java.lang.UnsatisfiedLinkError: no swt-win32-3054 in java.library.path<br />
	at java.lang.ClassLoader.loadLibrary(Unknown Source)<br />
	at java.lang.Runtime.loadLibrary0(Unknown Source)<br />
	at java.lang.System.loadLibrary(Unknown Source)<br />
	at org.eclipse.swt.internal.Library.loadLibrary(Library.java:100)<br />
	at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)<br />
	at org.eclipse.swt.graphics.Device.init(Device.java:564)<br />
	at org.eclipse.swt.widgets.Display.init(Display.java:1745)<br />
	at org.eclipse.swt.graphics.Device.<init>(Device.java:100)<br />
	at org.eclipse.swt.widgets.Display.<init>(Display.java:343)<br />
	at org.eclipse.swt.widgets.Display.<init>(Display.java:339)<br />
	at gui.Main.main(Main.java:26)<br />
Exception in thread &#8220;main&#8221;
</div>
<p>I know that I should include the location of swt-win32-3054.dll in the VM section of the arguments in the Run configuration section; I&#8217;ve located two instances of the file and put them both in there. It doesn&#8217;t seem to work:</p>
<div style="font-family:monospace;color:red;white-space:pre;">
-Djava.library.path=&#8221;${system:ECLIPSE_HOME}/plugins/SwingVT/lib/win32; ${system:ECLIPSE_HOME}/plugins/org.eclipse.swt.${system:WS}_3.0.0/os/${system:OS}/${system:ARCH}; &#8221;
</div>
<p>I just wish I knew what was going on and how to fix this; it seems to be a problem unique to myself&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coriolinus.net/2004/08/04/593/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>no, what&#8217;s getModel() do?</title>
		<link>http://www.coriolinus.net/2004/02/04/no-whats-getmodel-do/</link>
		<comments>http://www.coriolinus.net/2004/02/04/no-whats-getmodel-do/#comments</comments>
		<pubDate>Wed, 04 Feb 2004 07:06:00 +0000</pubDate>
		<dc:creator>coriolinus</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.coriolinus.net/2004/02/04/457/</guid>
		<description><![CDATA[Java isn&#8217;t a bad language, really. It&#8217;s got a lot of positive things going for it, and when things work right, they come together quite easily. It&#8217;s just that it&#8217;s so incredibly picky. Say that, for some reason, you want to include a GUI checkbox in a program. You can drop one in with no [...]]]></description>
			<content:encoded><![CDATA[<p>Java isn&#8217;t a bad language, really. It&#8217;s got a lot of positive things going for it, and when things work right, they come together quite easily.</p>
<p>It&#8217;s just that it&#8217;s so incredibly <em>picky</em>.</p>
<p>Say that, for some reason, you want to include a GUI checkbox in a program. You can drop one in with no problems at all; it looks like a checkbox, it can be checked and unchecked, it has a string attached, all seems good. Then, say you want to find out what is the state of the checkbox. It turns out to be LITERALLY IMPOSSIBLE. You are REQUIRED to use Java&#8217;s event-driven methodology, which means more work, and more coding time. The checkbox MUST remember its own state internally; it just refuses to tell you. It&#8217;ll fire off an event, in case you&#8217;ve attached a listener, but that really seems like a whole lot of work to just retrieve a boolean value from a component.</p>
<p>I&#8217;m going to go to sleep, and work on this more tomorrow. I wish there was a language that combined the best features of Java and Perl. That is, I want it to be universally supported, have quick and easy GUI applications&#8230; and not enforce a specific programming style on you. Because maybe if you&#8217;re handling 40 checkboxes in a single page, an event driven model really is easier to code and reduces bugs and all that. But when you&#8217;ve got a single checkbox, in its own container class with some other things, and you just want the state so you can write the toString() for the container class&#8230; it&#8217;s just annoying.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coriolinus.net/2004/02/04/no-whats-getmodel-do/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>395</title>
		<link>http://www.coriolinus.net/2003/11/06/395/</link>
		<comments>http://www.coriolinus.net/2003/11/06/395/#comments</comments>
		<pubDate>Thu, 06 Nov 2003 22:00:00 +0000</pubDate>
		<dc:creator>coriolinus</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[William Gibson]]></category>

		<guid isPermaLink="false">http://www.coriolinus.net/2003/11/06/395/</guid>
		<description><![CDATA[Looking at the textbooks of the courses I&#8217;m taking gives an interesting view of their authors and by extenstion the mindset of people in that part of the industry. The AI textbook was clearly written by hackers (look at the definition if you think this is a pejorative term). It&#8217;s lucid, written with a sense [...]]]></description>
			<content:encoded><![CDATA[<p>Looking at the textbooks of the courses I&#8217;m taking gives an interesting view of their authors and by extenstion the mindset of people in that part of the industry.</p>
<p>The AI textbook was clearly written by <a href="http://info.astrian.net/jargon/terms/h/hacker.html">hackers</a> (look at the definition if you think this is a pejorative term). It&#8217;s lucid, written with a sense of humor, and has lots of examples and visual aids. Anyone used to doing the CS thing could easily take this textbook and read it straight through, or look in the index and read through a section of interest quickly and easily. More importantly, they could immediately apply what they learned. It is presented simply, directly, and engagingly.</p>
<p>On the other hand, the Human-Computer Interfaces textbook seems to have been written by people who, like William Gibson, have never actually used a computer but have heard of them and have clear ideas of how they should be operated. The illustrations are nearly all screen captures of programs that were dated even when the book was published, and the most interaction with the computer that the authors expect is for the designer to watch and take surveys of users interacting with the computer. You keep seeing notions about the elderly being afraid of computers, and how computer games are an interesting but trivial case. The majority of the book is concerned with text-based systems, with very few references to GUI applications and their proper design. The user is in nearly all cases supposed to interact with the program with special commands and control key sequences. </p>
<p>The biggest problem with the book is that it is simply dated. There have been a lot of developments in human-computer interaction since computers became graphical beasts, and the book ignores most of them. It doesn&#8217;t even mention how users in games perform complex actions within a game-world as fast if not faster than they could in reality through efficient control mechanisms. Most of all, it doesn&#8217;t feel like it was written by, or for, a programmer. It&#8217;s the type of book that a pointy-haired-boss would read to learn about the subject, not something I would reccomend for an actual programmer or interface designer.</p>
<p>Unfortunately, I get the feeling that this class is just going to reinforce my dislike for implementing code that actually deals directly with the user.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coriolinus.net/2003/11/06/395/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

