Is Linux a good OS? Short answer Yes Longer answer It depends Real answer Linux isn really an OS in and of itself. Linux requires a bunch of otherponent to actually function as an OS. But that an overly pedantic answer and isn really what you are looking for. But to be technically correct you want a Linux Distribution (distro for short). But most people don care and I agree that part not important except for if you are searching for what is the best OS for you to use. So what the best Linux distro? Unfortunately there is no single answer to this and a lot of ites down to one usage requirements and frankly opinion. In my opinion the best overall distro for most uses is Linux Mint. But for servers I pretty much exclusively use Ubuntu. The majority of my experience over the last 15 years is using Ubuntu Linux as a server OS and Mint as a desktop OS with some Centos thrown in here and there. This isn really helping you yet. Is Linux really a good OS? Well yes. Why do I rmend Mint? Because for most if not all desktop use one can interact with theputer in basically the same way as a Windows or Mac desktop. In Linux Mint everything pretty much Just Works(TM). And certainly while some things don work or need tinkering they aren any more or less broken than things on a Windows or macOSputer. Forget that BS about Linux users need to use themand line all the time that is just . Whoever says that either hasn used Linux in many years or is lying for some ulterior motive which I can imagine. Not to mention the primaryponents most people interact with these days are web browsers. Chrome and Firefox for example are basically identical to their Windows and macOS versions. And since you can log in to the cloudponent of each browser it is very very very easy to transfer your stuff to a Linux Mint desktop. The basic operation of the desktop UI is the same. Point at things. Click on things. Type into other things. The basic software list available to a Linux OS is also the same. Image editors games browsers etc. The detailed specific ways of doing things are different though. The devil is in the details. Just be patient youll figure it out. Online resources are vast. You probably will have difficulty running existing Windows software though. Pretend that your existing software library was lost in a fire. Start from scratch and use the Linux native apps. Use Steam to run games. I think the biggest mistake people make is trying to use a Linux desktop just exactly like their Windows desktop. Don do that. You must unlearn what you have learned. But in the end it all just pointy-clicky-y
What computational skills would aid a wet lab biologist?
It really depends on the biology that you do. As was already mentioned knowing statistics and a tool other than Microsoft Excel to perform statistics is general incredibly important. R is a good programming language for statistics and data manipulation and visualization and has lots of bioinformatics packages you can install. Python is another programming language that can be used for file manipulation plotting and it is personal preference whether people prefer R or Python so it is worth trying both. If you want to do processing toolbox in the past but Im sure Python and R also have similar segmentation etc. If you are working with sequencing learning how to interface with themand line (on a Linux or Mac OS) and how to runmand line programs like bedtools samtools and picard tools is extremely helpful.
What tips do you give to people who want to start learning robotics?
Instead of a tip I will provide an entire road map which could ge you depending on your current level to advance in robotics. I see this question being asked a lot. The road map has 4 levels and each level focuses on 4 core concepts. Each concept intertwines with itself and holistically develops your inner robotic genes ;) ! Warm-up level Learn coding italic Start picking up at least one handy programming language. Arduino IDE is good. Python is great. C++ will be fantastic. My suggestion would be Python italic . There are several reasons for this and later in the road map you will see why. Learn basic assembling italic As kids we loved making toys and building stuff. Do the same here. Learn to make some basic structures using wood acrylic fiber or plastic. (Resources YouTube Khan Academy Code Coursera Udemy) Beginner level Learn -Oriented Programming italic It is not only important to code in robotics but also how to code well . -oriented programming (OOP) is a tremendous muscle to grow and earlier you can do this the more you will thank yourself in the future. OOP isn exclusive to Python. However in Python you can implement these easily and practice. Through OOP you will learn about classes methods inheritance etc and this is an excellent technique for writing functional modular and efficient codes. More involvedputer skills italic Now what do I mean by that? A lot of neers to robotics get stumped (I was too!) that they need to learn this new alien looking operating system that has a penguin somewhere next to it. I am talking about Linux operating system. It is imperative that for someone looking to get deeper into robotics should familiarize themselves with Linux. A lot of libraries packages and software developed for robotics are distributed very easily and efficiently on Linux environments. Popular linux OS choice Ubuntu (Resources YouTube Khan Academy Code Coursera MIT OCW) Intermediate level Develop theoretical foundations italic Here depending on what area of robotics you are interested in you need to learn more into the theory behind it. Learn about robotic arm manipulation (kinematics & control) perception puter vision linear algebra matrices) machine learning intelligence (probability statistics maths). Do you see how some of the previous concepts are fundamental to these core robotics areas? Get familiar with ROS italic With the knowledge of all of the above an excellent middle-ware that one should learn is the Robot Operating System (ROS). It can be a little tricky to pick up at first. However ROS opens up your doors to test advanced algorithms and simulations on robots that you don even have! Want to fly a quadcopter? Or navigate a robot autonomously in a map? How about getting an industrial arm to pick up an object? You can do that in ROS via its simulation environment named Gazebo. Expert level Keep learning and growing italic Each concept mentioned above is endless by its own virtue and to be an expert in robotics you will need to invest the time and keep learning. You will realize that you need to learn more classifiers or models to detect objects better. Or you might need to learn more about control algorithms to optimize your solutions. Lastly I am definitely not an expert and hence I cannot add much to that. What I can say for sure is even I do not know what I do not know. One important thing to remember is get started and be consistent =) italic
Google's Go language vs Python, which would you prefer to use and why?
I use both all the time and they can't really replace each other. Go is a great language that can do everything I did in Python for back end services data munging and generalputation. The code ispiled and fast. The goroutines are way better and more flexible than the futures and async options in Python and gochannels are a great general tool to work with (Python has queues or I could load a message passing system but it is a lot more work than the single line make in Go). Python is a great environment though. Dynamic typing is handy for implementing generics (everyone says it's the end of the world but the Erlangmunity continues to defy that apocalypse and you can do the same in Python if you aren't lazy) and the listprehension map reduce filter concepts are great for getting things done rather than the for loop for everything Go users as a concept. None of that is why I use Python every day though. Python has one of the richest sets of libraries ever produced. If you need to sling some code there is a better chance of finding a start in Python than almost any other language. Standing on the shoulders of others is important to see far. That brings me to the second reason. Python has a way richer set of libraries available in a few domains. Data science has Python as a corner stone today with every tool imaginable. Go has almost nothing there but can call C interfaces on popular ones. Data security and forensics sure Go can call all the same libraries but the capabilities in Python are often more mature. The third reason may be why some of those specific domains have stayed in Python rather than flock to Go or anotherpiled language. The REPL is highly powerful for exploratory development. Go has a few REPL options but they really aren't good choices for more than light testing. Python let's you essentially live code. This has been extended with the concept of notebooks that is incredibly valuable in data science. I can't do anything remotely close to the s 49 496 In Python this person did it by typing and testing. Exploratory development has been done like this for decades. It used to be a key factor for Matlab popularity also even though all those libraries where also available in Fortran. Give me a first class REPL in Go and I'll probably switch. The libraries will get there but I don't see it happening. Go has a different focus and that's fine. Learn to appreciate the differences and used the right tool at the right time.
What are the most useful gems to use in Rails?
RubyGems were developed to simplify and accelerate the stages of the application creation deployment and library connection. Utilizing this package manager for Ruby saves you time as you get ready-made solutions to almost any task instead of writing the functions from scratch. Each gem contains a particular element of functionality including all related files. Unfortunately they aren structured in any way so in order to find ruby gems it better to use a regular search engine and the required key words (check GitHub s ). Our dedicated development team also actively employs Ruby Gems in the process of software development. Here is the top of the most popular and useful ruby gems according to our experience GeoCoder s . Being able to connect through itself over 4 APIs this Ruby gem implements both the direct and reverse geocoding by IP address geographical coordinates and even real physical addresses (e.g. the address of the street). Bullet s . The most downloaded Ruby gems out there. It was initially created with an intention to boost software performance. It does so by decreasing the total amount of client-server requests. Basically Bullet tracks the N+1 cases of requests and notifies the developer when other tools can be used instead (e.g. cache counter). Pry s . We rmend to simplify the bug fixing procedures for your RoR-based application with the Pry gem which is a more advanced alternative to the standard IRB wrapper. ActiveModelSerializers s (which starts lagging while processingpound documents) and uses caching. Fast JSON API s . Fast JSON API wille in handy when you need fast serialization of software code. It works much faster than Wicked PDF s . This gem is working alongside with wkhtmltopdf s and helps realizing an interaction with the DSL generator. Devise Masquerade s . This Ruby gem helps developing multi user apps. In particular youll be able to test your app from the perspective of users with different levels of access. Devise s . Based on the MVC model the Devise gem can provide secure user authentication and session management. Letter opener s . If you need to create a newsletter mechanism to send notifications to all users that launched your app this gem will help you do that much easier you won need to integrate and configure your own SMTP server. Money Rails s . If you are planning to integrate your app with Ruby Money this gem wille in quite handy. Pundit s . A tool that allows defining different levels of access to the app functionality according to the rights of an authorized user.
Are there good YouTube channels that teach programming languages?