Categories
Programming Reading Material

GoalKicker.com’s free programmer’s notes for all sorts of platforms

I mentioned these FREE ebooks back on Programmer’s Day, but I feel that they merit their own post: GoalKicker.com has a great collection of FREE ebooks featuring programming recipes for all sorts of platforms, from Angular to Android, C to C++ to C#, Java to Kotlin, MongoDB to MySQL, Perl to PHP to Python, Ruby on Rails to React, Swift to Xamarin Forms and more!

You can download them for free here, but if you’re feeling really grateful and generous, you can buy them one or more coffees!

Categories
Deals Programming Reading Material

Happy Programmer’s Day 2021!

Once again, it’s September 13th — the 256th day of the year (on non-leap years)! As the number of values that can be expressed in a single byte, 256 means something to programmers, and as the largest power of 2 that will fit into 365, the 256th day of the year is a perfect excuse to declare it as Day of the Programmer.

Here are some things that you might find useful on this special day…

Want a free programming book? How about a whole lot of free programming books? GoalKicker.com has a series of notes for professionals for a wide array of programming languages and platforms. You can download them for free, but if you’re feeling really grateful and generous, you can buy them one or more coffees!

There’s Humble Bundle’s Python Superpowers bundle, which provides a lot of goodies for $25, including some really good Python video courses, ebooks, and a 6-month free license of PyCharm Professional Edition!

All work and no play makes Jack/Jackie a dull programmer, so why not play some programming games, like Shenzhen I/O, pictured above? Here’s a list of nine coding games that could sharpen your skills.

And finally, if you’re a new programmer or just need a Git refresher, you’ll want to check out Get Gud with Git.

Categories
Conferences Games Programming

Learn Godot Game Engine along with game designer Terry Cavanaugh!

Who’s Terry Cavanaugh?

Terry Cavanaugh poses with a Nintendo Switch.
Terry Cavanaugh.

Terry Cavanaugh is an indie game developer based in Monaghan, Ireland. His portfolio includes the commercial games  Dicey Dungeons

Super Hexagon (which is super-hard)…

…and VVVVVV (which is frustrating and maddening in the best possible way):

He’s also behind some freeware gems, including At a DistanceDon’t Look Back, and Tiny Heist.

What’s Godot Game Engine?

Godot Game Engine logo

Godot Game Engine is an free-as-in-beer, free-as-in-speech game engine for developing 2D and 3D games for desktop, web, mobile, and XR platforms.

2D game being designed in the Godot  IDE.
Tap to view at full size.

(In case you’re wondering, it’s pronounced “Go-DOH”, and the name comes from the Samuel Beckett’s absurdist play Waiting for Godot.)

3D game being designed in the Godot IDE.
Tap to view at full size.

You code Godot games in C, C++, C#, and their own Python-like language, GDScript.

Here’s the list of Godot Game Engine’s “pros” from gamedesigning.org:

  • Platform integration: you can easily upload creations to different platforms. If you want to get your project out easily and quickly, this is an option for you.
  • Constantly updated: The developers are hard at work updating Godot. Since it’s free, this is a pretty cool aspect, so I recommend throwing a few donations dollars their way!
  • It’s free: It’s completely free! No packages! No subscription models! No memberships!
  • Great User Interface: The UI is easy to use and read, leading to better and more comprehensive game development
  • Scripting: The ease of use for scripting is actually a lot easier than many different engines. They use their own invented script, titled GDScript. It’s easier to pick up and translates beautifully into finished projects and assets
  • Community and online resources: As I said before, the community for Godot is supportive and has a huge presence online. I got lost in a YouTube rabbit hole looking at some Godot tutorials videos alone. Again, I recommend the subreddit for engaging with the community and checking out the actual Godot site for some demos and tutorials for beginners.
  • Seamless Downloads: You can download it right from the browser and get going immediately with the self-contained program. Have at it!

How can you learn Godot Game Engine with Terry Cavanaugh?

Screen shot of Terry Cavanaugh’s “Stop Waiting for Godot” page.

“Let’s all learn Godot, next weekend!” wrote Terry Cavanaugh on this page. “Sometimes the word ‘game jam’ means competition, but that’s not really the vibe I’m going for here. There’s no judging, and nobody is going to win. Or, if you prefer, as they say over at Ludum Dare, your game is your prize.”

That’s the plan — he’s going to learn Godot by building a game, and he’s inviting people to come along for the ride. You can even build one as he builds one.

I think I’ll check it out. It sounds like fun, and might be a interesting way to put my recently-acquired gaming laptop through some new paces.

The details

Categories
Business Programming Tampa Bay

Tampa #1 on Forbes’ list of emerging tech cities (and other Tampa tech news)

Tampa is the city on Forbes’ list of emerging tech cites in the U.S.

“Tampa is quickly turning into Florida’s tech capital,” says the August 24th article in Forbes titled Emerging Tech Cities In The U.S.. “It has been exploding in the tech industry for several years now. There are over 50 software and IT companies in Tampa.”

In order, the cities in Forbes’ list of emerging tech cities are:

  1. Tampa (“Tampa is responsible for over 25% of Florida’s tech jobs, and there has been a massive surge in tech jobs in recent years.”)
  2. Miami (“In 2020, two of tech’s biggest names (and wallets) relocated to Miami to make it their permanent home. Founders Fund partner Keith Rabois and Blumberg Capital founder David Blumberg moved to Miami.”)
  3. New York City (“It’s not entirely a shocker considering how New York City is one of the centers for everything. Even that underplays the truly momentous amount of technological innovation that’s come out of that city in recent years.”)
  4. Austin (“It’s another city that’s been blowing up for the past few years as a result of an influx of tech talent.”)
  5. San Francisco (“You simply cannot comment on the current tech scene without considering its most famous, iconic setting.”)

12 Things You May Be Doing Wrong in Your Job Search (Tuesday @ 10:00 a.m., online)

When a job search starts to get frustrating, it may be that you’re making a few missteps. Find out if that’s the case at this Computer Coach workshop, 12 Things You May Be Doing Wrong in Your Job Search. Their workshops are always free, and Computer Coach are always helpful! (They’ve even helped me out.)

Tampa veterans use technology, connections to help Afghans evacuate

Quiet Professionals (whose name is derived from the sobriquet for the Green Berets) is a defense contractor based in Tampa’s Rocky Point, and they’re doing their part in Afghanistan with their OSINT (open source intelligence) dashboard to help people in Afghanistan find help and escape. You can find more in these stories:

You can also find out more on the Project Afghan Relief Fund site, and even directly help with a donation. I did, and you can too.

Tampa Bay coffee shops put tech to work to compete with national chains

Here’s a Tampa Bay Business Journals story on how three of our own local coffee chains — Blind Tiger, Buddy Brew, and Kahwa, all of whose brews I enjoy regularly — are competing against the megacoffeecorps with technology.

Give them some business! You won’t just be getting great coffee; you’ll also be investing in a local business, and helping the local area more interesting and less sterile.

Do you have mobile dev skills? These local companies are hiring.

A little while back, I posted an article titled So many Tampa Bay mobile dev job openings, so few applicants. The situation hasn’t changed much — there are still lots of local places who are looking for mobile developers:

Want to learn Android development or sharpen you Android dev skills? Join the GDG Suncoast Meetup and keep an eye open for their Android Study Jams, which happens every Wednesday.

I’m also looking at rebooting my Programmers of Portables meetup soon — watch this space!

Categories
Mobile Programming

Learn how to build an Android app using MVVM

Last week, I pointed you to Tutorials.EU’s video tutorial, Everything You Need To Know About Retrofit in Android | Get Data from an API, which showed you how to build an app that accesses the Rick and Morty API using the Retrofit HTTP client for Android.

This article is part of the Android August series, in which I’m writing an Android development-related article every day during the month of August 2021.

This week, they expand on that tutorial by showing you how to clean up the project’s architecture by refactoring it so that it uses the MVVM (Model-View-ViewModel) architecture:

https://www.youtube.com/watch?v=9Fn5vj74Oa8

This video is the second in a series. In next week’s video, you’ll change the implementation so that it uses coroutines to perform tasks in the background.

Categories
Mobile Programming

Android’s Camera2 API

This article is part of the Android August series, in which I’m writing an Android development-related article every day during the month of August 2021.

If you want to write an Android app that interacts with the camera beyond merely taking a picture or shooting some video, you’ll want to make use of the Camera2 API, which became available at API level 21 (a.k.a. Android 5.0, a.k.a. Lollipop), which goes all the way back to late 2014.

There are a number of recently published articles and documents that you can consult if you’d like to explore Camera2:

Categories
Mobile Programming

It’s time to get a head start with Jetpack Compose

This article is part of the Android August series, in which I’m writing an Android development-related article every day during the month of August 2021.

As I mentioned in the previous article in this series, the biggest development in the latest version of Android Studio (at least as far as I’m concerned) is that Jetpack Compose is now included, and therefore official.

Jetpack Compose is Android’s declarative UI, which puts it in the same general category as iOS’ SwiftUI or Facebook’s React.

Jetpack Compose is called declarative as opposed to imperative, which is often summarized as building UIs in a “this is what it should be like” way versus a “this is how it should be created”. It’s the difference between this…

// Imperative UI (Kotlin)
// ======================
val helloButton = Button()
helloButton.text = "Hello, World!"
val layout = Layout()
layout.add(helloButton)

…and this:

// Declarative UI (Kotlin)
// =======================
Layout {
    Button("Hello, World!")
}

The first one specifies, step by step, how to build a simple UI, while the second simply says “this is the UI I want”.

This is a brand new way to build Android UIs, and it’s expected to become the standard way. Now is you chance to get a head start, and the following links can be your first steps.

Get Started with Jetpack Compose

If you want to learn Jetpack Compose, start here — at developer.android.com, where they’ve got a page of links on learning the basics.

Android Developers’ Jetpack Compose Tutorial

In this official tutorial direct from Android’s own creators, you’ll learn Jetpack Compose by building a screen for a chat app that features:

  • A list of expandable and animated messages
  • With each message containing an image and some text,
  • Using Material Design principles with a dark theme included

…and all in fewer than 100 lines of code.

Android Developers’ Jetpack Compose Basics

You’ll want to supplement the article above with this video, which also has you writing a list-based application using Jetpack Compose.

CODE Magazine’s A Practical Introduction to Jetpack Compose Android Apps

This article introduces Jetpack Compose in small steps, starting with a “Hello, World!” app. It goes from there to introduce key concepts such as state, modifiers, and layouts. Finally, you’re introduced to the list and are shown how to use it by building a list of famous comic book superheroes.