Living the Open Source Life - The Scipio Files #8

in #utopian-io7 years ago

1.jpg

Living the Open Source Life - The Scipio Files #8

As a Utopian-IO moderator ( [mod] ), where I moderate mostly Utopian contributions of the categories "tutorials", "blog posts" and all things "code", I couldn't help noticing that many authors seem to cover the same subjects, over and over. And in other instances, the contributions don't cover any Open Source repository at all. Anyway, I thought about writing this blog post (haven't done a blog post in several weeks, so I reckoned it's about time anyway!) as a means to cover various Open Source software tools I use on a daily basis, to provide some ideas to all readers of this blog post which kind of repositories they could cover!

So please, feel free to cover just about any repository I mention here, because there really are some gems amongst them that need proper attention!
Here we go! This is (a part of) my current day-to-day used tech stack:

macOS - Wait @scipio ... is that open source???

No, it's not, but I love Apple Macs so much, I need to mention them anyway! Why? Because I need to use some computer anyway (your own nVidia GPU isn't open sourced either) and because I think Macs look cool, but mostly because the Operating System (OSX / macOS) is so incredibly stable. Because I often deploy self-written software (modules) (of various sorts) to mostly Linux servers, macOS provides - for me at least - the perfect mixture of style, usability, stability and connectivity. I use it together with a (yet another closed-sourced) sFTP client and Disk Mounter called "Transmit", and using that allows me to mount external Linux servers on my Mac, right inside the regular Finder GUI, tricking macOS into "assuming" those external Linux servers are just some local NAS drives. This solution lets me use all my favorite locally-installed Open Source GUI apps, where in fact I'm cross-server streaming data and processes, all from some regular Finder windows!

Code editors

I spend a lot of time reading code, thinking and talking about code, and of course writing (about) code. Where would I be without some proper code editors? As (some of) you might already know, I really like the Atom editor. It's friendly for beginners, has a great User Interface, it's easily extendable with tons of modules for just about anything you might want, it's customizable, available cross-platform, and right out of the box it's already stacked with features: it for example has a built-in package manager, a file system browser and has some nice find & replace tools.

Apart from Atom, sometimes when I'm working inside a dedicated Terminal interface, I also like using the built-in Nano editor: it's not advanced at all but that's exactly what I like about it. If I just need to change a couple of configuration parameters, Nano is my Go-to editor. Yet when I need to do some more (advanced) coding, and I'm working on a friend's computer or for example in a datacenter environment, I also like to use the vi/Vim editor. Vim seems to come from another world if you first try to use it, but boy is it powerful once you get the hang of it! It was first developed in the 1970s for UNIX, and Vim is what's called a "modal" text editor: it has an insert mode, a command mode and a last-line mode, so that your hands never have to leave the keyboard to do anything you'd like to do with Vim! (But beware, it's learning curve is pretty steep, and therefore I encourage all true Vim lovers to write some nice beginner-friendly Tutorials about it! ;-)

OpenOffice / LibreOffice

As an Open Source contender to the Microsoft Office suite, I think Open Office might be THE Open Source application I've been personally using for the longest time. Its suite includes apps for word processing (Write), and spreadsheet (Calc), database management (Base), presentation (Impress) and a bunch of mathematical and drawing apps. One (small) downside of Open Office is that its GUI still resembles Microsoft Office 2003 (I think...), and feels quite outdated these days... Maybe a Utopian collective development effort could upgrade that GUI to meet the current day and age UI standards. But for tutorial ideas, I feel Utopian could use some pretty good new tutorials about (for example) how to build interesting formulae in Calc (remember my own UA example link matrix?), or how to develop nice-looking document templates in Writer, or how to integrate data inside documents via Base: just some ideas, I just top-of-mind think of, for writing Utopian tutorials for.

The Terminal and Shell Scripting

I've already, earlier this week, covered 3 parts of my "How-to Use the Terminal" (Command Line Interface) tutorial series. But really, I could (and just might) write 500 tutorials about using / programming the Terminal. A book could be written about how to use the Terminal, merely covering all built-in commands, let alone an enormous amount of freely available command-line programs that further increase its usage. So please, feel free to cover "The Terminal" in your tutorial contributions!

And apart from "just" connecting a couple of one-liner Terminal commands (ps aux | wc -l > ~/Desktop/test.txt) via "piping" and "redirecting", a world of opportunities opens in front of your eyes once you start to tinker around with developing / using Shell Scripts! There exist a bunch of Shell Script Dialects, grouped by Bourne-compatible shells (like bash, sh, ksh), and C-shell-compatible shells (like csh, and tcsh). Shell Scripts are used for creating (relatively) small code snippets that connect command-line programs together (like piping / redirecting, but in a scripted fashion). While shell scripts can be used for more complex tasks, other programming languages are oftentimes faster and offer better structuring options, however also require external modules / dependencies, where you could just use the already built-in commands via Shell Script.
Anyway, lots of tutorial publishing options arise when regarding Shell Scripting!

JavaScript modules and frameworks

If I should name one language that "orbited" the past few years, I'd pick JavaScript. The amount of development the world has seen involving JavaScript the past few years is mind-boggling. After Google's deployment of the V8 engine, and Ryan Dahl's efforts on creating nodeJS, both client-side and server-side there are now thousands of interesting JavaScript-based library and framework repositories, and almost all of them are Open Sourced.

To name a few:
For charting there is D3JS, ChartJS (and many others), for animation there is gsapJS, for spreadsheets there is the Open Source Community edition of handsontableJS, for date/time handling there is date-fns-JS, and... pfff... where to begin, where to stop?! Should I even mention reactJS, angularJS, vueJS to develop to, and/or write tutorials for? And of course our very own steem-js repo, to interact with our beloved Steem blockchain! Bring those tuts on people! There is so much to choose from Open Source JS libraries and frameworks, Utopian-IO could definitely need good information about it!

Python modules and frameworks

If you think JavaScript is cool, you are correct. But so is Python! Python is used even more than JavaScript for Data Sciences and Artificial Intelligence. Just mentioning some core libraries like NumPy, SciPy, Pandas, Matplotlib, Bokeh, and SciKit-Learn, TensorFlow, and Keras. Or for natural Language Processing: NLTK and Gensim. Or crawl the entire web for cool repos using Scrapy for crying out loud: there are TONS of cool Python topics to cover on Utopian!

GuestOS'es

Using VirtualBox you can install other Guest Operating Systems running inside "a program" (e.g. VirtualBox) on top of your Host OS (in my case macOS). I use Ubuntu Desktop, Ubuntu Server, and sometimes Kali (for system security testing, and ... No! I will not blog about it here, nor will I do a "mr.Robot Debunked" series). But there is loads to cover here as well, there exist many useful applications on Linux to contribute to.

I could continue about me using TheGIMP, InkScape, the Digital Audio Workstation (DAW) Ardour, a large bundle of VST / AU synths, database management systems (both on the client and server side) and much much much more.... but I think this was more than enough for a "simple" blog post.

Concluding

I hope I inspired some of you to look for, and contribute to, more Open Source software - via this blog post.

@scipio



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Gracias! Mille grazie! Danke schön! Bedankt! Thanks! Merci!

Thanks for opening up more routes into the utopian journey.

You're welcome! And good luck with contributing good stuff for Utopian-IO !
Try writing a tutorial article for example, you'll learn a lot more (about technology) writing those than by simply publishing suggestions / ideas! ;-)
@scipio

Inspired a lot, ideas shared on this blog post are worth both for writing tutorial and writing book.

Thanks @scipio(58) :))

Haha! Thx for spelling @scipio the right way ;-)
I'm hoping to get to 60 before 1-1-2018! Let's see if I can!

Oh, I see. So that's the reasons why you so active lately.

60? I believe you can exceed it.

A very educational post. Hope everyone will benefit from the post.
thanks for sharing @scipio

Thanks brother for your idea.

I will explore them to make useful contribution for utopian

#I am Utopian

dear @scipio ... i read your post... i like it...
thank for sharing....

Thanks for sharing the information @Ssebio (58)

@Ssebio (58), I like that!

Great post sir

Congratulations @scipio! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of posts published
Award for the number of comments received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Coin Marketplace

STEEM 0.18
TRX 0.15
JST 0.029
BTC 63135.01
ETH 2546.56
USDT 1.00
SBD 2.64