Skip to content

Programming by Design

If you're not prepared to be wrong, you'll never come up with anything original. – Sir Ken Robinson

  • About
  • Java-PbD
  • C-PbD
  • ASM-PbD
  • Algorithms
  • Other

Author: William Jojo

Installing JetBrains IntelliJ and Java JDK FX

Posted on March 22, 2022September 2, 2024 By William Jojo
Docs

(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” »

Project 6 Hashing Stuff

Posted on November 17, 2021April 6, 2024 By William Jojo
Code

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” »

An Introduction to Regular Expressions

Posted on October 27, 2021January 23, 2023 By William Jojo
Docs

(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” »

Signal Handling

Posted on October 19, 2021November 22, 2024 By William Jojo
Ciss-150, Docs

(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” »

CISS-150 Windows Memory

Posted on October 18, 2021 By William Jojo
Uncategorized

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” »

Godbolt: Behind the Compiler

Posted on October 18, 2021July 26, 2024 By William Jojo
Ciss-150, Docs

(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” »

IntelliJ: Adding Command Line Arguments

Posted on September 10, 2021January 29, 2025 By William Jojo
Docs

(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” »

bits

Posted on February 20, 2021October 2, 2024 By William Jojo
Uncategorized

(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” »

Strings

Posted on February 10, 2021 By William Jojo
Uncategorized

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” »

TED, Podcasts and Text on Technology, Design and Learning

Posted on February 7, 2021August 13, 2024 By William Jojo
ciss-110, ciss-111, Other

(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” »

Posts pagination

Previous 1 … 5 6 7 … 18 Next

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Copyright © 2018 – 2025 Programming by Design.