How to Configure VS Code for Java

I recently shifted from IntelliJ IDEA Ultimate to Visual Studio Code (VS Code) and I have no regrets! VS Code is highly customizable and fast. It stores your settings in the cloud so you don’t have to worry about configurations when you move to a different machine.

As expected, it has support for Java, Git, SQL, Spring Boot, and many other languages, frameworks, and tools.

7 Best IDEs for AngularJS App Development

Are you planning to develop an app that can rule the online world and help you boost your business? You have to focus on several things in the process. According to a report by RiskIQ, 8.9 million apps exist in the digital world, so you need to know how to ensure that yours will have visibility. The app must be simple and fulfill the purpose you made it for.

Today, companies are focusing on keeping the development code simple so that developers don’t have to face difficulties in managing it and can make required changes in the app. This way, the improvements can be performed at any level and the bugs are also removed in the app development.

Microservices Annotator Plugin

Writing microservices has never been easy and does not become easier with growing codebases. All the complexity strives from tons of interactions between the moving parts of your applications.

And then we had this year's holidays and I had enough free time to think about it. Many complex measures can be used to make the code of microservices more readable, numerous expressive APIs, modern languages, we already use all of these, but the situation does not get better.

Tips for Cutting Down Web Development Time

When planning the creation of a website or web app, underestimating the time needed to deliver can sink a project. The longer the project is in development the more money, time, and other resources are required to see it to delivery. Also, the longer it is developed, the more that excitement for the project wanes and it might just be cast to the rubbish heap of other discarded projects.

Fortunately, over the years with advancements in tech stacks and the development of best practices, development times can be significantly reduced. This article looks at 10 easy-to-adopt practices that will reduce development time.

What’s Happening to Low-Code?

It was only a handful of years ago that the low-code story was innocently simple. Instead of coding software line-by-line by hand, use a low-code tool that provided visual abstractions that enabled developers to shortcut the hand-coding process by dragging and dropping tasks onto workflows, widgets onto screens, and the like.

Then along came no-code. The contrast between the two approaches was clear. Low-code targeted professional developers, simplifying their work by taking ‘plumbing’ tasks off their plate, while also facilitating collaboration with business stakeholders.

Release of RT-Thread Studio IDE v2.1.0

Introduction

RT-Thread Studio IDE v2.1.0 is releasing! In my last article, you got to know the features of RT-Thread Studio and may have downloaded it for development. So let's head to see what's NEW in its v2.1.0.

Make Your Own Board Supported Packages!

RT-Thread Studio V2.1.0 offers a tool associated with tutorials, which helps developers create the BSP visually. Developers can now easily make a board support package (BSP) and upload it online via the SDK Manager. The BSP tool supports configuring the graphic configuration of dev boards, documentation, and projects. The prompt of every configuration item is shown in front of the interface to help you understand. Also, this time, the Studio team gives a sweet thought. They make the configuration information available for preview! Check out this tutorial to make a BSP by yourself. 

One Action, Multiple Terminal Windows Running Stuff

Many development environments require running things in a terminal window. npm run start, or whatever. I know my biggest project requires me to be running a big fancy Docker-based thing in one terminal, Ruby on Rails in another, and webpack in another. I’ve worked on other projects that require multiple terminal windows as well, and I don’t feel like I’m that unusual. I’ve heard from several others in this situation. It’s not a bad situation, it’s just a little cumbersome and annoying. I’ve got to remember all the commands and set up my command line app in a way that feels comfortable. For me, splitting panels is nicer than tabs, although tabs for separate projects seems OK.

I asked the question on Twitter, of course. I figured I’d compile the options here.

  • tmux was the most popular answer. I’m very sure I don’t understand all it can do, but I think I understand that it makes “fake” panes within one terminal session that emulates multiple panes. So, those multiple panes can be configured to open and run different commands simultaneously. I found this interesting because it came literally days later my CodePen co-founder let us all know the new dev environment he’s been working on will use tmux.
  • I was pointed to kitty by a fella who told me it feels like a grown-up tmux to him. It can be configured into layouts with commands that run at startup.
  • There are native apps for all the platforms that can run multiple panels.
    • macOS: I’ve long used iTerm which does split panels nicely. It can also remember window arrangements, which I’ve used, but I don’t see any built-in option for triggering commands in that arrangement. The native terminal can do tabs and splitting, too, but it feels very limited.
    • Linux: Terminator
    • Windows: The default terminal has panes.
  • There are npm things for running multiple scripts, like concurrently and npm-run-all, but (I think?) they are limited to running only npm scripts, rather than any terminal command. Maybe you can make npm scripts for those other commands? But even then, I don’t think you’d see the output in different panels, so it’s probably best for scripts that are run-and-done instead of run-forever.

Being a Mac guy, I was most interested in solutions that would work with iTerm since I’ve used that anyway. In lieu of a built-in iTerm solution, I did learn it was “scriptable.” Apparently, they are sunsetting AppleScript support in favor of Python but, hey, for now it seems to work fine.

It’s basically this:

The Code
tell application "iTerm"
	
  tell current window
		
    create window with default profile
    tell current session of current tab
      set name to "run.sh"
      write text "cd '/Users/chriscoyier/GitHub/CPOR'"
      write text "./run.sh"
    end tell
		
    create tab with default profile
    tell current session of current tab
      set name to "Rails"
      write text "cd '/Users/chriscoyier/GitHub/CPOR'"
      write text "nvm use"
      write text "yarn"
      write text "bundle install"
      write text "yarn run rails"
    end tell
		
    create tab with default profile
    tell current session of current tab
      set name to "webpack"
      write text "cd '/Users/chriscoyier/GitHub/CPOR'"
      write text "nvm use"
      write text "yarn"
      write text "yarn run dev"
    end tell
		
    # split vertically
    # tell application "System Events" to keystroke "d" using command down
    # delay 1
		
    # split horizontally
    # tell application "System Events" to keystroke "d" using {shift down, command down}
    # delay 1
		
    # moving... (requires permission)
    # tell application "System Events" to keystroke "]" using command down
		
    end tell
	
end tell

I just open that script, hit run, and it does the job. I left the comments in there because I’d like to figure out how to get it to do split screen the way I like, rather than tabs, but I got this working and then got lazy again. It felt weird to have to use keystrokes to have to do it, so I figured if I was going to dig in, I’d figure out if their newer Python stuff supports it more directly or what. It’s also funny I can’t like compile it into a little mini app or something. Can’t Automator do that? Shrug.

The other popular answer I got for Mac folks is that they have Alfred do the work. I never got into Alfred, but there clearly is fancy stuff you can do with it.


The post One Action, Multiple Terminal Windows Running Stuff appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

GitHub Satellite 2020: Gone Remote, but Not Forgotten

Like so many events this year, GitHub's annual state of the union and feature announcement event went online. However, as I typically watch the keynotes from a satellite meetup in Berlin anyway, it wasn't that different for me this year. As this period of online-first events progresses, organizers and presenters are finding new ways to make the format work, and Satellite was no different. It kicked off with a live-coded DJ set from Sam Aaron, followed by a slightly awkward staged entrance from CEO Nat Friedman where he pretended to be eating his breakfast and to have forgotten about the keynote. Still, humor helps us through these dark times, and it wasn't too awkward.

Anyway, on to the announcements; there were a lot, and a handful were significant.

10 Best Python IDEs and Code Editors [2020]

Since its advent in 1991, Python has been continued to increase in popularity due to its simple features, short learning curve, and code readability. There have been lots of changes in the codebase over time due to the contributions from developers worldwide. It is used to create websites and to perform data processing, manipulation, and analysis. 

To make the task of running Python programs easier, many IDEs have been developed for programmers. These environments are equally suitable for beginners and advanced coders with a variety of in-built extensions, libraries, and plugins to ease the task of program execution.  

The Best Xcode Tips and Tricks Every Developer Should Know

Continuous Integration (CI), is a development practice requiring developers to integrate code into a shared repository multiple times a day. Each and every check-in is then verified by an automated build which allows teams to detect problems early. This practice of integrating regularly helps detects errors quickly, and locate them easily.

In Xcode, you ensure that you are continuously automating and streamlining the building, analyzing, testing, and archiving of your Mac and iOS apps, in order to ensure that they are always in a releasable state.

Organizing Your Eclipse Foundation Open-Source Project Team

The Eclipse Foundation Development Process (AKA, the Eclipse Development Process, or EDP) says nothing about how teams should organize.

The EDP defines a committer role: committers are those developers who have the ability to make decisions for the project (e.g., push commits to project Git repositories and configure build servers). We often say that the committers are the ones with the real power: they're the ones that hold all of the keys to all of the project resources.

10 Things You Should Expect From a Container Registry

Ten things that should be on your container registry wish list.

Container registry technology is picking up steam with microservices architecture, with current Google trends indicating clear growth in this area. While there is no disagreement that a registry is needed; it is clear you need a robust one to deliver your container images to customers effectively. We should, however, set what our expectations should be when working with a container registry. Here are ten things to look for in a container registry.

You may also enjoy:  Container Registries — A Battle Royale

1. Consumer-Centricity

When you create a container image, you definitely need a registry so your consumers can effectively consume both the first version, as well as subsequent versions. With continuous image updates, customers must be notified of the new versions so they can easily pull these new images in an effective and seamless fashion.

10x Programmers: Myth Or Reality?

Originally published June 24, 2016

It's time to give the software engineers their due

10x programmers are a hot topic to discuss in the software industry nowadays, so thought it'd be a good idea to share my viewpoint in this regard.

Graphical User Interfaces for Git

Git is command-line-driven software, but that doesn't mean you have to use the command line to make it work. There are lots of options! Some of the deepest programmer nerds I know prefer to use GUIs for Git (Graphic
User Interface, or you know, software you can see things and click stuff), and some near pure-designers I know prefer working with the command line for Git. Swear to Git.

Lemme round up what look like the major players for Git GUIs these days.


Tower

I've used Tower for ages and it's the one used the most. I'm not sure the exact release dates of all these, but I feel like Tower was an early player here. They've been around a long time and continuously improve, which I always respect.



Fork

It's free and actively developed, incredibly.



GitHub Desktop

This is a 2.0 of the original GitHub Desktop. I had some gripes with the 1.0 version in that its terminology was weird (to me) and seemed to vastly deviate from Git, which was more confusing than it was worth (again, to me). This version cleans most of that up. It's deeply integrated into GitHub so it makes GitHubb-y things (e.g. pull requests) feel like first-class citizens, but it will still happily work with any Git repo.



GitKraken

I'm pretty intrigued by this one. Upgrading (monthly cost) to get the in-app merge conflict tool seems worth it, but you also have to upgrade to access private repos. It seems highly feature rich, but I think my favorite part is the dark-with-rainbow-accent-colors theme.



Sourcetree

You might be compelled by Sourcetree if you're a big Bitbucket user because they are both Atlassian products. I know it works for any Git repo though. I imagine there is some smooth Bitbucket integration stuff with this, similar to the GitHub/GitHub Desktop connection.



Coda

You don't really think of Coda as a version control tool (it's more of a direct-to-FTP thing), and even though I'd argue the support for it is fairly half-baked, it does work! Seems likely the next evolution of Coda will address this.



VS Code

Having version control right in your IDE like this, to me, feels like kind of a tweener between GUI and CLI. There are a lot of features here, but it's not really a full-blown GUI to me, but you've got a terminal built in right there so it almost encourages that. A lot of Git usage is pretty basic pulling, committing, and pushing — so having this right within the app is kinda sweet.

(I imagine there are lots of other IDEs that offer version control features. PHPStorm, etc.)



The post Graphical User Interfaces for Git appeared first on CSS-Tricks.

SWO With NXP i.MX RT1064-EVK Board

With the cost of a single pin, many ARM Cortex-M boards, including the NXP i.MX RT1064, can produce SWO data: Think about a pin that's able to stream data out of the chip in real-time. For example, it can interrupt activity, which, otherwise, might be hard to capture:

SWO Interrupt Trace

How to Set Up CodeReady Studio 12 (Data Virtualization)

The release of the latest Red Hat developer suite version 12 brings with it a name change from Red Hat JBoss Developer Studio to Red Hat CodeReady Studio.

The focus here is not on the Red Hat CodeReady Workspaces, a cloud and container development experience, but on the locally installed developers studio. The new release brings with it the questions around how to get started with the various Red Hat integration, data, and process automation product toolsets that are not installed out of the box.