Orcmid's Lair

Java 2
Projects Diary & Job Jar

orcmid>
SoftDev
>
Java2>

P000000>
2004-06-28 -22:06 -0700


A running job jar of ideas and notes on projects and tasks for installing, configuring, and employing Java in Software Engineering and Development.

Status

Date

Description

     
     
     
     
  2004-06-15 Scrub the references in here so there is not exposure of MSC-JV class assignments.  Keep that kind of thing out of here.  The "extra-credit" work I did moves over here, but the assignments are not to be disclosed unless the school publishes any assignments and solutions.
  2004-06-15 This should be part of the Jyymmnnx structure.  Make it so and figure out where the actual management of projects goes.  These should be merged, it looks like.   This is all about Java development.  dh:2004-06-28 Then put a project structure, maybe borrowing these pages, in /imprese
  2003-06-26 Also, get clear on final and ways of preventing (some) inheritance/overloading.
  2003-06-26 Get really clear on what the constructor rules are with regard to super() and the cases that come up.
  2003-06-26 If a subclass is a peer in the same package as the superclass, are the package-visible member visible to the subclass without being made protected?  This would provide some protection from strangers getting their hands on protected material, yes?
  2003-06-26 The path down com.orcmid and below needs some kind of support.  I need to provide something visible that exposes the software engineering of this material, how to find more, etc.  I might even need a com.orcmid folder as an anchor to the overall approach.
  2003-06-26 Find out how protected interfaces are from casting back to the implementing object and also casting in directions we don't want to support.  What is the real story and how can it be handled.  If I deliver an interface as the result of a procedure, can I prevent anything but what is delivered from being used?
  2003-06-26 Find out how protected protected really is.  What are the rules for access attributes under inheritance, and what if anybody can extend a class that has protected attributes and see them. This whole business about the level of protection, security, and trust involved in the use of classes like this needs to be understood.
  2003-06-24 Adam Bidwell points out that javac will attempt to compile files for missing classes if there are class-name.java files in the directory to add to the compilation.  It won't find uncompiled classes that are not the same name as their files.  This is a pretty weird model, in terms of the tons of small cruft that it has us build and maintain separately, if we become accustomed to it.  Even though I provided specific instructions for how to install my files (not knowing this about javac), someone tried what they knew as a shortcut and were then derailed.  This leads to standards and SE practices questions.  And how do I want to be neutral but point out that having a standard may matter. But assuming what will work is a different matter for knowing Java inside-out!
  2003-06-24 If I was doing DQ4.2 as an exercise, I would focus more on the 1st, 2nd, etc. ordinal names case and see if there is a way to handle that.  It is more fun, and it is close to Peter Landin's verbalized numbers, which are fun too.  Then those could be extended by asking that it be done in different languages.
  2003-06-24 There is some great discussion of doubles, precision loss, etc., in the discussion of MSCJV DQ 4.1 and I don't want to lose that.  It says a lot about knowing Java inside-out and also about what not to say in a textbook without providing some critical context.
  2003-06-24 Find out if the Knuth errata on TAOCP vol.2 ed.3 covers the index reference to IEEE 754 on p.600 that isn't there.  Also see if MMIX will use IEEE 754 or not (so it can be, ahem, a Java platform).
2003-06-22 2003-06-21 Report the syntax error in the JLS on missing expression statements.  See where this can be found.
2003-06-22 2003-06-21 Report the syntax error on throw (?), continue and break where ";" is not required
  2003-06-11 Can I open a device via Java's supported way of opening files for file-input output?
  2003-06-11 With regard to interfaces, there is the interesting problem about throws clauses on interfaces, and how does that show up in the way throws are checked for checked exceptions!  Interfaces are clearly package relative, and there is some work to do here to keep it all straight.
  2003-06-11 I have an example of why I would have BufferedReader on top of BufferedReader.  I also have a question about marking and controlling how a subordinate moves with respect to the mark and with respect to how the any failure on the part of the subordinate is detected and what we could do about it.  Finally, there is the Jack Dennis paper on reproducibility to dig out and cite in this context.
  2003-06-11 The commitment to a single machine, that the JVM is everywhere, strikes me the same as the Y2K problem.  Eventually, it can't work.  What will the eventuality be like, and what will we have to do then?
  2003-06-11 I have been thinking "Java from the Ground Up" as a topic and title for publication in this area.  It would include fundamental integration in the platform, as well as fundamental characteristics of the core run-time.  Going outside of the core would only be enough to cement these ideas.  The ability to make components is part of the question, because class loader and such should be part of the deal.  Also, what one can do with the JVM directly or by assembling ones own classes, since that matters too.  The extensions might apply only to the extent that they cannot have been written in Java and used on the core.  This is also something worth figuring out and getting to.  dh:2003-06-23: I find that "from the Ground Up", "Foundation" and "Foundational" are already used.  I like "Inside-Out" because it is used on resumes.  This would be a very good way to approach it.  If you know Java inside-out, do you know this?
  2003-06-11 Create a structure for fielding questions about com.orcmid... package names and how to find out about them, how to find them.  Create a package directory.  I can also have root files for the next level down, leading to the right place.  Currently we have installation and learn, with MSCJV held privately so far.  None of these define packages until I figure how to set the root of the package tree and have it work.  dh:2003-06-23 - I can of course also have a directory named com.orcmid, since that is not in conflict with much of anything!  I might want to redirect people into it even.
  2003-06-11 Confirm whether or not delivery of an interface to a method requires that only the supplied interface be used, or can the method change interfaces internally to others that might be supported.  Figure out which is the case?  Is it also the case that a known class can be recovered if used?  Then there must be a way to use an anonymous class.  Find out about that too.
  2003-06-11 Deal with redirected input not being echoed by stdin, and (1) fix it so that output displays work without the echo (including any new-line), even if it is a practice to deal with.  We may need to use a noEcho() 
  2003-06-11 Find a way to force IOException.  Try redirecting input from an output-only device, like PRN. 
  2003-06-06 Is it safe to flush any output stream that is already flushed?  I am looking at always having a flush method. 
  2003-06-06 What are the ways of interrupting a running JVM when our application seems to be stuck?
  2003-06-06 I should try Editing a jEdit .java file in Unicode and see what I can do that way.  That may be a variation on assumptions about input-output encodings and what not, so that could be important. 
  2003-06-06 Are true and false truly reserved words or should I be doing something different to use those literals as truth-value constants?
  2003-06-06 Beside wanting to have a structure that pulls together software-engineering 4 J, we also have coherence 4 J, portability 4 J, and perhaps other aspects like that.  (See 2003-06-11.)
  2003-06-06 Having made jEdit the default for .java pages, FrontPage honors it too, which is very sexy and cool.  Also, FrontPage does not lead to a $Header label being changed unless the file is checked out in FrontPage, it looks like.   Confirm how that works.  This is about Java development, engineering, and use of the web for development and integration sites.  It looks like the $header reflects the last check in anywhere.  It may be necessary to GetLatest in other places to have the right thing show up, but that should do it.
  2003-06-06 Don't publish anything about stdout and stdin until I have something available on the learn pages.  That means I have to get the naming system down pat too.
  2003-06-06 Add web pages that go with the different experiments that involve System, stdin, stdout, etc.  Maybe I need pages with the same name as the application, and also pages with other links and information.  Having the same name seems easy, because it is a handy link.  I will do that and revise the programs once I have the pages available.  dh:2003-06-23: Consider using JavaDoc
  2003-06-06 It is important to look at the args method of communicating command-line parameters as well. 
  2003-06-06 I need to re-establish the project documents that I have been creating as technical notes or something.  The project is what produces these outputs.  The outputs are not process documents, and they should not be catalogued or identified as project documents, event though they are related.  I should probably create actual process documents, instead of doing it all in an ad hoc job jar, but the job jar serves me pretty well right now.  More to think about ... including at what level of hierarchy to identify and catalog the technical notes and examples, tutorials, etc.  Pick a letter, pick a level.
  2003-06-06 Determine whether interfaces with identical signature are considered the same or not.  They shouldn't be, even though I would like them to be sometimes, that is only a function of external knowledge.  Also, there is nothing to police the semantic equivalence of behaviors.  It is going to be turtles all the way up.  Sigh.  It looks like the package name would do it.   We will have to find out.  There is a versioning question too.  That may have to be handled by changing the package name.
  2003-06-06 Deal with all of the unspecified behaviors around interactions with the platform.  There is practically a checklist to do just on System, System.in and System.out. Where are these specified?  The echoing of input, for example, is a platform feature.   What about escapes and other keyboard behaviors?  What if I use a special keyboard from windows, like an IME, will it work?  When will it work and when will it not?  There should be a very long list.  This becomes a software-engineering issue too, and can be addressed there as well. 
  2003-06-06 I need to double-check the exception cases and constructor failure cases.  I also need to see what happens with regard to end-of-line (empty string input?  what about when reading characters?) - I found out that null is returned for no more data in some well-defined cases.
  2003-06-06 When I employ wrapper classes that deal with numeric input strings, handle that too.
  2003-06-06 Put in the practice of adding "throws IOException" to the main declaration when a buffer object is introduced.   Annotate the use of the class or constructor, too.
  2003-06-06 Don't forget the java console application too, that is installed everywhere.
  2003-06-06 If you don't give javac a classpath, and you specify a package in the compilation unit, where does it put it?  Look at that and then come up with some other things about packages, default packages, default locations, etc.  Also, location when running javac versus location the source file came from - what is the impact of that?
  2003-06-06 Motivate the importance of anticipating the components and interfaces early on, and to have that be part of our thinking as we move along thinking about OOA and OOD.
  2003-06-06 Show a better correspondence between the InputStream, BufferedStream cases for input and the PrintStream case for output.
  2003-06-06 Demonstrate piping and how that works with regard to putting together different sessions.  Look at the impact of putting together multiple VM executions, and also the prospect that a file may be used as an intermediate.
  2003-06-06 Demonstrate some redirection techniques with Java tools, and show how the this works or does not work with the java VM.  
  2003-06-06 Address the shell considerations that apply to execution of the JVM - launched directly (by Run), operated by Start, operated from another program, and operated from a console-mode shell.  Then look at what the application can't know about how things are going, and ways to deal with that, or not.  But that at some level, one needs to be conscious of these things.
done 2003-06-06 Rename the stdout and stdin files to be the beginning of a series: stdout0, stdin0, stdout1, etc.  The first ones are to deal simply with the connection between the JVM and the shell session, or its equivalent on the platform.
  2003-06-06 Create a project in the Java2 /learn folder for many of the experiments and exercises I want to manage and report.  
  2003-06-05 Are data members private by default?
  2003-06-05 Confirm that the java.lang classes and package can be imported without more work.  Find out what it takes to pass System.out to an operation.  Then start looking at characters.
done:
still beta
2003-06-05 Find out if Java2 SE 1.4.2 is now in official release. NO: There is no prediction since a 2003-04-29 conference, but the normal beta time would have release be in the summer of 2003.  
  2003-06-05 Have links to the on-line location of these materials where they can be found for browsing and for linking to.  What is the entrance page, etc.
  2003-06-05 Provide space information and details for the pieces of the SDK and for the Jave2 RE 1.4.1
  2003-06-05 Discuss space considerations, what is requred for the SDK, what is required for the documentation, etc.
  2003-06-05 Document the installation of the SDK docs, and describe the space needed and the space taken
in progress 2003-06-05 Install the language manual and let people know (1) where to find it and how to download it, how to find it on-line
  2003-06-05 Find out if Java has indexers as part of operator over-loading or something like that.
  2003-06-05 Add P030600.htm to P000001-log.
  2003-06-05 If the API documentation is separate, get that and install it too.
done
2003-06-06
2003-06-05 Find out if the System.out class can be instantiated and can it be subclassed.  This influences how we do that.  System.out is an object, not a class.  It is already instantiated from the perspective of the Java application.
done 2003-06-04 Do the DQ2.1 right away, as two files, then do AQ2.1 
  2003-06-04 Go through the Seminar 1 DQ1.5 notes and see where there are things to provide in tutorials here
done
2003-06-06
2003-06-04 Find the documentation for the System class and figure out how to instantiate a printer or something.  Redirection works, and otherwise there must be some interaction of a stream with a device, perhaps using native file names?!  I'll look again when we get to file input-output.
done
2003-06-05
2003-06-04 Capture the SDK directory and then install the documentation.  I went with the HTML Help version on disk in the proper subdirectory of the SDK.
  2003-06-04 Find out what the game is for packages such as the ones Deitel talks about (they don't implement the paths on their web site).
in progress
2003-06-05
2003-06-04 Find out if Java2 enforces Unicode or allows ISO 8859-1 characters or the windows code page to leak through.  This can be tested in char literals and also in the communication with the console and the keyboard.  Do some test cases about this.
  2003-05-30 The way that Java2 is installed, and the way that baselining is managed for Java applications is important and needs to be addressed in the description here.  Consider having a section or topic on J2 Software Engineering.  
late 2003-05-28 Add jEdit experience to the Java2 section and also have enough to offer to students by tonight, 2003-05-28-21:00 at the start of class.
done 2003-05-28 Create a Project Zone under Java2 SoftDev.
  2003-05-26 I want to put the Java tutorials on my machine and also start working on them, although it might be useful to use Deitel.  I also want to have UML development tools and ways to do more modeling in courses.  I am also interested in inspection and validation for both Java and for web sites.  I have the idea of showing what materials go into a tools portfolio for software development projects using different tool sets (e.g., Java, ASP, etc.)
started
2003-06-04
2003-05-26 Remember to describe the installation configuration that SDK 1.4.1.02 really created, and then describe what happens when documentation is added to it.  Also, remember to configuration-manage the SDK, because that is part of the game for handling baselines, and we want to practice that.
done
2003-06-02
2003-05-26 Find a good programmer editor and install it for operation with Java, VSS integration, and anything else I can get it to do for me.  Thanks to Norm Frisa for reminding me that I was looking for one.  I promised to download the evaluation copy of MultiEdit and see whether that does the trick for me.  I went with jEdit and I am fine with it for now.
  2003-05-25 Use the Include Pages technique for handling versioning and base-lining of the information about setting up Java, operating with various configurations over time, etc.
started
2003-05-28
2003-05-25 Under the Java2 section, start from the download, how I rename files, where I keep copies of the downloaded files, and then what I learned about installation, setting path, using 4NT, etc.  Then provide a guide to starting, setup, and learning that features the Tutorial and the Getting started material on the java.sun.com.  Remind people about registering, etc.  Break this down in a job jar over there.

Hard Hat Area

 

You are navigating Orcmid's Lair

created 2003-05-28-16:13 -0700 (pdt) by orcmid
$$Date: 05-02-11 16:47 $
$$Revision: 27 $

Home