Month: January 2018

The Developers Dilemma

The Developers Dilemma

Atom Text Editor With Code
Code In Atom

    I’ve been programming for a while now and am enjoying the process a lot. The challenges, the mental stretches, and the success of seeing one’s dreams and ideas come to fruition can only be experienced rather than explained. Still, not all is wonderful throughout the process. For instance, choosing an IDE, Integrated Development Environment, can and often is an ordeal in and of itself. Each developer has questions and they need to have answers. What is the size of the program? Does it have syntax highlighting? How quickly does it launch? Is it open source? What programming languages work best with it?

    Visual Studio is about 4GB in size and launches slower than molasses falling from a container. DevC++ is about 500MB and launches in half the time Visual Studio does. Finally, Geany, it’s smaller than 120MB and launches faster than ether of them. We then have others like Netbeans, Code:Blocks, Eclipse, and many many more filling the rosters. Still, I have not found an environment that I love and would rave over. Rather, I have one or two that I tolerate and the rest I despise. This is frustrating and has dampened my enjoyment of programming to varying degrees during different situations. I will say that I’m picky though and at times am probably not using an environment to its fullest to better appreciate it. Nevertheless, there should be a half-way point where concessions are made on both sides.

    For instance, I will accept a larger program with more features providing it doesn’t take a decade to launch. Or, I will accept fewer supported programming languages for syntax highlighting, etc. To meet my requirements and needs I’ve taken a slightly different approach to tackle my dilemma. With the exception of Geany, I don’t actually use the above IDEs. I stick to text editors such as gEdit, gVim, Vim, Geany, and Nano. This greatly reduces the disk space a lotted to my IDE as I only need one of the programs. These editors have varying features and different skill requirements too: caugh, vim, caugh. I generally stick with Geany and then Vim as my auxiliary editor which keeps everything light, fast, and colored. But I want more! I need more! I need sub-panes, tree views, integrated terminals, and so on! What a plight!

    Geany has only two panes to work with and even then it’s clunky. The other editors don’t have secondary panes at all. Geany also allows for a single terminal sub-sub-pane. I need more than that and so I ended up finding Sublime. It’s a text editor with nearly everything I want. It really impresses me and I thought it couldn’t get any better as it has multi-panes for code, tree views, etc. Still, it is lacking a few key features needed or wanted. Sublime isn’t open source and it hasn’t any integrated terminal support. I felt lost and still unhappy even in the marvel that is Sublime. I searched, hunted, and scrounged about until I found my holy grail of text editors! The feeling was like an atom bomb hitting me with its glorious radiation and blissfully passing me away to Nirvana. Ironically or with my skilled writing and metaphors, the name of the text editor matches my description. It’s called Atom. It is powerful and open source. My two favorite descriptors together at last!

    Atom is a programmers dream come true. It allows for multiple sub-panes and multiple sub-terminals to code quickly and easily. It supports syntax highlighting and directory views. Plug-ins allow for even more enhancements that I can’t even begin to imagine! Not only that, Atom is as fast and lightweight as Geany. All of this and more under an open source license! All my current needs and picky wants are met and there is a new horizon of options available to me that I can’t wait to explore! I hope everyone will find this diamond in the rough and enjoy it as much as I do!

The Best Linux, Unix, and BSD Open Source Programs

The Best Linux, Unix, and BSD Open Source Programs

Linux Apps

    It’s sometimes hard for me to believe that I’ve been using Linux for well over 6 years. In that time, I have steeped myself in the open source way and used and created many programs for different projects. I am sharing this with the world in hopes of guiding the new and old adopters of Linux, Unix, and BSD in finding wonderful applications that can get any project done. With old users, you might know of all of the ones mentioned here and disagree with my reasoning. Feel free to explain in the comments below and please provide an alternative! Note, I linked to the sites but you can download most of them through your package manager or getting a ppa as needed.

Graphics

     Let’s start off with the first group, graphics. We need the ability to edit images as they are an important part of our lives. If you are the goto family member who does all he home videos and web work for the family site, then you need these tools! Obviously, you could be an artiest or person who just wants to edit or create an image and these will help you too.

OK, so, the first three applications are probably not surprising to anyone who are new and old in the open source community. Gimp is the de facto choice to do ones image editing as it is the swiss army knife of image editors. It has a loooonnng history and is easily recommended. Next, Inkscape is a vector graphics editor and can be used to create or edit vector graphics. Illustrations, diagrams, line arts, charts, logos and complex paintings are but a few of the things one can do. It also makes up for Gimp’s lack of vector graphics editing options. Now, Darktable isn’t really an image editor but more a virtual darkroom to work with images and do color corrections. Still, it is a great tool for those editing raw photo files from a camera and then importing it to Gimp to finish with gusto. Once done editing images, we need an image viewer. I love Mirage as it fulfills my needs perfectly as an image viewer. It is lightweight and fast but has features for zooming, rotating, cropping and more. Last listed here is Gpick. I do web work and often need a particular color that a page is using. Gpick gets the color info on the screen for usage in other applications. This is great too for when using Gimp but it can’t select the color outside of its window.

Multimedia

    Next, we have multimedia programs. This section is clearly important so you can listen to music, view your videos, make videos, edit videos, and more.

OK, the first two are video players. SMPlayer is more a front end for Mplayer but Mplayer is my favorite player given it’s fast, has simple controls, and it plays plethora of video types. I add/mention VLC here because Mplayer doesn’t always have the ability to play the latest and greatest codec and VLC picks up the slack. After these two, OBS is listed because of the awesome ways to record the desktop. One can stream using it too but I use it to get quality recordings of the desktop to do tutorials with. Next to talk about is Blender. It is here for its Non-Linear Video Editor. The controls can be a steep learning curve to learn; but, once you master them, you can not only do video editing but 3D graphics stuff as well. It’s also the best editor for videos on *Nix systems as others tend to be iffy. Now, Deadbeef is indeed the best music player as it loves to state on its site. It plays all kinds of esoteric (PlayStation sound files for instance) and popular music types with great ease. Not only that, its user interface is dynamic and allows for you to setup the look of the player to your needs. Finally, the last two in the list are excellent audio controllers. The first is Alsamixer which is a graphical control interface through the terminal for the Alsa sound system. The second is Pavucontrol which controls the Pulseaudio sound system through its GTK interface.

Internet/Network Tools

    In the next group, we have Internet and network programs. This section is clearly important for the fact that we are an interconnected world. To have tools for the Internet is important in order to access it, use it, and maintain it.

OK, Firefox is a no brainer; though, I have less appreciation for it today than I have had before. It mostly comes down to their new plugin system, the weird applications they ship it with, and the loss of some tools that are near and dear to my heart such as Tabgroups. Anyways, it still is the best browser out there. Now, XChat is great for connecting to IRC channels (chat rooms) and even has a built in list of rooms to connect to. The next to talk about is Qbittorrent. It is a phenomenal torrent client that allows you to search databases from it and it has an excellent interface that is superior to Transmission. Now, Filezilla is great for getting files from different computers using FTP, SFTP, and other protocols. It has a great user interface as well that makes remote file access a breeze.

    It’s worth mentioning that the next few program we are mentioning gets us into territory that depends on the user. You may not need these programs and so it will dictate if you should download them or not. To start, Wireshark for instance is a network monitoring/capture tool. I use it for several projects but if you aren’t doing anything with networks, you likely wont need it. That being said, EtherApe is similar to Wireshark but only in that it can monitor your network. It is cool even if you don’t necessarily need it because it gives a graphical view of the network connections you are making and how much data you are sending. Last, Remmina is useful if you need to remote into computers and need a graphical connection. It has varying connection options such as ssh, RDP, and more.

Office

    This group covers office tools of which there aren’t many per say. Office work is of course a necessary evil in the world; but, you don’t have to use horrible tools too.

OK, other than Microsoft Word, the only contender for handling documents is Libreoffice. Period. As for Evince, it is the best PDF viewer out there and I’ve tried every one of them and continue to come back to it. For dictionaries, you really only have two options to chose from. The first is Google and the second it Xfce4 Dictionary. I keep Xfce4 Dictionary just in case I lose Internet access and need to look something up. Finally, using VYM depends on you. I like visualizing my logic and VYM helps me do just that.

Gaming

    Games. What’s there to say? It’s games….

OK, yes, Steam is present. It’s not open source but it’s the only exception to the list I’ve made. Next up, PlayOnLinux (PoL). It can be used for more than games but I think it’s safe to say it’s the biggest reason for using it. They may disagree and you might too but you and them are totally wrong…. I am joking but it is pretty true that the biggest reason to use PoL is for the games. Now, DOSBox will get the old but good games playing if you are a connoisseur of such antiquities. It’s the only emulator out there that I am aware of that targets old systems. Next, everything after DOSBox and before QJoypad are games worth downloading that are free and open source. Goodies like Freedoom and my favorite to this day, The Battle for Wesnoth, are listed. Last is QJoypad. I highly recommend this program to get your controllers working. Go to the site to get the latest version as the repos tend to be older.

Tools/Other

    The final group listed here covers tools and other programs. System cleaning, virtualization, and more is l;isted here.

Finally, we reach the end of our list of great apps! This section has a number of useful tools such a Virtualbox which will let you run virtual machines. From there, we have Gparted which manages partitions. Bleachbit and Gtkorphan keep the system clean while MidnightCommander is a great terminal file viewer. Gdebi is an excelent graphical interface to install deb packages and Htop views system resource usage from the terminal. Leafpad is a fast and small text editor to make quick changes to text files while Atom will allow for heavy lifting edits such as coding. Terminator is a great terminal that allows for multi-pane views, transparent background, and more. Next, Gufw is a great interface for managing firewall rules and Ghex lets you view hex files and edit them. Last is one of my creations, FXWinWrap. It is a front end for XWinWrap and makes it easier to set the various perameters.

Well, this complets my list for awesome programs one can use in *Nix like systems. This list is by no means complete but makes a great start. I mentioned web work and one of the tiools I use. Another tool I use is wordpress-cli which helps me manage WordPress through the terminal than the WordPress interface. Linked below is my review for it.


https://www.itdominator.com/wordpress-cli/

Wordpress CLI