Tuesday, October 11, 2011

Tech Review: Monday, October 10, 2011

C# null-coalescing operator



  • From C# Reference for VS 2010
  • example
    • int? x = null;
    • int y = x ?? -1;
    • string s = null;
    • Console.WriteLine (s ?? "Unspecified");
  • used to define a default value for a nullable value type
  • it returns the left-hand operand if it is not null; otherwise it returns the right operand
  • not in Java, but some would like to add the feature
  • more about not in Java
  • coalescing mean "to grow together"
  • does this sound like a good description of what the operator is doing?

Regions in Java


I know the above picture is not about 'Regions in Java' code, but it looked nice.

  • Basically, there are no region pre-compiler directives in Java
  • There is support in some IDEs
    • NetBeans
      • // <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
      • ...
      • // <editor-fold>
    • Eclipse
      • does it automatically for methods, imports, etc.
      • Not declaration like in NetBeans
      • Could you add one?
    • Emacs?
Velocity Android 2.0 Internet Table 7" $100

Velocity Micro T103 Cruz Android 2 Internet Tablet
  • almost what I want
  • missing the camera
  • Multi touch capacitive screen
Viewsonic gTablet 10.1" Android 2.2:  $270
Viewsonic gTablet 10.1" 16GB Internet Tablet
  • This is what I want except the price and Android version


Simple C# Program



  • the main routine starts with a Capital 'M' in C#
  • starts with a lower case 'm' in Java
Listeners and Events (Actions) in Java


  • lesson on writing event listeners
  • action listener
    • public class Beeper ... implements ActionListener {
  • adding an action listener to something
    • button.addActionLisener ( new Beeper() )
  • implement the method that does the action
    • public void actionPerformed (ActionEvent e) {
  • complete Beeper example
Java Color Map


  • color map in java
  • Copyright
    • Carnegie Mellon
    • Sun
    • Mitsubishi
Java List Interface and ArrayList Class



  • Class ArrayList<E>
  • Example
    • List list = Collections.synchronizedList (new ArrayList(...));
Java Collection Interface and Collections Class

  • static void sort (List list)
  • reverse (List list)
Java Queue Interface and PriorityQueue Class



  • new elements are put (enqueued) on the back of the queue
  • element are pulled (dequeued) from the front of the queue
  • First In First Out (FIFO)
  • Interface Queue<E>
  • offer (E o) // enqueue
    • adds an element to the tail of the queue
  • poll () // dequeue
    • returns a removed element from the queue
    • null is empty
  • Class PriorityQueue<E>
  • boolean add (E o)
  • boolean offer (E o)
  • E poll ()
Java Map Interface and HashMap Class

  • Interface Map<K,V>
  • V put (K key, V value)
  • V get (Object key)
  • Class HashMap<K,V>
  • Example:
    • Map m = Collections.synchronizedMap (new HashMap (...));


Chrome Remote Desktop


  • BETA
  • allow users to remotely access another computer through the Chrome browser or Chromebook
  • An add on
  • can easily miss the Icon after installation 















Wednesday, September 21, 2011

Tech Review: Wednesday, September 21, 2011

Working with porting C# to Java today.

  • It is sort of like a class because you can override method inside the enum.
    • @Override public String toString() {....}
Struct like objects in Java:  
  • Has lots of really nice and clear comparisons.
  • I need to read the whole thing
Ternary or conditional operator in Java:  http://www.janeg.ca/scjp/oper/ternary.html
  • operand1 ? operand2 : operand3;
    • operand1 must be a boolean value or experssion
The C# dictionary is similar to the Java Map interface:  
The ArrayList Generic Class in Java:
The C# ICollection interface:

A Java tutorial on collection interfaces:  
Today I was confused as to why code would compile in my simple command line program and not in Eclipse.
  • Sometimes the error messages in Eclipse are miss leading
  • I was trying to write code in the class body outside a method
  • if (child == null) child = new Lista(c, null);
A tutorial on Eclipse:

Java Properties and C# properties are not the same thing at all:  http://download.oracle.com/javase/1.4.2/docs/api/java/util/Properties.html
  • C# properties are a value in the object
  • Java properties are a way of saving the state to a file and reading it back
Another very nice Java/C# Comparison:  http://www.harding.edu/fmccown/java_csharp_comparison.html
  • This one would be best to read first
Java random number generation:
In doing Repast Simphony development, the RandomHelper class should be used:
A very nice example of a Java singleton implementation:  http://www.javaworld.com/javaworld/jw-04-2003/jw-0425-designpatterns.html

Default parameters in Java:
Declaring generic arrays:
  • http://forums.techarena.in/software-development/1117589.htm
    • HashMap <?,?> [] x = new HashMap <?,?>[3];
      • this work but I could access 'x'
    • Best to avoid and wrap in a list instead
      • List<HashMap<Class, Class> x = new ArrayList<HashMap<Class1, Class2>(3);
      • the above code may not be correct, but it has the idea
C# ArgumentException can be changed to a Java IllegalArgumentException:  https://forums.oracle.com/forums/thread.jspa?threadID=472866

  • performance advantages in C#
For each Loop in Java:
Generics and array construction in Java:
Comparison between Java HashMap and .NET Hastable:  http://www.microsoft.com/mspress/books/sampchap/6173.aspx#116

  • List myList = new ArrayList (collection);
  • Collections.sort (mylist);