{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/tuh0pLRfAwXqa95C0WLb/gvIqEtJhE69ezj1dVgLL/x1PYuvEqU.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{addPropertyControls as a,ControlType as n,Link as i}from\"framer\";import*as r from\"react\";let o=\"z73Iw8W3B\",s=\"LXPPb0mj_\",l=\"MJoGirltk\",c=\"aRsDZYt0I\",d=\"xt1rryj9L\",h=(e,t)=>{if(e&&\"object\"==typeof e)return{...e,alt:t};},p=[{id:\"UiK6ontI9\",[o]:\"Reverse Engineering\",[s]:\"reverse-engineering\",[l]:\"2023-11-06T00:00:00.000Z\",[c]:h({src:\"https://framerusercontent.com/images/iUMEWfYmHYtHJwRQl0PPnO5Tro.jpg\"},\"\"),[d]:/*#__PURE__*/t(r.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What is Reverse Engineering?\"}),/*#__PURE__*/e(\"p\",{children:\"Reverse engineering is the process of disassembling and analyzing a system or technology to understand exactly the functionality.  This usually involves taking something apart to examine the source code, hardware components, or other specifications to acquire insights on how the item in question was created and how it operates.\"}),/*#__PURE__*/e(\"p\",{children:\"In this context, I will be talking about reverse engineering software and firmware.\"}),/*#__PURE__*/e(\"h2\",{children:\"Does Reverse Engineering have practicality?\"}),/*#__PURE__*/e(\"p\",{children:\"I'm glad you asked! There are many practical applications for reverse engineering. Some of the most popular ones are:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Understanding Legacy Systems:\"}),\" Reverse engineering is often used to gain insights into older systems or technologies for which documentation may be lacking or outdated. This helps organizations maintain and extend the life of legacy systems.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Security Analysis:\"}),\" Security experts use reverse engineering to analyze software or hardware for vulnerabilities, exploits, and malware. By understanding the inner workings of these systems, security professionals can identify and mitigate potential threats, enhancing cybersecurity.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Interoperability:\"}),\" Reverse engineering can be employed to ensure compatibility or interoperability with other systems or technologies. For example, reverse engineering a file format to create software that can read and write files in that format, or reverse engineering network protocols to develop compatible software.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Software Debugging and Patching:\"}),\" Reverse engineers can analyze and patch software to fix bugs, improve performance, or add new features. This is often done with software that is no longer supported or maintained by its original developers.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Competitive Analysis:\"}),\" Companies may engage in reverse engineering to gain insights into the products or technologies of their competitors. This can help them stay competitive or even develop similar products with unique features.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"There are many other practical applications such as forensic analysis and product or application optimization to name a few.  It is extremely useful in analyzing malicious code. By determining how a malicious code operates, a proper plan of defense can be initiated.\"}),/*#__PURE__*/e(\"h2\",{children:\"Is this even legal?\"}),/*#__PURE__*/e(\"p\",{children:\"There are definitely legal implications as well as ethical implications to consider when reverse engineering.\"}),/*#__PURE__*/e(\"p\",{children:\"It is usually against the law to reverse engineer proprietary software, hardware, and other technologies. You may be violating copyrights, patents, trade secrets or even licensing agreements, so it is always important to review all terms of service and legal documentation before proceeding.  If you are unsure, it is important to clarify before proceeding.  Reverse engineering may be part of your tasks at work, or perhaps it is a tool for you to use when analyzing your own software in detail. Often times there may be an old technology that is no longer patented or maintained, but it functions in a way that no one understands; Enter reverse engineering. \"}),/*#__PURE__*/e(\"h2\",{children:\"How can I get started with Reverse Engineering?\"}),/*#__PURE__*/t(\"p\",{children:[\"One of the most popular tools I've come to love using is \",/*#__PURE__*/e(i,{href:\"https://hex-rays.com/ida-pro/\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"IDA Pro\"})}),\". It stands for Interactive Disassembler.  It will take a piece of software provided to it, disassemble it, and generate assembly language source code based off the machine-executable code.  It is quite amazing in my opinion, with the ability to give you insight on how a program works at the lowest level. \"]}),/*#__PURE__*/t(\"p\",{children:[\"There is a great deal of documentation available at \",/*#__PURE__*/e(i,{href:\"https://hex-rays.com/documentation/\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"https://hex-rays.com/documentation/\"})}),\" and this has helped me learn quite a bit! \"]})]})},{id:\"ueUnCKys6\",[o]:\"Network Analysis\",[s]:\"network-analysis\",[l]:\"2023-10-31T00:00:00.000Z\",[c]:h({src:\"https://framerusercontent.com/images/AtJivvX7vzuYqB0n2FmyskfEXY.jpg?scale-down-to=4096\",srcSet:\"https://framerusercontent.com/images/AtJivvX7vzuYqB0n2FmyskfEXY.jpg?scale-down-to=512 512w, https://framerusercontent.com/images/AtJivvX7vzuYqB0n2FmyskfEXY.jpg?scale-down-to=1024 1024w, https://framerusercontent.com/images/AtJivvX7vzuYqB0n2FmyskfEXY.jpg?scale-down-to=2048 2048w, https://framerusercontent.com/images/AtJivvX7vzuYqB0n2FmyskfEXY.jpg?scale-down-to=4096 4096w, https://framerusercontent.com/images/AtJivvX7vzuYqB0n2FmyskfEXY.jpg 6000w\"},\"\"),[d]:/*#__PURE__*/t(r.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Network Analysis\"}),/*#__PURE__*/e(\"p\",{children:\"A critical skillset for any cybersecurity interested individual, network analysis involves monitoring and analyzing various components of network traffic, usage, and performance to develop insights. Additionally, network analysis can help identify security threats such as unauthorized access, malware, and data breaches, by monitoring network traffic patterns. By analyzing network data, bottlenecks and inefficiencies can be identified and improved upon to increase network performance.\"}),/*#__PURE__*/e(\"h2\",{children:\"What Tools Can I Use For Network Analysis?\"}),/*#__PURE__*/e(\"p\",{children:\"Network Analysis can be performed with a variety of third party tools as well built in system tools (provided you are using a Unix-based system). Here are three common tools with ideal use cases.\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Wireshark\"}),\":\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"One of the most popular tools, Wireshark is an open-source packet analyzer that allows you to capture, analyze, and inspect network traffic in real-time. It supports a wide range of protocols, making it a valuable tool for both troubleshooting and security analysis.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"em\",{children:\"Use Cases\"}),\": Wireshark is ideal for network troubleshooting, protocol analysis, identifying security vulnerabilities, and understanding application behavior.\"]})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"tcpdump\"}),\":\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"tcpdump is a command-line packet capture tool available on most Unix-based systems. It captures network packets and can save them to a file for later analysis. It provides a lightweight and efficient way to inspect network traffic.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"em\",{children:\"Use Cases\"}),\": tcpdump is commonly used for network traffic monitoring, analysis of specific network issues, and as a quick tool for capturing and saving packets for later examination.\"]})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"nmap (Network Mapper)\"}),\":\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"nmap is a powerful open-source network scanning and host discovery tool. It can detect open ports, services, and operating systems on remote hosts. nmap is invaluable for network reconnaissance and security assessment.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"em\",{children:\"Use Cases\"}),\": nmap is widely used for network mapping, vulnerability assessment, and penetration testing. It helps security professionals identify weaknesses in their network infrastructure.\"]})})]})]})]}),/*#__PURE__*/e(\"h2\",{children:\"Resources for Practicing Network Analysis\"}),/*#__PURE__*/t(\"p\",{children:[\"If you'd like to get your feet wet with some network analysis, especially with Wireshark, tcpdump, and nmap, I highly recommend \",/*#__PURE__*/e(i,{href:\"https://tryhackme.com/\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"TryHackMe's learning platform\"})}),\". TryHackMe provides a massive amount of resources at no cost for you to learn and practice a multitude of skills, including network analysis. I am not sponsored, I just love their platform! Once you become familiar with these tools, you can even use them to monitor traffic on your own network at home, or to enhance the security level of your organization (\",/*#__PURE__*/e(\"strong\",{children:\"be sure you have explicit permission to do so first, as analyzing network traffic without permission can get you into trouble!\"}),\")\"]})]})},{id:\"hlxwdGOQP\",[o]:\"SIEM\",[s]:\"siem\",[l]:\"2023-10-30T00:00:00.000Z\",[c]:h({src:\"https://framerusercontent.com/images/jcWVCQpGiim9UTJ6UmiJ6ON6t0.jpg\",srcSet:\"https://framerusercontent.com/images/jcWVCQpGiim9UTJ6UmiJ6ON6t0.jpg?scale-down-to=512 512w, https://framerusercontent.com/images/jcWVCQpGiim9UTJ6UmiJ6ON6t0.jpg?scale-down-to=1024 1024w, https://framerusercontent.com/images/jcWVCQpGiim9UTJ6UmiJ6ON6t0.jpg?scale-down-to=2048 2048w, https://framerusercontent.com/images/jcWVCQpGiim9UTJ6UmiJ6ON6t0.jpg 2426w\"},\"\"),[d]:/*#__PURE__*/t(r.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What is a SIEM?\"}),/*#__PURE__*/e(\"p\",{children:\"SIEM stands for Security Information and Event Management.  These are tools designed for use in a cybersecurity context.  SIEMs perform data aggregation and analysis, and can obtain the data from a variety of sources, such as firewalls and IDS (Intrusion Detection Systems).  They often provide real-time monitoring, allowing an organization to promptly detect and respond to threats.\"}),/*#__PURE__*/e(\"h2\",{children:\"The Role of SIEMs in Cybersecurity\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Threat Detection\"}),\": SIEM systems use sophisticated algorithms and correlation rules to identify patterns and anomalies in data. This enables them to detect unauthorized access, data breaches, malware infections, and other security incidents.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Incident Response\"}),\": When a security incident is detected, SIEMs play a pivotal role in incident response. They generate alerts and reports, which guide security teams in mitigating threats and minimizing potential damage.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Compliance and Reporting\"}),\": Many industries have strict regulatory requirements regarding data security. SIEMs help organizations comply with these regulations by monitoring and reporting on security events and data access.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Forensics and Investigation\"}),\": SIEMs provide detailed logs and historical data, which are crucial for forensic analysis and post-incident investigations. They help organizations understand the scope and impact of security incidents.\"]})})]}),/*#__PURE__*/e(\"h2\",{children:\"How Can You Practice using SIEMs?\"}),/*#__PURE__*/t(\"p\",{children:[\"Thankfully there are open source SIEMs and solutions to get started for free to gain some SIEM experience.  \",/*#__PURE__*/e(i,{href:\"https://suricata.io/\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"Suricata\"})}),\" is an open-source SIEM software and is available for multiple operating systems, including flavors of Linux, Mac, Windows and more! For those familiar with Linux, you may also consider creating a SIEM tool from scratch to interact with the multitude of system logs already generated in Linux.  You will require some scripting knowledge and familiarity with the terminal or command-line interface to approach the learning this way.\"]}),/*#__PURE__*/t(\"p\",{children:[\"Some other options include Chronicle, a cloud service SIEM offered by Google. Read more about Chronicle via the documentation available \",/*#__PURE__*/e(i,{href:\"https://cloud.google.com/chronicle/docs/overview\",openInNewTab:!0,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:\"here\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"I hope this little post about SIEMs has informed you about the usefulness of cybersecurity and can get you started on a path in Cybersecurity or improve your existing cybersecurity environment!\"})]})},{id:\"Fn1mQKZlB\",[o]:\"VHDL\",[s]:\"vhdl\",[l]:\"2023-10-30T00:00:00.000Z\",[c]:h({src:\"https://framerusercontent.com/images/RHr6ICg1pF9SML0Np3MskhVpREM.png\"},\"\"),[d]:/*#__PURE__*/t(r.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What is VHDL?\"}),/*#__PURE__*/e(\"p\",{children:\"VHDL is short for VHSIC Hardware Description Language. VHSIC is short for Very High-Speed Integrated Circuit.\"}),/*#__PURE__*/e(\"p\",{children:\"This is a design language used to model digital circuits and can range from system level to logic gate level design.  With the existence of VHDL, digital systems can be created with great complexity.  The benefit is the ease of visualization of the designs in addition to simulations for testing.\"}),/*#__PURE__*/e(\"h2\",{children:\"What can you do with VHDL?\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Digital System Design\"}),\": VHDL allows you to design and describe digital systems, from simple combinatorial circuits to complex microprocessors, in a clear and structured manner. With VHDL, you can create designs for a wide range of applications, including consumer electronics, aerospace, telecommunications, and more.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"FPGA Programming\"}),\": VHDL is the language of choice for configuring FPGAs (Field-Programmable Gate Arrays). These reprogrammable hardware devices offer flexibility and speed, making them ideal for prototyping and developing custom digital solutions. You can create custom logic circuits, signal processing algorithms, and even entire embedded systems on FPGAs.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Simulation and Verification\"}),\": VHDL allows you to simulate your designs before committing them to hardware, helping you catch and fix errors early in the design process. It's an invaluable tool for testing and verifying the functionality of your digital systems.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"How do I get started? \"}),/*#__PURE__*/e(\"p\",{children:\"Outside of college coursework, there are multiple ways to get into the VHDL world. \"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Learn the Basics\"}),\": YouTube has a ton of videos from beginner to advanced material on the topic of VHDL. Begin by understanding the fundamentals of VHDL, including its syntax, data types, and concurrent and sequential statements. Check out a few videos and see if it captures your interest!\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Practice and Projects\"}),\": Once you've been reeled in by the fascinating topic of VHDL, as with any language, practice is key. Start with small projects and gradually work your way up to more complex designs. Hands-on experience is invaluable in mastering VHDL.  Check back soon under resources or follow the blog for a post on VHDL challenge problems to tackle if you're interested!\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use Simulation Tools\"}),\": Software tools like ModelSim, Xilinx Vivado, and Quartus Prime offer integrated development environments for VHDL. These tools provide simulation capabilities, design analysis, and synthesis for hardware implementation.  After testing a solution or idea in a simulation, you can then acquire an FPGA for your VHDL solution to live on!\"]})})]})]})},{id:\"D0H6e3XAB\",[o]:\"MIPS Assembly\",[s]:\"mips-assembly\",[l]:\"2023-10-28T00:00:00.000Z\",[c]:h({src:\"https://framerusercontent.com/images/8zSHDjNsA8Pzh1N9NqcssxiwlU.jpg?scale-down-to=4096\",srcSet:\"https://framerusercontent.com/images/8zSHDjNsA8Pzh1N9NqcssxiwlU.jpg?scale-down-to=512 512w, https://framerusercontent.com/images/8zSHDjNsA8Pzh1N9NqcssxiwlU.jpg?scale-down-to=1024 1024w, https://framerusercontent.com/images/8zSHDjNsA8Pzh1N9NqcssxiwlU.jpg?scale-down-to=2048 2048w, https://framerusercontent.com/images/8zSHDjNsA8Pzh1N9NqcssxiwlU.jpg?scale-down-to=4096 4096w, https://framerusercontent.com/images/8zSHDjNsA8Pzh1N9NqcssxiwlU.jpg 6000w\"},\"\"),[d]:/*#__PURE__*/t(r.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What is MIPS Assembly?\"}),/*#__PURE__*/e(\"p\",{children:\"MIPS assembly refers specifically to the assembly language for the MIPS (Microprocessor without Interlocked Pipeline Stages) architecture. \"}),/*#__PURE__*/e(\"h4\",{children:\"Assembly Language?\"}),/*#__PURE__*/e(\"p\",{children:\"Assembly language is another type of programming language.  It is different than most mainstream programming languages because it is a low-level language.  It is essentially a human-readable version of machine code. Machine code is the set of instructions that a CPU (Central Processing Unit) executes directly.  Higher-level languages such as Python, C++, Java and others are languages that must be translated into machine code before being executed. \"}),/*#__PURE__*/e(\"h4\",{children:\"Why would I even bother with Assembly Language?\"}),/*#__PURE__*/e(\"p\",{children:\"Many software engineers and anyone who does coding typically won't ever need to touch Assembly Language.  There are definitely situations in which Assembly is useful, though.  I have even played a video game in which Assembly Programming is at the center of the gameplay! Below are some ideal examples for Assembly Language use.  Usually, the language is used for the optimization of a specific processor.  \"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Performance Optimization\"}),\": Assembly programming is often used when performance optimization is critical. Programmers can fine-tune code to take full advantage of the capabilities of a particular CPU, which can result in highly efficient programs.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Embedded Systems\"}),\": Assembly language is commonly used in embedded systems development, where program size and execution speed are critical, and the hardware platform is well-defined.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Operating Systems\"}),\": Some parts of operating systems, especially the kernel or core components, may be written in assembly language to ensure efficient and precise control over hardware resources.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Device Drivers\"}),\": Assembly is used in writing device drivers that facilitate communication between the operating system and specific hardware devices, such as graphics cards or network adapters.\"]})}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Reverse Engineering\"}),\": Assembly language is often used in reverse engineering to understand the functionality of compiled binary programs and to modify or patch them for various purposes. \"]}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Read more about \",/*#__PURE__*/e(\"strong\",{children:\"Reverse Engineering\"}),\" on \",/*#__PURE__*/e(\"strong\",{children:\"this\"}),\" blog post! \"]})})})]})]}),/*#__PURE__*/e(\"h4\",{children:\"Become one with the CPU\u2026\"}),/*#__PURE__*/e(\"p\",{children:\"Learning Assembly can be quite beneficial for programmers of all types because you can develop a better understanding of the computer architecture and, subsequently, how code may be translated into the machine language.  This can help greatly with optimization and may give you a perspective on why a certain approach may work better than another\u2026even if they seem nearly exact!\"})]})},{id:\"QmHNp_vTb\",[o]:\"SQL\",[s]:\"sql\",[l]:\"2023-10-28T00:00:00.000Z\",[c]:h({src:\"https://framerusercontent.com/images/txhK20ANPOx5d5TPsedcjOdrC4.png\"},\"\"),[d]:/*#__PURE__*/t(r.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"What is SQL?\"}),/*#__PURE__*/e(\"p\",{children:\"Commonly pronounced 'sequel,' SQL stands for Structure Query Language. It is a language used to interact with and manage databases.  It provides a standardized way to interact with databases, allowing users to perform tasks like querying data, updating records, inserting new data, and deleting data.  From websites to business applications, from creating reports to performing data analysis, SQL has tremendous use in everyday applications.\"}),/*#__PURE__*/e(\"h2\",{children:\"How Can I Learn and Practice SQL?\"}),/*#__PURE__*/e(\"p\",{children:\"Depending on your preferred learning method, there are many ways to learn SQL.  I first learned it on a job working with databases to manage a multitude of stored information. Here are a variety of resources you can use:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Online Tutorials and Courses\"}),\":\"]}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(55, 65, 81)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Websites like Codecademy, Khan Academy, Coursera, edX, and Udemy offer SQL courses ranging from beginner to advanced levels.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"SQLZoo (sqlzoo.net) provides interactive SQL tutorials with hands-on exercises.\"})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Interactive Platforms\"}),\":\"]}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(55, 65, 81)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"LeetCode and HackerRank offer SQL problems and challenges to improve your skills.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Mode Analytics and SQLFiddle provide interactive SQL environments for practice.\"})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Video Tutorials\"}),\":\"]}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(55, 65, 81)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"YouTube has many SQL tutorial channels, such as The Net Ninja, thenewboston, and Programming with Mosh.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"LinkedIn Learning offers video courses on SQL.\"})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Books\"}),\":\"]}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(55, 65, 81)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'\"Learning SQL\" by Alan Beaulieu is a popular book for beginners.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'\"SQL For Dummies\" by Allen G. Taylor is another beginner-friendly option.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'\"SQL Performance Explained\" by Markus Winand is great for diving into performance'})})]})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Documentation and Manuals\"}),\":\"]}),/*#__PURE__*/e(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(55, 65, 81)\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"The documentation of popular database systems like MySQL, PostgreSQL, and SQLite includes comprehensive guides and tutorials.\"})})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"SQL Playgrounds\"}),\":\"]}),/*#__PURE__*/e(\"ul\",{style:{\"--framer-font-size\":\"16px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(55, 65, 81)\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Use online SQL playgrounds like SQLFiddle, DB-Fiddle, or W3Schools to experiment with SQL queries and practice without installing a database.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})})})]})]}),/*#__PURE__*/e(\"h2\",{children:\"What do I do with SQL, my job doesn't use it?!\"}),/*#__PURE__*/e(\"p\",{children:\"Once you start learning about SQL, you can setup your own database! This could come in handy if you have a lot of information but don't know how quite to organize it.  Perhaps you play a video game with a lot of information you've discovered, but an excel sheet is too messy, and a notebook isn't quite right. The more you use SQL the more you'll see if it can be of use to you! \"})]})},{id:\"dqN6ISfn0\",[o]:\"Python\",[s]:\"python\",[l]:\"2023-10-28T00:00:00.000Z\",[c]:h({src:\"https://framerusercontent.com/images/tg6ilAKsUKHA3ZuyK4BisWfq4t4.png\"},\"\"),[d]:/*#__PURE__*/t(r.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"What is Python?\"}),/*#__PURE__*/e(\"p\",{children:\"Python was the first programming language I ever learned.  I fell in love with it  because of how straightforward the language was. With Python being an open-source language, there are a multitude of resources available to learn and practice the language. \"}),/*#__PURE__*/e(\"p\",{children:\"I stumbled upon the following website years ago: https://learnpythonthehardway.org/ . At the time, the resource was free, but even now, at $30, I still think it is a fantastic value.\"}),/*#__PURE__*/e(\"p\",{children:\"The philosophy was adamant on learning using a notepad and terminal to perform everything.  On one hand, it was brutal; I had to hand-pick every error out and determine why the code was not working.  On the other hand, it helped me to develop great debugging habits.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"How can you practice Python?\"}),/*#__PURE__*/e(\"p\",{children:\"After getting through the course, I found Project Euler. This website provided hundreds of challenges with nothing but the challenge presented and a textbox to enter the answer.  It was exhilarating to use Python to figure out these problems and even more exhilarating to get the answer correct.  I still recommend Project  Euler today to my friends when practicing a new programming language and even to others for sharpening their skills and developing new perspectives that may arise from thinking about solutions to these challenges.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\" Okay, but\u2026.what do I do with Python?\"}),/*#__PURE__*/t(\"p\",{children:[\"You can use Python to assist you in quite a variety of tasks! Python is fantastic for automation: using technology and systems to perform tasks or processes with minimal human intervention.  Automation can help with increasing efficiency and accuracy in many tasks. \",/*#__PURE__*/e(\"br\",{}),\"Python can be used to:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"automate the collection of data from text files or web pages \"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"to create reports based on data you have collected \"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"to post automatically to your social media\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"run a script to check for a security vulnerability\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"and much more!\"})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"The possibilities are limited only by your imagination. Sometimes, you'll even discover a new way to use Python by accident, and that can be where the fun begins :)\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]})},{id:\"AKTzRqUFS\",[o]:\"My Very First Blog Post\",[s]:\"first-blogpost\",[l]:\"2023-10-24T00:00:00.000Z\",[c]:h({src:\"https://framerusercontent.com/images/YMchO6dP90mWrxBUkAfZLQjjeyw.jpg\",srcSet:\"https://framerusercontent.com/images/YMchO6dP90mWrxBUkAfZLQjjeyw.jpg?scale-down-to=512 512w, https://framerusercontent.com/images/YMchO6dP90mWrxBUkAfZLQjjeyw.jpg?scale-down-to=1024 1024w, https://framerusercontent.com/images/YMchO6dP90mWrxBUkAfZLQjjeyw.jpg?scale-down-to=2048 2048w, https://framerusercontent.com/images/YMchO6dP90mWrxBUkAfZLQjjeyw.jpg 4032w\"},\"\"),[d]:/*#__PURE__*/t(r.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"What is Cafe Maku?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"I created Caf\\xe9 Maku as a place to document and share the many facets of my life. Tea is among my favorite things, and the cozy environment of a caf\\xe9 is my favorite public space. I believe everyone knows something that another person does not. I grew up through the evolution of internet access, and developed a multitude of interests and passions as a result of this access to the world wide web. Conveying these interests to new people that I meet can often be overwhelming; This website displays myself while allowing others to peruse at their own pace.\"]}),/*#__PURE__*/e(\"p\",{children:\"It is my hope that I can share my discoveries and knowledge, as well as learn something from my visitors should they like to share. Please enjoy your stay, and sip comfortably.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Please bear with me as the website is being developed! I will be posting blog entries as more pages get added and the site becomes more fleshed out. \"})]})}];for(let e of p)Object.freeze(e);a(p,{z73Iw8W3B:{defaultValue:\"\",title:\"Title\",type:n.String},LXPPb0mj_:{title:\"Slug\",type:n.String},MJoGirltk:{defaultValue:\"\",title:\"Date\",type:n.Date},aRsDZYt0I:{__defaultAssetReference:\"data:framer/asset-reference,F25gBHugAD1bW0h70acezy6z8.png?originalFilename=Simple+Fill%402x.png&preferredSize=auto\",title:\"Image\",type:n.ResponsiveImage},xt1rryj9L:{defaultValue:\"\",title:\"Content\",type:n.RichText}}),p.displayName=\"Blog\";export default p;export const enumToDisplayNameFunctions={};\nexport const __FramerMetadata__ = {\"exports\":{\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerData\":\"\",\"framerRecordIdKey\":\"id\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerSlug\":\"LXPPb0mj_\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["o", "s", "l", "c", "d", "h", "e", "t", "u", "x", "p", "Link", "addPropertyControls", "ControlType", "x1PYuvEqU_default", "enumToDisplayNameFunctions", "__FramerMetadata__"]
}
