I am a technology enthusiast. There is no doubt about it. I can appreciate a job well done! With even being a tech enthusiast, there are a few things that I like to pay attention to, because of what the technology means. So, here are a few things that I would like to highlight!
Server-sent Events
Before my current job, I had no knowledge of server-sent events, but I quickly learned what they meant! They are a little bit like web sockets; only web sockets are bidirectional http traffic and server-sent events are unidirectional traffic.
As detailed in the MDN documetation, I think I would prefer using server-sent events over web sockets. With server-sent events, one could code more flexible, because there isn’t as much requirements with server-sent events as there is to web sockets. One just needs the right Content-type
header on the server side, and the client side needs to have an EventSource
.
The integration of server-sent events doesn’t even use a library. Most web sockets that I’ve seen have are a bit strict on how to use web sockets, so that could influence the rest of the application being build. With server-sent events, one doesn’t need to worry about how their application will form around the technology.
Linux Manjaro
Holy moly, I am loving a Manjaro work station! It has been so useful and helpful with all the programming things that I have done! From learning about pacman and all the way to customizing the desktop!
Once I started with Manjaro, I chose to go with xfce because I wanted a simple user interface to the computer which would consume less resources than other interfaces. The experience has been profoundly simple! I am a complete fan this simple user interface.
There is a lot of open source software available through pacman! I have been particularly excited to download Inkscape, Gimp, and Scribus! I have given myself no reason to use Adobe! There are so many other open source software that I love using! Like Peek, it is a program that can help screen capture anything. And it works so smoothly!
The desktop customization has been incredible. Until recently, I found out how to customize the desktop! My desktop was the default for a while. One long skinny panel on the bottom that had the menu launcher, open windows, computer access shortcuts, workspace switcher, time, and computer shutdown options.
Once I did some exploring, I realized that I could have more than one panels with multiple different options! And I could change the position of the panels. So I decided to imitate the standard layout of MacOS. The default panel would be pinned at the top of the screen, and there would be another panel at the bottom with application launchers.
M1 Apple Macbook Air
Speaking of MacOS, I got myself an M1 Apple Macbook Air for Christmas. I decided to get an M1 Apple Macbook Air for a couple reasons.
I tried to program on my iPad Pro, but I realized it was going to be too limiting for larger projects. However, the iPad Pro does have a lot of great applications for development! I’ll talk about those later.
So I wanted a laptop that had enough processing power for large applications. I thought about getting a Manjaro Linux laptop, but those seemed inaccessible because they were in other countries or the laptops were just expensive. I could try getting a decent windows laptop and replace the windows with Manjaro. I’ll try that sometime.
Then the Apple chip M1 was announced. This intrigued me. I researched about performance benefits for development. I finally came to the decision that an M1 Macbook Air would be totally fine for development! It’s been impressive so far. I’m hoping that VSCode release their ARM version soon. I also want Hombrew to release an ARM version soon too.
iPad Development
I have a fantastic mini-development setup on my iPad pro. I’ve got Working Copy and iSH application on it. Adding in the new Github application could make the iPad a great mini-development tool!
Working Copy is absolutely a brilliant Git client for iPad. I think the pricing model for that app is in a better spot now, because the developer only has one-time payments for features. Any previous payment would retain previous features for a year, and any additional features after a year would have some kind of a renew purchase. Good model I think! Also, any downloaded Git repos are accessible through the iPad Files. Very strong Git tool on the iPad!
I’ve particularly made my iPad useful when it comes to writing posts for my websites. I would go to Github and get the clone URL. Then in Working Copy I would put in the clone URL. Once the repository was all cloned then I can access those files through the Files app and write with iA writer.
There is finally a shell application for iOS! About time! This application essentially fits an Alpine container into iOS. So any files that are in the Alpine container can now be accessed from the Files app in iOS. Brilliant! Most terminal application can be used here on the iPad. I’ve been able to add NodeJS! That’s great.
Sadly though, there are some processing power issues on the iPad. I tried installing a large-ish project that I had, and it didn’t install. I can only suppose that it just had processing problems. So the iPad can be effective for any smaller projects or reviewing code.
Why
These are just a few of the things that I am excited to use. With server-sent events, an application that I could make could seem very dynamic! That would be great for user experiences. I can now be a developer on the move with the M1 Macbook Air! Perhaps I’ll start tinkering with iOS and MacOS development. Considering the quality of Mac and iOS apps, I would like to be involved with it. And finally, iPad development gives the option to still develop on smaller tasks when perhaps a bigger processor isn’t available. I think all of these technologies could help me be a better developer. And by being a better developer, I can help users have a great software experience!