(Updated September 2, 2024) Overview Setting up the development environment for creating Java applications is easy. Two significant components are necessary: a compiler and an editor. The Java JDK provides the compiler, and the editor is often an integrated development environment (IDE). We recommend using the Azul Zulu Java JDK and the JetBrains IntelliJ CE … Read More “Installing JetBrains IntelliJ and Java JDK FX” »
Author: William Jojo
To get you started on Project 6, here is the basic code to read the checkme.txt file. It reads words, converts to upper case, and strips extraneous punctuation. import java.io.FileNotFoundException; import java.io.FileReader; import java.util.Scanner; public class Main { public static String removeNonLetDig(String s) { int b = 0, e = s.length()-1; // Trim from the … Read More “Project 6 Hashing Stuff” »
(Updated October 27, 2021) Overview Pattern matching is a frequent requirement in programming. As a result programmers are often tasked with find the best way to prove that a string matches a specific set of criteria: email address format, password requirements, IP address format (IPv4 and IPv6), and the list goes on an on. The … Read More “An Introduction to Regular Expressions” »
(Updated November 22, 2024) Overview As we have seen, many hardware and software components vie for CPU time. In addition to hardware interrupts when a device needs servicing and software interrupts that perform privileged actions within the OS, signal handling components allow programs to try to intercept some of the kinds of interrupts that may … Read More “Signal Handling” »
Overview The memory layout of Windows is a bit more complex than that of Linux. While we have seen some of the Linux memory model, it is also a good idea to get a sense of how other OSes perform similar memory virtualization. Get the Software Login to your Windows 10 guest and get the … Read More “CISS-150 Windows Memory” »
(Updated July 26, 2024) Overview The C compiler produces platform-specific executable code, which can also be viewed as assembly language, given the correct set of options provided to the compiler. This can be particularly useful when we want to learn a bit more about what is going on behind the scenes. Maybe we want to: … Read More “Godbolt: Behind the Compiler” »
(Updated January 29, 2025) Overview Using an IDE to build and run programs is typically only done during development. Many developed programs will run on servers without a text or GUI interface of any kind and will write errors and such to log files for review when something goes wrong. Since these programs are often … Read More “IntelliJ: Adding Command Line Arguments” »
(Updated October 2, 2024) 8,000,000 possible numbers. 8M bits in 1M bytes. byte[] ba = new byte[1000000]; ba[0] ba[1] ba[2] ba[3] | byte0 | byte 1 | byte 2 | … 01234567 01234567 01234567 ^ ^ | | 2000007 2000023 byte 0 01234567 ^^^^^^^^ |||||||└ 2000007 ||||||└ 2000006 |||||└ 2000005 ||||└ 2000004 |||└ 2000003 ||└ … Read More “bits” »
public class Strings { public static void print_array(int[] potato) { int x; for (x = 0; x < potato.length; x++) { int y = 0; System.out.println("potato["+x+"] = " + potato[x]); } } public static void main(String[] args) { double cost = 0.0, price, sub; int count; for (String a : args) { System.out.println(a); String parts[] ... Read More “Strings” »
(Updated February 7, 2021) TED Technology, Design and Learning Roman Mars on City Flags and Proper Design The late Sir Ken Robinson on Schools and Creativity The late Sir Ken Robinson on changing educational paradigms Podcasts on Technology, Design and Learning 99pi Ways of Hearing – Episode #1 Time (2017) (Begins at 6:04) 99pi Octothorp … Read More “TED, Podcasts and Text on Technology, Design and Learning” »