Podcasts by Take Up Code

Take Up Code

Take Up Code is a podcast that explains computer programming topics through fun and engaging examples that you can relate to. The guided format allows you to gain valuable understanding of topics that will reinforce your studies, allow you to train new skills that you can apply on your job, and change your thinking about what it takes to become a professional programmer. The episodes are as short as possible so you can squeeze them into your daily routine.

Further podcasts by Take Up Code: build your own computer games, apps, and robotics with podcasts and live classes

Podcast on the topic Technologie

All episodes

Take Up Code
262: How To Code C++ V1 Book Intro from 2022-01-28T06:09:56

This is the first in a series of comments about the book “How To Code C++ From a Simple Idea To a Game You’ll Understand!” Each episode will be short and focused. You can watch th...

Listen
Take Up Code
262: How To Code C++ V1 Book Intro from 2022-01-28T06:09:56

This is the first in a series of comments about the book “How To Code C++ From a Simple Idea To a Game You’ll Understand!” Each episode will be short and focused. You can watch th...

Listen
Take Up Code
261: CppCon: Interview With Conor Hoekstra About C++ Algorithms And Ranges. from 2019-09-25T06:05:53

This is an interview with Conor Hoekstra about C++ algorithms and ranges. Conor presented my favorite talk at CppCon 2019 called Algorithm Intuition. I asked him to talk about algorithms on this po...

Listen
Take Up Code
260: CppCon: Interview With Josh Lospinoso About The Book C++ Crash Course. from 2019-09-25T04:02:09

Josh Lospinoso discusses his new book C++ Crash Course. This is a book with a focus on C++17 written with a desire to simplify and make it easy for you to learn C++. I got this book during the CppC...

Listen
Take Up Code
259: CppCon: Interview With Asad Naweed About Augmented Reality. from 2019-09-24T05:42:56

This is an interview with Asad Naweed about augmented reality. I met Asad at CppCon in 2019 when he asked some questions at one of the presentations I also attended. We started talking at first abo...

Listen
Take Up Code
258: CppCon: Interview With Nicolai Josuttis About How The C++ Standardization Has Changed Over The Years. from 2019-09-24T04:28:31

This is an interview with Nicolai Josuttis about how the C++ standardization process has changed over the years. You can find more information about Nicolai at his website http://www.josuttis.com I...

Listen
Take Up Code
257: CppCon: Interview With Sean Hale About Becoming A Software Developer Without A Degree In Computer Science. from 2019-09-23T06:17:04

This is an interview with Sean Hale about how he got into computers and then turned a degree in literature into a job as a software development engineer. I met Sean at CppCon in 2019 and asked him ...

Listen
Take Up Code
256: What Is Hurting Your Effort To Learn Coding? How To Improve Your Learning With One Simple Trick I Discovered By Accident. from 2019-09-23T04:19:17

Is there something you can do that will help you learn coding? When learning something new, it helps to focus on associations, especially opposites. It’s hard to learn separate facts and idea...

Listen
Take Up Code
255: How To Avoid Small Choices And Design Your Application To Scale Big. from 2019-09-22T22:57:13

How do you  design your application so it scales well to a big size? Scaling needs to be verified early in the design to prevent costly mistakes that usually appear later. You can scale in many way...

Listen
Take Up Code
254: GameDev: How To Use Noise To Procedurally Generate Maps And Landscape. from 2019-09-03T02:59:56

How do you create unique and random game worlds and maps? Unique and random game maps and worlds can be created procedurally in code using noise. The noise is good for simulating nature because it ...

Listen
Take Up Code
253: Creative Ways To Use C++ Curly Braces Beyond Just Functions And Loops. from 2019-09-03T00:11:57

This episode will explain how you can use curly braces in C++ to create a new scope. You can use this ability to control name visibility and reduce name conflicts. And you can also use curly braces...

Listen
Take Up Code
252: How To Handle Frustration When Learning To Code. from 2019-09-02T06:22:37

What’s the best way to handle frustration when learning to code? Knowing that all developers face frustration at times is a big help. You’re not alone. And it doesn’t mean that co...

Listen
Take Up Code
251: What Happens When Code Has Undefined Behavior? from 2019-09-02T05:49:35

What happens when code has undefined behavior? There’s hundreds of ways code can have undefined behavior. What happens is completely up to the compiler. You should not depend on undefined beh...

Listen
Take Up Code
250: GameDev: Design Patterns: Entity Component System. from 2018-12-10T00:14:26

This design pattern will help you make sense of your game design as it gets bigger.

Listen
Take Up Code
249: GameDev: Floating Point: Zero, Infinity, NaN. from 2018-11-25T23:15:49

There are some special floating point values that you should be aware of. Zero, infinity, and not a number are three cases that might surprise you.

Listen
Take Up Code
248: GameDev: Special Offer: Free Advanced Game Building Bonus. from 2018-11-19T01:39:02

Looking for more advanced training to help you better understand how to actually build something in C++? Want to go beyond example snippets that do not really teach you anything? How about being ab...

Listen
Take Up Code
247: GameDev: 1.1 Plus 2.2 Is Not 3.3. What? from 2018-11-12T03:46:55

Be careful with floating point numbers when building games.

Listen
Take Up Code
246: GameDev: Points Vs. Vectors. Which Should You Use? from 2018-10-29T02:23:19

Do you know the differences between points and vectors? You might be surprised. I learned a few things myself recently when I implemented points and vectors in the TUCUT library.

Listen
Take Up Code
245: GameDev: Points, Lines, Planes, Dimensions, and Normals. from 2018-10-15T01:58:56

You do not need a lot of math to program. What you do need is usually simple. But you do need some. It is not that hard and I will explain it so you can understand. Game development probably needs ...

Listen
Take Up Code
244: CppCon: What Did I Learn? And What Will Help You? from 2018-10-02T02:53:11

I just got back from CppCon 2018 in Bellevue Washington. And since this is a podcast where I teach you how to program, I thought I would share something that I learned at the conference.

Listen
Take Up Code
243: How To Install Linux, GCC, GDB, Git, CMake, LLVM, Clang, Boost, SFML, CodeLite, Sublime Text 3, And Dropbox On a $140 Lenovo ideapad 120S. from 2018-09-17T05:30:35

Installing Linux, GCC, GDB, Git, CMake, LLVM, Clang, Boost, SFML, CodeLite, Sublime Text 3, And Dropbox On a $140 Lenovo ideapad 120S makes an ultra portable C++ programming laptop.

Listen
Take Up Code
242: In The End, It’s You Vs. You. from 2018-09-03T05:30:43

In the end, it is you vs. you. Is this about living or dying?

Listen
Take Up Code
241: How To Use Raw Pointers Properly And Still Avoid Crashes. from 2018-08-20T05:30:29

Some people say that raw pointers are evil and should be avoided. Raw pointers are useful when used properly. This episode explains how to use raw pointers along with smart pointers and is taken fr...

Listen
Take Up Code
240: Video Game Update: Introducing The TUCUT Library. from 2018-08-06T05:30:39

You can join an actual game development session almost every Saturday. This schedule might change in the future. But until then, you can find me working on a video game almost every Saturday.

Listen
Take Up Code
239: What 20 Percent Of Topics Should You Focus On? from 2018-07-23T06:01:38

There is a lot you can learn about programming. But do you need to know it all?

Listen
Take Up Code
238: Filesystem: Recent WordPress Attack Lets Editors Take Over. from 2018-07-09T01:53:22

This is a real example of how the filesystem can be used to take over a Wordpress website.

Listen
Take Up Code
237: Filesystem: How To Avoid Security Vulnerabilities. Part 3. from 2018-06-25T03:33:13

Avoid being predictable. This advice applies to almost everything you do as a programmer. This episode will focus on the filesystem and how being predictable can make it much easier for an attacker...

Listen
Take Up Code
236: Filesystem: How To Avoid Security Vulnerabilities. Part 2. from 2018-06-10T23:48:49

Run your program with the least permissions possible.

Listen
Take Up Code
235: Filesystem: How To Avoid Security Vulnerabilities. Part 1. from 2018-05-28T21:07:06

When it comes to security, it is better to learn from examples.

Listen
Take Up Code
234: Filesystem: Journaling Keeps Your Filesystem Intact. from 2018-05-14T04:54:52

Journaling records extra information in case there are problems.

Listen
Take Up Code
233: Schedule Changes To Support Take Up Code. from 2018-04-30T04:00:11

The Take Up Code podcast needs your support.

Listen
Take Up Code
232: Filesystem: Linking Explained: Symbolic, Soft, Hard, Junction. from 2018-04-23T05:19:49

Filesystems allow you to refer to refer to your content with different names.

Listen
Take Up Code
231: Filesystem: Metadata Holds More Information. from 2018-04-16T05:30:29

Metadata provides information about your files.

Listen
Take Up Code
230: Filesystem: What Can They Do? Part 4. from 2018-04-09T05:29:17

There is a special type of filesystem used to swap memory.

Listen
Take Up Code
229: Filesystem: What Can They Do? Part 3. from 2018-04-02T17:15:18

Access control lists provide more security options.

Listen
Take Up Code
228: Filesystem: What Can They Do? Part 2. from 2018-03-26T05:12:30

Security is a big part of filesystems.

Listen
Take Up Code
227: Filesystem: What Can They Do? Part 1. from 2018-03-19T05:41:27

There are many different types of filesystems with different capabilities. Once you understand these capabilities, you’ll not only be able to select the proper filesystem for your needs but w...

Listen
Take Up Code
226: Filesystem: CHS vs. LBA Modes. from 2018-03-12T05:35:47

Cylinder, Head, Sector or CHS vs. Logical Block Addressing or LBA give you two ways to find data on a disk.

Listen
Take Up Code
225: Filesystem: Partitions Allow You To Divide Your Disks. from 2018-03-05T06:11:42

Dividing your disks into partitions allows you to use each partition for separate tasks.

Listen
Take Up Code
224: Filesystem: Drive Letters, Mounting, And Paths. Part 2. from 2018-02-26T04:54:46

How are filesystem organized with multiple drives?

Listen
Take Up Code
223: Filesystem: Drive Letters, Mounting, And Paths. Part 1. from 2018-02-19T06:30:36

How are filesystem organized with multiple drives?

Listen
Take Up Code
222: Filesystem: Why Should You Learn To Use It? from 2018-02-12T06:30:45

Understanding how to use the filesystem will allow you to add common and expected features to your apps.

Listen
Take Up Code
221: Be Careful Of Changes In Code Abstraction. from 2018-02-05T06:30:38

The code you write should follow a similar level of detail.

Listen
Take Up Code
220: One Of These Things Is Not Like The Others. from 2018-01-29T05:20:40

Finding differences will help you make sense of your code.

Listen
Take Up Code
219: C++ RAII Sounds Complicated But Simplifies Your Code. from 2018-01-22T05:49:31

Resource allocation is initialization or RAII for short may be hard to pronounce but will help you write better and simpler code.

Listen
Take Up Code
218: C++ Used To Program Video Games. from 2018-01-15T07:01:47

Why is C++ such a good choice for writing games?

Listen
Take Up Code
217: How To Start Building a Video Game. Part 7. from 2018-01-08T04:19:38

Work on the toughest problems first. And if you cannot solve them, then find a way around.

Listen
Take Up Code
216: How To Start Building a Video Game. Part 6. from 2018-01-01T04:43:46

How is a video game different than any other application?

Listen
Take Up Code
215: How To Start Building a Video Game. Part 5. from 2017-12-25T05:44:31

We all want to think big. But to get there, we need to think small.

Listen
Take Up Code
214: How To Start Building a Video Game. Part 4. from 2017-12-18T05:52:14

You can take advantage of libraries and frameworks.

Listen
Take Up Code
213: How To Start Building a Video Game. Part 3. from 2017-12-11T06:30

What role will data play in your game?

Listen
Take Up Code
212: How To Start Building a Video Game. Part 2. from 2017-12-04T06:30:29

How do you make your idea more specific?

Listen
Take Up Code
211: How To Start Building a Video Game. Part 1. from 2017-11-27T06:30:25

You have a vague idea for a new video game. Where do you begin?

Listen
Take Up Code
210: Shiny Projects And Distractions. from 2017-11-20T06:30:53

When is it okay to switch to a different project?

Listen
Take Up Code
209: CSS: Cascading Style Sheets Tutorial. Part 2. from 2017-11-13T06:30:46

Cascading Style Sheets let you manage how your HTML looks so you can keep your HTML focused on the content.

Listen
Take Up Code
208: CSS: Cascading Style Sheets Tutorial. Part 1. from 2017-11-06T06:30:08

Cascading Style Sheets let you manage how your HTML looks so you can keep your HTML focused on the content.

Listen
Take Up Code
207: Trees: AST: Abstract Syntax Tree. A Simple Example. from 2017-10-30T05:30:41

An abstract syntax tree can help your code make sense of what a user provides.

Listen
Take Up Code
206: Collections: Stack. from 2017-10-23T05:30:37

You can use a stack when you need to remember something and only ever need the last thing.

Listen
Take Up Code
205: Trees: What Can You Do With Them? from 2017-10-16T05:30:57

What other things can trees help you to solve?

Listen
Take Up Code
204: This Is Terrible, You Gotta Start Anyway. from 2017-10-09T05:30:35

Have you ever created something and then thought about how bad it was? What did you do?

Listen
Take Up Code
203: Trees: Why Use Them? from 2017-10-02T05:30:55

Why should you consider using trees?

Listen
Take Up Code
202: Graphs vs. Trees vs. Hierarchies: Compared. from 2017-09-25T04:50:59

Before exploring HTML and CSS further, you are going to need to understand graphs, trees, and hierarchies.

Listen
Take Up Code
201: HTML: Caching Generated Output For Speed. from 2017-09-18T05:30:08

Now that you can generate HTML, why would you ever want to go back to the old way of unchanging HTML?

Listen
Take Up Code
200: HTML: Can Be Generated By A Web Server. from 2017-09-11T05:30:23

A modern website is more than just a collection of some HTML pages.

Listen
Take Up Code
199: HTML: How To: Simple Formatting. from 2017-09-04T05:30:09

You will learn how to use HTML to format your text into headings, paragraphs, and lists in this episode.

Listen
Take Up Code
198: HTML: Semantic Meaning. from 2017-08-28T05:30:02

Does markup have any specific meaning that can be understood?

Listen
Take Up Code
197: HTML: The Bigger Picture. from 2017-08-21T05:30:47

You need to know more than how HTML tags work. There is a structure that HTML documents should follow.

Listen
Take Up Code
196: HTML: How Does Markup Work? from 2017-08-14T05:30:34

How does HTML markup enable you to create web pages?

Listen
Take Up Code
195: HTML: Is This Programming? from 2017-08-07T05:30:19

You can use HTML to present information or build web pages. But it is not programming.

Listen
Take Up Code
194: How Can You Tell Good Teachers From Fake? from 2017-07-31T05:30:15

What criteria do you use to determine if somebody is faking their skills as a teacher?

Listen
Take Up Code
193: Kids Either Leave or Go to Jail. from 2017-07-24T05:30:36

My dad recently said that he noticed a lot more police activity recently. He lives in a small rural town and told me that kids now days either leave or go to jail.

Listen
Take Up Code
192: Developer Bootcamps and Coding Schools: Doomed or Thriving? from 2017-07-17T05:30:46

Where is the best place for you to get the skills you need to get a high-tech job, to advance your career, or to just satisfy your desire to improve?

Listen
Take Up Code
191: Git: Keep Track Of Your Files As They Change. Part 6. from 2017-07-10T23:17:43

Programming involves change and managing that change is the only way to make sense of it. You will learn about the staging area in this episode and how that affects your commits.

Listen
Take Up Code
190: Git: Keep Track Of Your Files As They Change. Part 5. from 2017-07-03T05:30:51

Programming involves change and managing that change is the only way to make sense of it. You will learn about submodules in this episode and how that enables you to reference code from other repos...

Listen
Take Up Code
189: Git: Keep Track Of Your Files As They Change. Part 4. from 2017-06-26T06:18:05

Programming involves change and managing that change is the only way to make sense of it. You will learn about distributed repositories in this episode and how that enables you to work differently.

Listen
Take Up Code
188: Git: Keep Track Of Your Files As They Change. Part 3. from 2017-06-19T05:30:52

Programming involves change and managing that change is the only way to make sense of it. You will learn about branching and what it means to commit your changes in this episode.

Listen
Take Up Code
187: Git: Keep Track Of Your Files As They Change. Part 2. from 2017-06-12T05:30:12

Programming involves change and managing that change is the only way to make sense of it.

Listen
Take Up Code
186: Git: Keep Track Of Your Files As They Change. Part 1. from 2017-06-05T05:30:02

Programming involves change and managing that change is the only way to make sense of it.

Listen
Take Up Code
185: Working Remotely: No More Trading Schedules. from 2017-05-29T05:30:08

Hey, I need to wait around for a package to be delivered next Friday. Can you cover for me if I take your shift on Saturday?

Listen
Take Up Code
184: Basic Electronics: Transistors Can Act Like Switches. from 2017-05-22T05:30:51

We normally think of something as either a conductor of electricity or an insulator.

Listen
Take Up Code
183: Digital Electronics: Microcontrollers Ready To Use. from 2017-05-15T05:47:02

Unlike microprocessors, microcontrollers can be used all by themselves.

Listen
Take Up Code
182: Digital Electronics: Microprocessor Speed And Clocks. from 2017-05-08T05:30:27

What are microprocessors and how have they changed?

Listen
Take Up Code
181: Basic Electronics: Voltage Dividers. from 2017-05-01T05:30:17

You can use resistors to divide voltage.

Listen
Take Up Code
180: Basic Electronics: Series And Parallel. from 2017-04-24T05:30:55

Have you ever wondered why batteries sometimes need to be inserted in alternating directions?

Listen
Take Up Code
179: Basic Electronics: Capacitance. from 2017-04-17T05:30:54

Do you know how your touch screen works?

Listen
Take Up Code
178: Basic Electronics: Magnetic Fields And Current. from 2017-04-10T05:30:47

Moving charge produces a magnetic field and a moving magnetic field produces current.

Listen
Take Up Code
177: Basic Electronics: AC/DC: Alternating Vs. Direct Current from 2017-04-03T05:30:43

Do you know where the nearest power plant is?

Listen
Take Up Code
176: Basic Electronics: Voltage, Current, Resistance. from 2017-03-27T05:30:30

Knowing some basic electronics helps you become a better programmer.

Listen
Take Up Code
175: Multiplexing: Many Over One. from 2017-03-20T05:30:01

How do you send multiple messages across a single channel?

Listen
Take Up Code
174: Error Correction: Hamming Distance And Codes. from 2017-03-13T05:30:14

How do you correct errors once you identify them?

Listen
Take Up Code
173: HMAC: Keyed Hashed Message Authentication Code. from 2017-03-06T06:30:44

How do you stop an attacker from just changing a hash?

Listen
Take Up Code
172: Hashes Offer The Best Error Detection. from 2017-02-27T06:30:07

If you receive some information, how do you know if it is intact or has been changed?

Listen
Take Up Code
171: Checksums Offer Better Error Detection. from 2017-02-20T08:51:01

If you receive some information, how do you know if it is intact or has been changed?

Listen
Take Up Code
170: Parity: Simple And Fast Error Detection. from 2017-02-13T06:31:38

If you receive some information, how do you know if it is intact or has been changed?

Listen
Take Up Code
169: Your Guide To Computer Programming. Part 4 of 4. from 2017-02-06T06:39:16

Why should you learn how to program? What is programming? What specific steps can you take? How can you apply programming?

Listen
Take Up Code
168: Your Guide To Computer Programming. Part 3 of 4. from 2017-01-30T06:30:44

Why should you learn how to program? What is programming? What specific steps can you take? How can you apply programming?

Listen
Take Up Code
167: Your Guide To Computer Programming. Part 2 of 4. from 2017-01-23T06:30:51

Why should you learn how to program? What is programming? What specific steps can you take? How can you apply programming?

Listen
Take Up Code
166: Your Guide To Computer Programming. Part 1 of 4. from 2017-01-16T06:37:01

Why should you learn how to program? What is programming? What specific steps can you take? How can you apply programming?

Listen
Take Up Code
165: Sockets And Ports: The Hidden Pieces. from 2017-01-09T06:30:17

How does one application communicate with another application?

Listen
Take Up Code
164: SCTP vs. TCP vs. UDP from 2017-01-02T06:42:40

You will learn more about the strengths of the SCTP, TCP, and UDP protocols by comparing them.

Listen
Take Up Code
163: SCTP: Stream Control Transmission Protocol. from 2016-12-26T05:54:49

SCTP is another protocol like TCP and UDP with aspects of both.

Listen
Take Up Code
162: OSI Model: Seven Layers of Communication. from 2016-12-19T06:30:20

The OSI model will help you understand how computers communicate.

Listen
Take Up Code
161: MAC: Media Access Control Address. from 2016-12-12T06:30:47

A MAC address is a physical address unique to your computer.

Listen
Take Up Code
160: UDP: User Datagram Protocol. from 2016-12-05T06:30:09

Sometimes speed and simplicity are more important than reliability.

Listen
Take Up Code
159: TCP: Transmission Control Protocol. from 2016-11-28T06:34:02

Knowing where to send information through IP is not enough. You have to know how to reliably send information too.

Listen
Take Up Code
158: IP: Internet Protocol Addresses. from 2016-11-21T05:58:30

Any computer or device that wants to communicate with the Internet Protocol needs an IP address to uniquely identify the device.

Listen
Take Up Code
157: DNS: Domain Name System. from 2016-11-14T06:30:07

Why do we need a system for managing domain names?

Listen
Take Up Code
156: URLs, URNs, URCs, Data URIs, and URIs. from 2016-11-07T06:30:19

It is almost a tongue twister to say them all. Do you know what they all mean?

Listen
Take Up Code
155: HTML vs. HTTP: How Do They Compare? from 2016-10-31T05:30:07

There is more than just two letters difference. In fact, you can not really compare them at all. But you can use them together.

Listen
Take Up Code
154: Data: JSON JavaScript Object Notation. from 2016-10-24T05:07:10

Like XML, JSON is also a way to represent data that is readable by both humans and computers.

Listen
Take Up Code
153: Data: XML Extensible Markup Language. from 2016-10-17T05:50:10

XML was designed to solve two main purposes. To allow information to be stored and transported and to allow both humans and computers to read and modify the information.

Listen
Take Up Code
152: Distributed Computing: APIs Have Changed. from 2016-10-10T05:30:48

You might be more familiar with APIs than SOA but they had another meaning not very long ago.

Listen
Take Up Code
151: The More You Learn. from 2016-10-03T05:30:08

As you learn more about something, a strange thing happens. It becomes obvious how much more there is to still be learned.

Listen
Take Up Code
150: Distributed Computing: SOA from 2016-09-26T05:30:32

Service Oriented Architecture or SOA for short can mean different things. At the core, is the ability to send a message over a network to an isolated destination for a specific business purpose.

Listen
Take Up Code
149: Step By Step Perfection. from 2016-09-19T05:30:10

Knowing where to spend your time and focus will help you finish projects without getting stuck in details.

Listen
Take Up Code
148: CAP Theorem: Choose Two, Or Is It One? from 2016-09-12T05:30:03

Consistency, Availability, and Partition Tolerance are three aspects of distributed computing. And a fourth not included in the theorem is Latency.

Listen
Take Up Code
147: Distributed Computing: Ready? Yes. Done. from 2016-09-05T05:30:30

Two-phase and three-phase commits will help you design solutions that need to work across multiple computers.

Listen
Take Up Code
146: Distributed Computing: It Happened When? from 2016-08-29T05:30:36

Computers rely on clocks. They coordinate everything. But the clocks on different computers can be slightly off from each other.

Listen
Take Up Code
QA Friday 2016-Aug-26 from 2016-08-26T05:30:39

What can you do to improve your concentration?

Listen
Take Up Code
145: Distributed Computing: Four Reasons. from 2016-08-22T05:30:10

Dividing work between multiple computers is sometimes the best way to solve a problem.

Listen
Take Up Code
QA Friday 2016-Aug-19 from 2016-08-19T05:30:18

How do you concentrate?

Listen
Take Up Code
144: Data Types: C++ nullptr Is Not Zero. from 2016-08-15T05:30:52

nullptr represents a null pointer and while it has a value of zero, the type is not the same.

Listen
Take Up Code
QA Friday 2016-Aug-12 from 2016-08-12T05:11:26

When should I create a new class?

Listen
Take Up Code
143: Where And How To Use Whitespace. from 2016-08-08T05:30:46

Making code more readable sometimes means knowing where to put nothing.

Listen
Take Up Code
QA Friday 2016-Aug-05 from 2016-08-05T05:02:30

Regulations say that you can only have one floor mat.

Listen
Take Up Code
142: Comments. Focus On Why. from 2016-08-01T04:52:35

Comments are important but do not forget that your code should also be self-commenting.

Listen
Take Up Code
QA Friday 2016-Jul-29 from 2016-07-29T06:04:57

Where are your certifications? Do you have a degree?

Listen
Take Up Code
141: Reference Counting. Still In Use! from 2016-07-25T05:57:14

Can this object be thrown away yet? Keeping track of how many places are still using an object is one way to answer this question.

Listen
Take Up Code
QA Friday 2016-Jul-22 from 2016-07-22T04:29:37

What is your biggest weakness? Things around us change and we each grow and change too.

Listen
Take Up Code
140: Name Mangling and Overloaded Methods. from 2016-07-18T05:43:24

You normally do not have to worry about name mangling. But you should know what it is.

Listen
Take Up Code
QA Friday 2016-Jul-15 from 2016-07-15T07:24:32

What is your biggest weakness? In real life, problems often require more than one person. Nobody can be an expert in everything. We have to each focus on what we do best and that means we need weak...

Listen
Take Up Code
139: Data Types: C++ Decltype. Declared Types. from 2016-07-11T06:47:30

Sometimes you need to declare a type to be the same as something else.

Listen
Take Up Code
QA Friday 2016-Jul-08 from 2016-07-08T06:29:38

How our education system ignores problem solving. I do not really have a question this week so this is a great opportunity for me to talk about education.

Listen
Take Up Code
138: Data Types: Lvalues And Rvalues. from 2016-07-07T05:51:02

You will sometimes come across lvalues and rvalues maybe when trying to understand compiler error messages or when reading docs. A basic understanding will go a long way to making sense of them.

Listen
Take Up Code
137: Data Types: Auto or Var. The Compiler Chooses. from 2016-07-06T05:44:41

Auto and var types do have a type. The compiler will figure out what that is.

Listen
Take Up Code
136: Data Types: Variant. Pick One. from 2016-07-05T06:25:44

The variant type can take on one of many different types and can even change the type. It is still a variant so it is more accurate to say that it can hold another type.

Listen
Take Up Code
135: Data Types: GUIDs Globally Unique Identifiers. from 2016-07-04T07:29:50

When you want to identify class instances or data records, you cannot use things like passports. Yet it is just as important to keep track of object identities as it is for people.

Listen
Take Up Code
QA Friday 2016-Jul-01 from 2016-07-01T06:40:24

I always feel pressure and embarrassment when doing code reviews. What should I do?

Listen
Take Up Code
134: Data Types: C++ Function Binders. from 2016-06-30T06:52:17

Binders make up part of functional composition that allows you to adapt functions and combine them into new functions.

Listen
Take Up Code
133: Data Types: Regular Expressions. from 2016-06-29T05:52:58

A regular expression or regex lets you perform the advanced text operations matching, searching, tokenizing, and replacing.

Listen
Take Up Code
132: Data Types: Lambdas. from 2016-06-28T06:51:09

Lambdas are a recent addition to C++ and are also included in other languages. Think of them like unnamed methods but with some extra concepts that you need to know. Or if not, you will be even mor...

Listen
Take Up Code
131: Data Types: Function Pointers Part 2. from 2016-06-27T05:16:15

You may not always need to work with this data type but that does not mean you can ignore it. If you do not at least know the basics, then you will get lost in code that uses function pointers.

Listen
Take Up Code
QA Friday 2016-Jun-24 from 2016-06-24T05:29:04

What is data binding?

Listen
Take Up Code
130: Data Types: Function Pointers Part 1. from 2016-06-23T05:59:16

You may not always need to work with this data type but that does not mean you can ignore it. If you do not at least know the basics, then you will get lost in code that uses function pointers.

Listen
Take Up Code
129: Data Types: Function Objects Part 2. from 2016-06-22T06:45:53

Function objects are simple but do not let that fool you. You can use them in clever solutions.

Listen
Take Up Code
128: Data Types: Function Objects Part 1. from 2016-06-21T06:31:20

Function objects are simple but do not let that fool you. You can use them in clever solutions.

Listen
Take Up Code
127: Data Types: Smart Pointers Part 2. from 2016-06-20T07:00:56

The C++ language guarantees that destructors run at specific times even if an exception is thrown. You can use this to make sure that other cleanup work gets done. That is what smart pointers do.

Listen
Take Up Code
QA Friday 2016-Jun-17 from 2016-06-17T05:18:26

What is runtime binding?

Listen
Take Up Code
126: Data Types: Smart Pointers Part 1. from 2016-06-16T04:58:02

The C++ language guarantees that destructors run at specific times even if an exception is thrown. You can use this to make sure that other cleanup work gets done. That is what smart pointers do.

Listen
Take Up Code
125: Data Types: Streams Part 2. from 2016-06-15T05:35:48

Streams provide a way to read and write potentially unlimited information and working with them is very different than data types representing a single variable.

Listen
Take Up Code
124: Data Types: Streams Part 1. from 2016-06-14T05:51:29

Streams provide a way to read and write potentially unlimited information and working with them is very different than data types representing a single variable.

Listen
Take Up Code
123: Data Types: Tuples. from 2016-06-13T05:38:13

Sometimes you need to bundle things together so you can treat them as a single unit. That is what the tuple provides.

Listen
Take Up Code
QA Friday 2016-Jun-10 from 2016-06-10T06:37:52

When should I use a reference and when should I use a pointer?

Listen
Take Up Code
122: Data Types: DateTimes Part 5 C++. from 2016-06-09T07:59:05

DateTimes in C++ require quite a bit of a learning curve. They are still evolving and nowhere near to being full-featured or friendly to use.

Listen
Take Up Code
121: Data Types: DateTimes Part 4. from 2016-06-08T06:12:08

Dates and times are a lot more complicated than we normally realize. This episodes explains durations.

Listen
Take Up Code
120: Data Types: DateTimes Part 3 C#. from 2016-06-07T06:38:04

So you think you know how to use the DateTime struct in C#? You might be surprised.

Listen
Take Up Code
119: Data Types: DateTimes Part 2. from 2016-06-06T07:44:04

Dates and times are a lot more complicated than we normally realize. Having a specific data type to manage all the details is crucial.

Listen
Take Up Code
QA Friday 2016-Jun-03 from 2016-06-03T07:22:23

Do I really have to follow software licenses?

Listen
Take Up Code
118: Data Types: DateTimes Part 1. from 2016-06-02T05:53:30

Dates and times are a lot more complicated than we normally realize. Having a specific data type to manage all the details is crucial.

Listen
Take Up Code
117: Data Types: Decimals. from 2016-06-01T05:58:43

If you need floating point values but find the accuracy of floats and even doubles to cause problems, then consider using the decimal type.

Listen
Take Up Code
116: Data Types: Strings Part 3. from 2016-05-31T05:57:29

You need more than a bunch of numbers and logic to write an application. You need text and working with individual characters is not enough either.

Listen
Take Up Code
115: Data Types: Strings Part 2. from 2016-05-30T08:49:43

You need more than a bunch of numbers and logic to write an application. You need text and working with individual characters is not enough either.

Listen
Take Up Code
QA Friday 2016-May-27 from 2016-05-27T05:49:16

Is there any point in learning how to code when I can just use the source code from another app?

Listen
Take Up Code
114: Data Types: Strings Part 1. from 2016-05-26T06:57:49

You need more than a bunch of numbers and logic to write an application. You need text and working with individual characters is not enough either.

Listen
Take Up Code
113: Data Types: Arrays. from 2016-05-25T07:00:19

You will often need multiple variables of the same type and while you can sometimes just create separate variables with their own names, what if you do not know ahead of time how many will be needed?

Listen
Take Up Code
112: Data Types: Floats. from 2016-05-24T06:37:35

If you want to work with fractional values instead of just whole numbers, then floating point types are usually a good choice. They are different enough from ints that you need to understand how to...

Listen
Take Up Code
111: Data Types: Enums. from 2016-05-23T06:45:29

What would you rather see? 1, 2, 3, or red, green, blue? Enums allow you to give meaningful names to values. Seems simple, right? It is, except for a few things you should be aware of.

Listen
Take Up Code
QA Friday 2016-May-20 from 2016-05-20T06:15:55

I met a person recently who has a college degree in computer science. He works at a local pizza shop. The question this week is not really a question but my thoughts on the situation. What went wro...

Listen
Take Up Code
110: Data Types: Void And Bool. from 2016-05-19T04:30:55

Void and bool are simple types that you can use with very little explanation. There are a few details that you should be aware of though.

Listen
Take Up Code
109: Data Types: Ints Part 2. from 2016-05-18T04:35:41

You will probably have one or more ints in almost every method and class you write. They are everywhere so you really should know how to use them.

Listen
Take Up Code
108: Data Types: Ints Part 1. from 2016-05-17T06:51:46

You will probably have one or more ints in almost every method and class you write. They are everywhere so you really should know how to use them.

Listen
Take Up Code
107: Data Types: Chars And Bytes. from 2016-05-16T06:37:49

Chars and bytes form some of the most basic data types available. But what are they really? And what can you do with them?

Listen
Take Up Code
QA Friday 2016-May-13 from 2016-05-13T05:45:13

How do I use my foundational skills in programming to start making useful software?

Listen
Take Up Code
106: Multithreading. Call Me Back Please. from 2016-05-12T06:22:43

Callback methods can also be either synchronous or asynchronous and add a whole new dimension to how you can approach problems.

Listen
Take Up Code
105: Multithreading. Sync vs. Async. from 2016-05-11T07:10:18

What are synchronous and asynchronous methods and how do you use them?

Listen
Take Up Code
104: Multithreading. Singleton Mistakes. from 2016-05-10T06:22:22

There is a big problem with Singletons especially in the C++ language. It is not obvious how to get them to work with multiple threads. You want one instance in your entire application and how do y...

Listen
Take Up Code
103: Multithreading. Volatile. from 2016-05-09T06:51:50

Volatile is a keyword that allows you to turn off certain optimizations. Unfortunately, it is also used incorrectly many times as a way to synchronize threads.

Listen
Take Up Code
QA Friday 2016-May-06 from 2016-05-06T06:50:20

Do it in place. What does that mean?

Listen
Take Up Code
102: Multithreading. Up And Down. from 2016-05-05T07:08:33

What if you just want to limit how many things you can have or can be done? This episode will explain another side of the semaphore sometimes called a counting semaphore.

Listen
Take Up Code
101: Multithreading. Signal And Wait. from 2016-05-04T07:40:14

Semaphores are often confused and characterized as just a more general form of a mutex. There are actually some big differences though.

Listen
Take Up Code
100: Multithreading. Master The Lock. from 2016-05-03T06:59:14

This episode dives deep into locks. How do they work? And then explains how you can use this to implement a reader-writer lock.

Listen
Take Up Code
99: Multithreading. Cache Lines. from 2016-05-02T05:42:01

If you are not careful, you can cause a processor to come to an immediate and full stop while it waits for data to move around in memory. That is probably not the performance boost you were looking...

Listen
Take Up Code
QA Friday 2016-Apr-29 from 2016-04-29T05:45:59

Do you get more value out of articles, videos, or podcasts?

Listen
Take Up Code
98: Multithreading. The Great Divide. from 2016-04-28T05:31:39

How do you assign work to threads? This episode explains several ways you can think about this and when to use them.

Listen
Take Up Code
97: Multithreading. The Big Event. from 2016-04-27T06:25

There is more to working with multithreading than locking code and avoiding deadlocks. You also need to know how to synchronize activities. It is not so hard once you understand.

Listen
Take Up Code
96: Multithreading. Thoughtful Designs. from 2016-04-26T06:30:57

The design decisions you make affect not only how well you can maintain your code but also how well others can use your code. Multithreading adds a new dimension to your designs and I will give you...

Listen
Take Up Code
95: Multithreading. When Neither Side Budges. from 2016-04-25T06:14:44

Deadlocks are another common problem with multithreading. I will explain how you can get into this situation and how to change your code to avoid the problem.

Listen
Take Up Code
QA Friday 2016-Apr-22 from 2016-04-22T05:59:09

What makes a good personal programming side project?

Listen
Take Up Code
94: Multithreading. The Race Is On. from 2016-04-21T07:09:23

Anytime a thread tries to access some memory or resource that another thread can change, you have a race condition. There is no winner for this kind of race. The whole application will lose.

Listen
Take Up Code
93: Multithreading. When Should You Use It? from 2016-04-20T06:30:09

Do you know when to use multithreading? What are the advantages and disadvantages?

Listen
Take Up Code
92: Multithreading. Why Should You Care? from 2016-04-19T05:49:05

There are several ways to make better use of the capabilities of your computer. Multiple threads allow your application to perform multiple things at the same time. With this power comes a lot of r...

Listen
Take Up Code
91: Round Robin. Nobody Starves. from 2016-04-18T05:21:40

Whenever your application has several things to do, you need to figure out how to schedule those things. This episode explains a common technique called a round robin that gives everything a fair s...

Listen
Take Up Code
QA Friday 2016-Apr-15 from 2016-04-15T04:30:10

After working 8 hours, how can I learn to program in the evening?

Listen
Take Up Code
90: Design Patterns: Object Pool. from 2016-04-14T04:29:11

The object pool behavioral pattern allows you to reuse objects instead of destroying them and creating them again.

Listen
Take Up Code
89: Design Patterns: Dirty Flag. from 2016-04-13T06:07:40

The dirty flag behavioral pattern allows you to avoid expensive operations that would just need to be done again anyway.

Listen
Take Up Code
88: Design Patterns: Service Locator. from 2016-04-12T05:53:13

The service locator behavioral pattern allows you to make use of an interface without knowing what class implements the interface.

Listen
Take Up Code
87: Design Patterns: Event Queue. from 2016-04-11T07:51:41

The event queue behavioral pattern allows you to keep track of work that needs to be done and let some other code actually perform the task.

Listen
Take Up Code
QA Friday 2016-Apr-08 from 2016-04-08T05:43:49

Can I learn programming if I am stupid?

Listen
Take Up Code
86: Design Patterns: Component. from 2016-04-07T06:27:50

The component behavioral pattern allows you to add just the features to your objects that are needed and keep the features independent of each other.

Listen
Take Up Code
85: Design Patterns: Subclass Method. from 2016-04-06T06:19:55

The subclass method behavioral pattern allows many different subclasses to define their own behavior while reusing common functionality from the base class.

Listen
Take Up Code
84: Design Patterns: Update Method. from 2016-04-05T05:45:04

The update method behavioral pattern works with the previous game loop pattern and lets you manage the behavior of multiple game characters.

Listen
Take Up Code
83: Design Patterns: Game Loop. from 2016-04-04T06:24:47

The game loop behavioral pattern is essential in games and simulations to make the actions proceed at the proper speed regardless of what the user is doing or how fast the computer is.

Listen
Take Up Code
QA Friday 2016-Apr-01 from 2016-04-01T04:40:02

How do you make a design easy to understand?

Listen
Take Up Code
82: Design Patterns: Double Buffer. from 2016-03-31T07:16:35

The double buffer behavioral pattern allows multiple changes to all appear to occur at the same time.

Listen
Take Up Code
81: Design Patterns: Visitor. from 2016-03-30T05:52:37

The visitor behavioral pattern allows you to perform actions on a collection of different types where the actions depend on the types.

Listen
Take Up Code
80: Design Patterns: Template Method. from 2016-03-29T04:53:27

The template behavioral pattern allows your derived classes to change certain aspects of the base class behavior without needing to rewrite everything.

Listen
Take Up Code
79: Design Patterns: Strategy. from 2016-03-28T05:44:51

The strategy behavioral pattern allows you to define multiple ways to perform some action and then select the best approach.

Listen
Take Up Code
QA Friday 2016-Mar-25 from 2016-03-25T06:56:21

What is identity?

Listen
Take Up Code
78: Design Patterns: State. from 2016-03-24T06:30:51

The state behavioral pattern allows you to simplify your code when you have different modes of operation.

Listen
Take Up Code
77: Design Patterns: Observer. from 2016-03-23T06:47

The observer behavioral pattern allows you to be notified of any changes instead of constantly checking.

Listen
Take Up Code
76: Design Patterns: Memento. from 2016-03-22T05:55:30

The memento behavioral pattern allows you to save and later restore the state of an object even without full access to all properties.

Listen
Take Up Code
75: Design Patterns: Mediator. from 2016-03-21T05:21:28

The mediator behavioral pattern allows you to define complex object interactions while still keeping each object simple and unaware of the other objects.

Listen
Take Up Code
QA Friday 2016-Mar-18 from 2016-03-18T05:47:05

How much programming do you need to know before you can call yourself a programmer?

Listen
Take Up Code
74: Design Patterns: Iterator. from 2016-03-17T06:10:04

The iterator behavioral pattern allows you to access objects in a collection or anything that contains multiple items without worrying about how this is done.

Listen
Take Up Code
73: Design Patterns: Interpreter. from 2016-03-16T07:02:17

The interpreter behavioral pattern allows you to solve common problems by expressing those problems in a simple language.

Listen
Take Up Code
72: Design Patterns: Command. from 2016-03-15T05:47:17

The command behavioral pattern allows you to represent an action that you want to perform as an object that can be copied from place to place and performed at a later time if you want.

Listen
Take Up Code
71: Design Patterns: Chain Of Responsibility. from 2016-03-14T04:30:49

The chain of responsibility behavioral pattern allows you to setup a series of possible results that you can initiate from a single location without worrying about what code will provide the result...

Listen
Take Up Code
QA Friday 2016-Mar-11 from 2016-03-11T06:03:57

Why are universities still teaching bubble sort?

Listen
Take Up Code
70: Design Patterns: Proxy. from 2016-03-10T05:56:47

The proxy structural pattern introduces another object that your code uses instead of the actual object. This might seem pointless but there are some good reasons why you might consider this.

Listen
Take Up Code
69: Design Patterns: Flyweight. from 2016-03-09T08:10:18

The flyweight structural pattern allows you to represent more items in your application as class instances without using up all your computer memory.

Listen
Take Up Code
68: Design Patterns: Facade. from 2016-03-08T06:53:05

The facade structural pattern provides a simplified way for you to interact with a more complicated set of interfaces.

Listen
Take Up Code
67: Design Patterns: Decorator. from 2016-03-07T07:07:48

The decorator structural pattern allows you to add new behavior to object instances dynamically. That means an object can change its behavior at run time. The interesting thing is that your objects...

Listen
Take Up Code
QA Friday 2016-Mar-04 from 2016-03-04T08:00:38

What is the rule of three? And related to this: What is the rule of five? And what is the rule of zero?

Listen
Take Up Code
66: Design Patterns: Composite. from 2016-03-03T07:18:22

The composite structural pattern allows you to build elaborate objects from smaller objects and not worry about how big they get. You can treat your composite objects as if they are all the same.

Listen
Take Up Code
65: Design Patterns: Bridge. from 2016-03-02T08:02:12

The bridge structural pattern allows you to separate an interface from its implementation. Maybe you want to start out doing something one way and then change later. Or maybe you want to share an i...

Listen
Take Up Code
64: Design Patterns: Adapter. from 2016-03-01T07:12:53

The adapter structural pattern allows you to change the interface of an object. This lets you reuse code that would not normally fit into your design.

Listen
Take Up Code
63: Design Patterns: Abstract Factory. from 2016-02-29T06:08:17

The abstract factory creational pattern allows you to organize different sets of classes that work together so they get created together. This lets you change from one group of classes to another b...

Listen
Take Up Code
QA Friday 2016-Feb-26 from 2016-02-26T06:00:31

What is the best way for somebody to learn another programming language?

Listen
Take Up Code
62: Design Patterns: Builder. from 2016-02-25T07:32:34

The builder creational pattern allows you to hide all the details needed to create a complicated object behind simple steps that another object will direct. This lets you change either how things g...

Listen
Take Up Code
61: Design Patterns: Prototype. from 2016-02-24T08:45:37

The prototype creational pattern is great for creating objects that you may not know about ahead of time. If your program allows users to build complex objects from simpler components and then need...

Listen
Take Up Code
60: Design Patterns: Singleton. from 2016-02-23T06:34:28

The singleton creational pattern is simple and often used. It is actually used a bit too often so this episode will give you some caution and provide some ideas to modify this pattern when needed.

Listen
Take Up Code
59: Design Patterns: Factory. from 2016-02-22T06:03:43

When you learn how to make use of design patterns, your software will become more flexible and easier to maintain as new features are added. This episode introduces patterns and then describes the ...

Listen
Take Up Code
QA Friday 2016-Feb-19 from 2016-02-19T06:07:03

What is syntax and what does it mean for somebody learning a new programming language?

Listen
Take Up Code
58: C++ Templates. Types And Values. from 2016-02-18T05:55:52

Both C++ templates and C# generics serve a similar purpose. But where C# uses constraints to enable generics, C++ instead uses the compiler to enable templates. And C++ includes the ability to crea...

Listen
Take Up Code
57: C# Generics. Fill In The Blanks. from 2016-02-17T07:57:34

If you ever find yourself wanting to duplicate code with just slight changes to adapt it to use a different type, then you will appreciate C# generics. Generic programming is sometimes called templ...

Listen
Take Up Code
56: C# Exceptions. Finally Required. from 2016-02-16T05:30:45

Errors will happen. The question is how will you deal with them? The QA Friday from 2015 Dec-11 talked about this question. This episode explains C# exceptions and how they are different from C++ e...

Listen
Take Up Code
55: C++ Exceptions. Cannot Be Ignored. from 2016-02-15T17:01:29

Errors will happen. The question is how will you deal with them? The QA Friday from 2015 Dec-11 talked about this question. This episode explains C++ exceptions. C# also has exceptions. But C# is d...

Listen
Take Up Code
QA Friday 2016-Feb-12 from 2016-02-12T06:52:06

What advice can I provide to help you debug your code?

Listen
Take Up Code
54: Recursion. Find Your Base. from 2016-02-11T07:19:36

Recursion is powerful and takes a bit of getting used to. It is like splitting your thoughts into multiple tasks that are all similar and waiting on the next thought to complete. I know, it sounds ...

Listen
Take Up Code
53: Enumerations And Bit Flags. from 2016-02-10T07:05:56

Enumerations allow you to name different related options. The names can refer to a single option or you can use what you now know about bits to combine them into flags. With flags, you can have mul...

Listen
Take Up Code
52: Bits Operations: Shifting. from 2016-02-09T07:35:27

You can do more with bits than just turning them on or off. This episode will show you how to shift bits left or right for either really quick multiplication or division or to maneuver them into pl...

Listen
Take Up Code
51: Bits Operations: Masking. from 2016-02-08T07:28:21

Working with individual bits does not just give you a way to pack lots of true or false values into a small space. This episode will show you how to isolate bits so you can work with them individua...

Listen
Take Up Code
QA Friday 2016-Feb-05 from 2016-02-05T07:33:18

Are strings also a collection? And how are characters represented?

Listen
Take Up Code
50: Hexadecimal. Easier Than Binary. from 2016-02-04T05:48:19

Hexadecimal gives you a better way to represent binary numbers. In one of the very early episodes, I explained how bytes are composed of eight bits. On some platforms, a byte might actually be more...

Listen
Take Up Code
49: C++ Preprocessor. This Is Old Magic. from 2016-02-03T08:38:48

The preprocessor is old, primitive, and strong. But you need to understand its strengths to use it effectively. It adds capabilities that the C++ compiler cannot come close to duplicating on its own.

Listen
Take Up Code
48: Chaining: Operators, Classes, Calls. from 2016-02-02T05:59:10

Chaining is a common term that has several different meanings. This episode explains how you can use chaining in your programs and how it works.

Listen
Take Up Code
47: Operators. Who Goes First? from 2016-02-01T05:46

Programming languages have a lot of operators. More than most calculators anyway. Do you know what they are? Did you know there is an order to them? This episode explains precedence, associativity,...

Listen
Take Up Code
QA Friday 2016-Jan-29 from 2016-01-29T05:52:14

What types of programmers are there?

Listen
Take Up Code
46: Collections: Iterators Part 2. from 2016-01-28T06:47:05

Iterators give you the ability to navigate from one item to another in a collection and track a specific position within a collection. This episode is part two and continues describing even more ad...

Listen
Take Up Code
45: Collections: Iterators Part 1. from 2016-01-27T05:22:19

Iterators give you the ability to navigate from one item to another in a collection. Why is this so special? Now that you know how to work with various collections, you know that they are structure...

Listen
Take Up Code
44: Collections: Dictionary. from 2016-01-26T06:09:54

You will need to be able to work with groups or collections of items. You have choices and this episode continues more than a week long exploration of collection types available. Up today is the di...

Listen
Take Up Code
43: Collections: Hash Table. from 2016-01-25T05:30:08

You will need to be able to work with groups or collections of items. You have choices and this episode continues more than a week long exploration of collection types available. Up today is the ha...

Listen
Take Up Code
QA Friday 2016-Jan-22 from 2016-01-22T06:43:26

What can you expect your job to be like as a new programmer?

Listen
Take Up Code
42: Collections: Left-Child Right-Sibling Tree. from 2016-01-21T06:27:03

A game that only has one character with one quest and with one shop that sells one item is not going to be very fun. That is why you need to be able to work with collections of items. You have choi...

Listen
Take Up Code
41: Collections: Binary Tree. from 2016-01-20T06:57

A game that only has one character with one quest and with one shop that sells one item is not going to be very fun. You have choices for storing collections of items and this episode continues mor...

Listen
Take Up Code
40: Collections: List. from 2016-01-19T06:03:55

You will need to be able to work with groups or collections of items. A game that only has one character with one action and with one opponent is not going to be very fun. Up today is the list. I w...

Listen
Take Up Code
39: Collections: Array. from 2016-01-18T06:35:05

You will need to be able to work with groups or collections of items. A game that only has one character with one action and with one opponent is not going to win any awards. First up today is the ...

Listen
Take Up Code
QA Friday 2016-Jan-15 from 2016-01-15T07:05:53

How can you prevent denial of service attacks? Most of the techniques you will use to prevent a DOS attack are network related. This podcast is about programming so I will explain some things you c...

Listen
Take Up Code
38: Big-O Notation. How Fast Can You Go? from 2016-01-14T07:12:28

There are some common Big-O notations that you should become familiar with as well as what kind of code leads to them. This episode continues the discussion of Big-O notation so make sure to listen...

Listen
Take Up Code
37: Big-O Notation. Take It To The Limit. from 2016-01-13T06:57:04

Big-O notation gives you the ability to describe how fast your code will run if given a large problem. It does not base anything on how fast or slow your computer actually is. It just looks at the ...

Listen
Take Up Code
36: Logarithms. It’s How Our Bodies Work. from 2016-01-12T05:29:36

Have you ever thought about why you cannot see stars during the day? How about why car headlights are so much brighter at night? Or why you can only hear a pin drop in a silent room? All of our bod...

Listen
Take Up Code
35: Random Numbers Start With A Seed. from 2016-01-11T06:15:30

Programming involves giving specific instructions but sometimes you want the ability to introduce random behavior. Maybe you want to simulate how a human character sometimes does things in a differ...

Listen
Take Up Code
QA Friday 2016-Jan-08 from 2016-01-08T06:14:07

What are denial of service attacks? The datacenter that hosts the Take Up Code podcast was put under so much stress due to a coordinated attack that the the entire datacenter had to be taken offlin...

Listen
Take Up Code
34: C# Casting. Only Frogs Can Be Frogs. from 2016-01-07T05:30:52

C# also supports both implicit and explicit casts and gives you some different choices when you need to switch types. Plus you have a runtime that is ready to throw an InvalidCastException. But eve...

Listen
Take Up Code
33: C++ Casting. Turn Your Object Into A Frog. from 2016-01-06T07:09:40

Can you change an int into a float? And because an int occupies multiple bytes in memory, can you get access to the individual bytes by themselves? Or what if you have a derived class and you want ...

Listen
Take Up Code
32: Static Methods And Data. Always Available. from 2016-01-05T06:16:12

Declaring methods inside classes is great but what do you do when you want a method you can call anytime? If you are using C++, then just write a method. But if you still want your method in a clas...

Listen
Take Up Code
31: Getters And Setters Keep It Together. from 2016-01-04T05:30:23

Your classes will likely have data members so how do you work with these data members? Should they be public? Private? Do you let other code access them directly? And what is the difference between...

Listen
Take Up Code
QA Friday 2016-Jan-01 from 2016-01-01T06:25:53

How are namespaces and include files related and why do we need both?

Listen
Take Up Code
30: Interfaces. The Software Contract. from 2015-12-31T05:30:08

Interfaces give you the ability to define behavior without actually implementing it. Why would you want to do that? Your classes can then declare support for interfaces which means that they promis...

Listen
Take Up Code
29: Abstract Classes. Incomplete On Their Own. from 2015-12-30T05:39:22

What if you were writing a class that you wanted to be a base class? A class designed from the very beginning to bring together other classes with common behavior. What if you also wanted to guaran...

Listen
Take Up Code
28: Composition. The Has-A Relationship. from 2015-12-29T06:02:40

Composition allows you to specify very different kinds of relationships between classes. This is sometimes also called containment. If you are building a racing game and have a car class and a whee...

Listen
Take Up Code
27: Multiple Inheritance. Often Banned. from 2015-12-28T05:45:39

C++ gives you the power to do great things and multiple inheritance is one of the most powerful tools you will have. This does not mean that you should always use it. Use it when it is the right to...

Listen
Take Up Code
QA Friday 2015-Dec-25 from 2015-12-25T05:46:40

How do you test changes in a large project? This question was asked during a recent live weekend class by Rushton W. In the class, I was explaining the benefits of compiling and testing changes oft...

Listen
Take Up Code
26: Inheritance. When To Use Private. from 2015-12-24T05:15:28

This is an advanced C++ topic so do not get worried if it is difficult right now. You will rarely need to use private inheritance. And protected inheritance is probably even more rare. Some of my p...

Listen
Take Up Code
25: Inheritance. Overriding Methods. from 2015-12-23T05:27:03

Declaring that a class is another class type is only part of the reason to use inheritance. It is actually much more powerful than just allowing you to refer to a group of different class instances...

Listen
Take Up Code
24: Inheritance. The Is-A Relationship. from 2015-12-22T06:33:16

Class relationships bring out the full power of object-oriented programming. Inheritance allows you to create classes that specialize or extend other classes. You can create entire hierarchies of c...

Listen
Take Up Code
23: Access Control. Employees Only. from 2015-12-21T06:50:33

When defining what data and methods belong to a class, you also get to set accessibility levels so that some things are available for general use while other members are more restricted. Why not ju...

Listen
Take Up Code
QA Friday 2015-Dec-18 from 2015-12-18T07:20:04

What are logical operators? I sometimes find this question asked online and thought it would be good to explore. There are only three and you might think you already know how to understand them. Bu...

Listen
Take Up Code
22: C# Creating And Disposing Instances. from 2015-12-17T13:00:07

Creating instances in C# is a bit different because there is a difference between value types and reference types. You will be able to navigate your objects with ease after this episode.

Listen
Take Up Code
21: C++ Creating And Deleting Instances. from 2015-12-16T06:29:42

You are ready now to apply what you have learned about class definitions, pointers, and constructors and destructors to be able to create new instances in the main computer memory. There are some f...

Listen
Take Up Code
20: C# Destructors and IDisposable. from 2015-12-15T05:30

C# calls them finalizers and that is strangely appropriate because all you really know about them is that they might eventually be called, finally. This is because C# decided to manage object lifet...

Listen
Take Up Code
19: C++ Destructors. Simply Reliable. from 2015-12-14T05:42:10

One of the biggest differences between C++ and C# is in how object lifetimes are managed. I was going to have a general topic on destructors just like constructors but there are just too many diffe...

Listen
Take Up Code
QA Friday 2015-Dec-11 from 2015-12-11T05:30:40

What is the best way to handle errors? Things will not always go the way you expect and you are going to need to plan how to handle errors. Should you use return codes or exceptions? Plus, this epi...

Listen
Take Up Code
18: Constructors. from 2015-12-10T05:13:49

Constructors are your first opportunity to make sure your custom types are well formed. This episode explains the different kinds of constructors and how you should use them.

Listen
Take Up Code
17: Object-Oriented Programming. The Next Level. from 2015-12-09T06:00:24

Object-oriented programming, or OOP, is a powerful way of designing software by creating your own types that encapsulate behavior and data. Your types can make use of other types through relationsh...

Listen
Take Up Code
16: In Or Out Of Scope? from 2015-12-08T05:34:40

Scope is another concept that is amazingly similar to your everyday experience. Imagine you are at home and ask your mom, Where are my slippers? You mom says, Upstairs. That is scope. And you need ...

Listen
Take Up Code
15: Let’s Program A Game! Part 3. from 2015-12-07T06:26:54

So far, our game does not do much and we are going to fix that. The most important thing for you to realize is that when you are programming, you are not going to write your final code at the very ...

Listen
Take Up Code
QA Friday 2015-Dec-04 from 2015-12-04T05:26:22

In the last live weekend programming class, I created a variable called scrambledWord and then later created a method called scrambleWord. What do you do in this situation? Is this okay?

Listen
Take Up Code
14: Let’s Program A Game! Part 2. from 2015-12-03T07:59

Follow along as I explain how to program a word guessing game in C++. This episode builds on a free 5-day email course that shows you step-by-step how to design and build WordGuess.

Listen
Take Up Code
13: Let’s Program A Game! Part 1. from 2015-12-02T07:02:02

Follow along as I explain how to program a word guessing game in C++. This episode builds on a free 5-day email course that shows you step-by-step how to design and build WordGuess.

Listen
Take Up Code
12: References Are More Than Just Pointers. from 2015-12-01T06:51:29

References behave a lot like pointers and are what many language designers use when trying to claim that their language is simpler because it avoids pointers. Do not fall for it. Take the time to l...

Listen
Take Up Code
11: There’s A Method For All This. from 2015-11-30T07:17:36

We talk about methods in this episode. There are many kinds of methods and we will need to split this topic into multiple episodes. I will explain how methods are called and how they return when th...

Listen
Take Up Code
QA Friday 2015-Nov-27 from 2015-11-27T05:43:17

The question this week comes from Mark L. and Scott S. who have both noticed some companies hire programmers who all speak the same language. Spanish is a common example. And they want to know why....

Listen
Take Up Code
10: Double Pointers! The Pattern Continues. from 2015-11-26T06:10:44

A double pointer is nothing more than a pointer to another pointer. It is possible to continue this pattern indefinitely having pointers to pointers to pointers, and so on. But you will rarely need...

Listen
Take Up Code
9: Pointer Arithmetic. This Is Easy! from 2015-11-25T06:00:13

Now that you know how a pointer can be used to separate groups of items, I am going to explain another use of pointers that helps you work with the individual items in the group through a special c...

Listen
Take Up Code
8: Pointers! Computers Use Them Too. from 2015-11-24T06:23:11

If there is one thing that scares people more than void, it has got to be pointers. And rightfully so if they are misused or you get somebody trying to explain them who is already uncomfortable wit...

Listen
Take Up Code
7: Into The Void. from 2015-11-23T06:08:45

Understanding types is super critical to being able to program. Without this knowledge it would be like trying to go through life where everything you see and feel is unknown to you.

Listen
Take Up Code
QA Friday 2015-Nov-20 from 2015-11-20T06:00:49

The question this week comes from Scott S. who wants to know what are all the files that get created when building an application.

Listen
Take Up Code
6: Just In Time. from 2015-11-19T08:00:38

Many languages are adopting a model of just-in-time compiling. Do you know how this affects you? This episode will discuss the advantages and disadvantages of just-in-time compiling.

Listen
Take Up Code
5: Interpreted Or Compiled? from 2015-11-18T08:00:42

Some languages are interpreted and some are compiled. Knowing how your code behaves will allow you to select the best tool for the job.

Listen
Take Up Code
4: From Binary To GUIs. Part 2. from 2015-11-17T08:00:42

You have probably heard that computers only understand zeros and ones. So how does a computer go from zeros and ones to colorful graphical interfaces with buttons and web browsers?

Listen
Take Up Code
3: From Binary To GUIs. Part 1. from 2015-11-16T08:00:37

You have probably heard that computers only understand zeros and ones. So how does a computer go from zeros and ones to colorful graphical interfaces with buttons and web browsers?

Listen
Take Up Code
2: What Is Programming? from 2015-11-14T04:43:56

This episode will explain different types of programming in terms that you will be familiar with and then relate everything to computer programming concepts.

Listen
Take Up Code
1: How To Start Programming. from 2015-11-14T04:29:39

Getting started is hard. This episode goes into some psychological aspects that will help you start programming and then some specific steps to get your software development environment setup on yo...

Listen
Take Up Code
0: Why Take Up Code? from 2015-11-14T04:03:48

This first episode introduces the Take Up Code podcast and what you can expect. And really, it is here to answer the question, Why Take Up Code?

Listen