You are reading the article Discover The Universe From Your Armchair With Celestia updated in December 2023 on the website Achiashop.com. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested January 2024 Discover The Universe From Your Armchair With Celestia
If you have enjoyed Stellarium, the free planetarium software for your desktop, you will love Celestia. While Stellarium let you explore the sky from the bodies of different planets, Celestia reverses the viewpoint and will allow you to discover the stars and planets of a considerable chunk of the Universe with very detailed images of anything found within the boundaries of our solar system.
Getting CelestiaMost Linux distros will have a package for Celestia in the standard repositories. To install it just type
sudo
apt-get install
celestiaon a Debian-based system. If you want more textures you will have to manually install some non-free packages, as some of the texture files have unclear licenses and could not be included in the standard packages, which have a free license.
You can get the additional textures with
sudo
apt-get install
celestia-common-nonfreealthough you might need to enable non-free repositories first, depending on your setup. To install everything at once, use
sudo
apt-get install
celestia celestia-common-nonfree Main featuresFirst it centers on the Sun and then on the Earth, where it will remain, waiting for you to interact with the virtual space.
For basic navigation, you can just use the mouse. Dragging with the left button will move your POV (point of view) on a flat plane, while dragging with the right button lets you turn the selected object around. To navigate to other celestial bodies you can use the navigation menu or certain keyboard shortcuts.
The most interesting navigation options are “Tour guide,”,“Start finder” and “Solar system browser.”
The tour guide will let you navigate to a few celestial objects, even outside of the solar system, while providing some basic information about the object selected.
Star browser will allow you to navigate to other stars.
If you select the radio button “With Planets,” it will limit your choices to stars with known orbiters, in which case you can use the “Solar System Browser” to find any planet in the given solar system, even outside of our own. Let us go to the star “IL ARQ”. Space travel is smooth, the animations are seamless and you can skim through light years in mere seconds.
It seems to have four orbiters.
Navigating to any of them will bring you closer and let you explore. Let us explore planet “e.”
To return to our solar system is easiest by pressing h that will select our Sun. Pressing g will then “Go to” the selection. The Solar System Browser will then be populated with many planets, moons and even manmade objects, which could be thoroughly explored.
You do not need to go far from home for amazing views
Sometimes the farther the better.
Time is set to real time by default, local to the user, so everything you see is exactly how it appears IRL. Time can be handled by speeding it up or slowing it down, or even reversing it, and you can set any given time and date you like.
Most of the various settings that are available in the options menu are also easily accessible from the “View Options” window.
Turning on various lines and labels will provide you with plenty of additional information.
Celestia offers split views, both horizontally and vertically, that will allow you to discover different locations at once or set different viewpoints for the same object.
Celestia can be extended by scripts, many of which can be found at the Celestia Motherlode website. Scripts can be added via the File menu. Scripting tutorials also exist, if you fancy writing your own. The File menu also offers functions to take screen-shots, record movies, or navigate the virtual space with “cel:// URLs.”
ConclusionCelestia is a great free application that lets you discover the “closest” parts of the known universe in a fun and educational way that is also quite spectacular. With a huge database of stars, planets, comets and asteroids, with great looking texture maps for the celestial bodies’ smooth animations and plenty of customization options, Celestia offers hours, if not days, of exploring and learning.
Attila Orosz
Subscribe to our newsletter!
Our latest tutorials delivered straight to your inbox
Sign up for all newsletters.
By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time.
You're reading Discover The Universe From Your Armchair With Celestia
Book Your Trip Extras Directly From The Hotel With Travelnuts
Elliot Lui tells me that hotels really hate online travel agencies. His reason? The hotel website, while receiving decent traffic, loses a larger portion because their booking engine fails to offer all the extras that travelers want. His response? He co-founded Travelnuts where he currently serves as CTO.
The team, a group of passionate world travelers, realized that hotels needed help to maximize the value of direct bookings. The Travelnuts engine, then, was designed specifically to increase direct bookings on hotel websites and to provide ancillary revenues for hotels from the sale of extra activities.
That is, hotels that use Travelnuts can sell, right from their own website, not only hotel rooms but also other things travelers might need during their trip: transportation, hotel extras, tours, and activities. Lui broke down the benefits of the Travelnuts platform and the journey to get it adopted into hotel booking systems for us.
Tech Cocktail: What is the benefit to using Travelnuts?
Elliot Lui: For guests, in a nutshell, the benefits are that the platform is relevant, cheap, and convenient. We use the data they supply during the booking process to provide the most targeted offerings and exclusive discounts for booking anything they might want.
Hotels, on the other hand, get a great opportunity to increase their conversion of online bookings and revenue per guest. Every activity that is booked through Travelnuts earns the hotel a small commission as well.
For the people actually offering the extra booking options, they get to increase their business by targeting more guests rather than a subset of guests that visit the concierge. When you pair that with the fact that a lot of service providers do not have online presences, you see how we really help them increase traffic and revenue.
Tech Cocktail: What has the journey been like getting Travelnuts up and running?
Lui: We have stuck to our primary theory from day one, and it led us to initial successes: user experience and conversion is higher when the activity bookings are fully integrated into the booking flow. We were able to secure some much appreciated funding from the Progression Labs incubator.
However, it has not all been easy. Realizing the reluctance of larger properties to change their existing booking systems, which are often very complex and require involvement of multiple decision makers in different parts of the organization, slowed us down a bit. But we powered through and designed our product to integrate with the existing booking engines of large hotels to eliminate the apprehension on their part.
How do you see Travelnuts fitting into a larger trend?
Obviously, personalization is a huge trend these days. We see so many successful examples across multiple industries that provide curated choices like Netflix, Amazon, and Zite.
We are effectively killing two birds with one stone here, providing personalized recommendations for travelers while also utilizing the growing online marketplace for bookings. Going from that, we are looking to increasingly promote bookings via smartphones and help hotels make that transition to mobile fast and easy.
Travelnuts was featured at Tech Cocktail’s Downtown Vegas Mixer & Startup Showcase on September 12th.
International Scientists Race To Create The Heaviest Element In The Universe
Two international teams are competing to create the heaviest element in the universe. Super-heavy elements are the elements at the bottom of the periodic table with an atomic number (the number of protons) above 104. The previous heaviest element, temporarily called ununoctium, was “discovered” in 2002, and the two teams are now attempting to produce elements 119 and 120.
Jon Petter Omtvedt, a professor of nuclear chemistry at University of Oslo, is working with scientists from Western Europe, Japan and the United States, running experiments at the German GSI Helmholtzzentrum für Schwerionenforschung. The other team is made up of Russian and American scientists working out of the Joint Institute for Nuclear Research in Dubna, Russia. “The competition is razor-sharp,” said Omtvedt. “Super-heavy elements are highly unstable and very difficult to create. It is like finding something unknown in outer space.”
Manufacturing a single atom of a new element is not sufficient to be credited with discovering a new element. The results need to be replicated. “No one will gain any recognition until another laboratory manages to recreate the experiment. In the worst case, it may take several decades before the experiment has been verified,” said Omtvedt. The heavier a super-heavy element is, the longer it takes to produce, and the shorter it will remain intact. A single atom of element 106 could be created within one hour when it was first discovered, and that atom decayers into lighter elements in 20 seconds. An atom of element 118 could be created in one month, and its half-life (the time before half of it decayed) was a mere 1.8 milliseconds.
Two weeks ago, nuclear physicists at Oak Ridge National Laboratory in Oak Ridge, Tennessee, created 20 mg of the highly radioactive element berkelium. Each team vying to create element 119 was given 10 mg of berkelium. They will bombard a metal plate laced with berkelium atoms with a beam of titanium atoms. The teams are working on a tight schedule. Berkelium’s half life is only 320 days, and once 320 days have passed, half of their sample will have decade into other elements. “It is extremely difficult to create intense titanium beams. To accomplish this, we have secrets that we will not share with others,” said Omtvedt.
The basic principle of creating super-heavy atoms is simple: smash the atoms of one element into those of another and their protons will add up to create a new element. Titanium’s 22 protons will join berkelium’s 97 to create an atom with 119 protons, one atom of element 119. Most of the time, though, the atoms will collide and shatter or partially destroy each other. But rarely, “less than once a month,” the protons will collide to create a complete atom. Detecting such a rare occurrence is a challenge. “You will have to detect this one atom on a metal plate where more than 100,000 superfluous events are occurring each second,” Omtvedt said. The only way to detect the new atom is to observe the radioactive radiation it emits when it decays. There will be no evidence of the new element until it’s already gone.
“We are working right at the cutting edge of what is experimentally possible,” said Omtvedt. “In order to study the heaviest elements, we have to stretch the current technology to its utmost and even a little further.”
Science Daily
Astronomers Discover Real Galaxy Far, Far Away
Astronomers discover real Galaxy Far, Far Away
If George Lucas was a prophet with Star Wars, this week’s galaxy discovery might be what he was talking about. A set of scientists have used a set of three different telescopes to capture and calculate the age of the galaxy they call EGS-zs8-1. This galaxy is the furthest away from Earth that any galaxy has ever been discovered. The first image you’re seeing in this article (minus the TIE fighter), was captured by NASA’s Hubble space telescope back in 2013 and has only just now seen itself the subject of a paper that claims it as our most distant galaxy neighbor.
At 13.1 billion light-years from Earth, this spot of blue measures the largest distance ever measured between Earth and another galaxy. At 13.8 billion years old, this is also one of the oldest galaxies humans have ever found.
Throughout the full CANDELS and BoRG/HIPPIES surveys, this heavenly body is the most massive z ~ 8 Lyman break galaxy ever found. Spectroscopic redshift measurements of this galaxy set a new record redshift for a galaxy.
Below you’ll see the limits of what NASA’s Hubble space telescope can see. You’ll find that it’s able to view space beyond this EGS-zs8-1 galaxy – but we’ve still got measurements to do!
In the near future, this team or a related team will be doing a spectroscopic follow-up with infrared spectroscopy using the James Webb Space Telescope and, later, ELTs.
Detection of the redshift details this project has detected have suggested a very “efficient” follow-up, as they’ve suggested major similarities between early galaxies – with extreme rest-frame optical emission lines especially.
Future studies will help us to understand how early galaxies were formed. They could provide a look at how the earliest galaxies were able to produce elements capable of creating life as we know it.
This this is the new furthest-from-Earth galaxy we’ve ever documented, authors of the paper produced on the subject suggest it’s most certainly not the furthest galaxy from Earth in the entire universe.
They only need measure their distance to be sure.
At this time, EGS-zs8-1 has been seen to be forming stars at a rate 80x that of our own Milky Way.
This galaxy has been building for a while, building more than 15 percent of the mass of our Milky Way, according to P.A. Oesch, lead author on the paper produced on this subject.
Above: The Spitzer Space Telescope, also used to capture images of this galaxy for this study.
The paper this article speaks of goes by the name “A Spectroscopic Redshift Measurement for a Luminous Lyman Break Galaxy at z = 7.730 Using Keck/MOSFIRE” and can be found at The Astrophysical Journal Letters. It goes by code doi:10.1088/2041-8205/804/2/L30 and can be found in Volume 804, Number 2, L30.
This paper was researched and authored by P.A. Oesch, P.G. van Dokkum, G.D. Illingworth, R.J. Bouwens, I. Momcheva, B. Holden, G.W. Roberts-Borsani, R. Smit, M. Franx, I. Labbé, V. González, and D. Magee.
Build Resnet From Scratch With Python !
This article was published as a part of the Data Science Blogathon
IntroductionThere have been a series of breakthroughs in the field of Deep Learning and Computer Vision. Especially with the introduction of very deep Convolutional neural networks, these models helped achieve state-of-the-art results on problems such as image recognition and image classification.
So, over the years, the deep learning architectures became deeper and deeper (adding more layers) to solve more and more complex tasks which also helped in improving the performance of classification and recognition tasks and also making them robust.
But when we go on adding more layers to the neural network, it becomes very much difficult to train and the accuracy of the model starts saturating and then degrades also. Here comes the ResNet to rescue us from that scenario, and helps to resolve this problem.
What is ResNet?Residual Network (ResNet) is one of the famous deep learning models that was introduced by Shaoqing Ren, Kaiming He, Jian Sun, and Xiangyu Zhang in their paper. The paper was named “Deep Residual Learning for Image Recognition” [1] in 2023. The ResNet model is one of the popular and most successful deep learning models so far.
Residual BlocksThe problem of training very deep networks has been relieved with the introduction of these Residual blocks and the ResNet model is made up of these blocks.
Source: ‘Deep Residual Learning for Image Recognition‘ paper
The problem of training very deep networks has been relieved with the introduction of these Residual blocks and the ResNet model is made up of these blocks.
In the above figure, the very first thing we can notice is that there is a direct connection that skips some layers of the model. This connection is called ’skip connection’ and is the heart of residual blocks. The output is not the same due to this skip connection. Without the skip connection, input ‘X gets multiplied by the weights of the layer followed by adding a bias term.
Then comes the activation function, f() and we get the output as H(x).
H(x)=f( wx + b ) or H(x)=f(x)
Now with the introduction of a new skip connection technique, the output is H(x) is changed to
H(x)=f(x)+x
But the dimension of the input may be varying from that of the output which might happen with a convolutional layer or pooling layers. Hence, this problem can be handled with these two approaches:
· Zero is padded with the skip connection to increase its dimensions.
· 1×1 convolutional layers are added to the input to match the dimensions. In such a case, the output is:
H(x)=f(x)+w1.x
Here an additional parameter w1 is added whereas no additional parameter is added when using the first approach.
These skip connections technique in ResNet solves the problem of vanishing gradient in deep CNNs by allowing alternate shortcut path for the gradient to flow through. Also, the skip connection helps if any layer hurts the performance of architecture, then it will be skipped by regularization.
Architecture of ResNetThere is a 34-layer plain network in the architecture that is inspired by VGG-19 in which the shortcut connection or the skip connections are added. These skip connections or the residual blocks then convert the architecture into the residual network as shown in the figure below.
Source: ‘Deep Residual Learning for Image Recognition‘ paper
Using ResNet with Keras:Keras is an open-source deep-learning library capable of running on top of TensorFlow. Keras Applications provides the following ResNet versions.
– ResNet50
– ResNet50V2
– ResNet101
– ResNet101V2
– ResNet152
– ResNet152V2
Let’s Build ResNet from scratch:Source: ‘Deep Residual Learning for Image Recognition‘ paper
Let us keep the above image as a reference and start building the network.
ResNet architecture uses the CNN blocks multiple times, so let us create a class for CNN block, which takes input channels and output channels. There is a batchnorm2d after each conv layer.
import torch import chúng tôi as nn class block(nn.Module): def __init__( self, in_channels, intermediate_channels, identity_downsample=None, stride=1 ): super(block, self).__init__() self.expansion = 4 self.conv1 = nn.Conv2d( in_channels, intermediate_channels, kernel_size=1, stride=1, padding=0, bias=False ) chúng tôi = nn.BatchNorm2d(intermediate_channels) self.conv2 = nn.Conv2d( intermediate_channels, intermediate_channels, kernel_size=3, stride=stride, padding=1, bias=False ) chúng tôi = nn.BatchNorm2d(intermediate_channels) self.conv3 = nn.Conv2d( intermediate_channels, intermediate_channels * self.expansion, kernel_size=1, stride=1, padding=0, bias=False ) chúng tôi = nn.BatchNorm2d(intermediate_channels * self.expansion) chúng tôi = nn.ReLU() self.identity_downsample = identity_downsample self.stride = stride def forward(self, x): identity = x.clone() x = self.conv1(x) x = self.bn1(x) x = self.relu(x) x = self.conv2(x) x = self.bn2(x) x = self.relu(x) x = self.conv3(x) x = self.bn3(x) if self.identity_downsample is not None: identity = self.identity_downsample(identity) x += identity x = self.relu(x) return xThen create a ResNet class that takes the input of a number of blocks, layers, image channels, and the number of classes.
blocks, out channel, and strides.
class ResNet(nn.Module): def __init__(self, block, layers, image_channels, num_classes): super(ResNet, self).__init__() self.in_channels = 64 self.conv1 = nn.Conv2d(image_channels, 64, kernel_size=7, stride=2, padding=3, bias=False) chúng tôi = nn.BatchNorm2d(64) chúng tôi = nn.ReLU() self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1) # Essentially the entire ResNet architecture are in these 4 lines below self.layer1 = self._make_layer( block, layers[0], intermediate_channels=64, stride=1 ) self.layer2 = self._make_layer( block, layers[1], intermediate_channels=128, stride=2 ) self.layer3 = self._make_layer( block, layers[2], intermediate_channels=256, stride=2 ) self.layer4 = self._make_layer( block, layers[3], intermediate_channels=512, stride=2 ) self.avgpool = nn.AdaptiveAvgPool2d((1, 1)) self.fc = nn.Linear(512 * 4, num_classes) def forward(self, x): x = self.conv1(x) x = self.bn1(x) x = self.relu(x) x = self.maxpool(x) x = self.layer1(x) x = self.layer2(x) x = self.layer3(x) x = self.layer4(x) x = self.avgpool(x) x = x.reshape(x.shape[0], -1) x = self.fc(x) return x def _make_layer(self, block, num_residual_blocks, intermediate_channels, stride): identity_downsample = None layers = [] # we need to adapt the Identity (skip connection) so it will be able to be added # to the layer that's ahead if stride != 1 or self.in_channels != intermediate_channels * 4: identity_downsample = nn.Sequential( nn.Conv2d( self.in_channels, intermediate_channels * 4, kernel_size=1, stride=stride, bias=False ), nn.BatchNorm2d(intermediate_channels * 4), ) layers.append( block(self.in_channels, intermediate_channels, identity_downsample, stride) ) # The expansion size is always 4 for ResNet 50,101,152 self.in_channels = intermediate_channels * 4 # For example for first resnet layer: 256 will be mapped to 64 as intermediate layer, # then finally back to 256. Hence no identity downsample is needed, since stride = 1, # and also same amount of channels. for i in range(num_residual_blocks - 1): layers.append(block(self.in_channels, intermediate_channels))return nn.Sequential(*layers)
Then define different versions of ResNet
– For ResNet50 the layer sequence is [3, 4, 6, 3].
– For ResNet101 the layer sequence is [3, 4, 23, 3].
– For ResNet152 the layer sequence is [3, 8, 36, 3]. (refer the ‘Deep Residual Learning for Image Recognition‘ paper)
def ResNet50(img_channel=3, num_classes=1000): return ResNet(block, [3, 4, 6, 3], img_channel, num_classes) def ResNet101(img_channel=3, num_classes=1000): return ResNet(block, [3, 4, 23, 3], img_channel, num_classes) def ResNet152(img_channel=3, num_classes=1000): return ResNet(block, [3, 8, 36, 3], img_channel, num_classes)Then write a small test code to check whether the model is working fine.
def test(): net = ResNet101(img_channel=3, num_classes=1000) device = "cuda" if torch.cuda.is_available() else "cpu" y = net(torch.randn(4, 3, 224, 224)).to(device) print(y.size()) test()For the above test case the output should be:
The entire code can be accessed here:
Thank you.
Related
Accessing Your Linux Server From Android
If you have a Linux server and it’s not in your living room, chances are good you connect to it remotely. You could be using that server for web hosting, backups, as a development box. or all of the above. No matter what, a remote connection is handy.
Most of the time it would be easy to assume you’re connecting from another computer. You might not have access to a computer all of the time, though. But what about your Android device? Not only is connecting from an Android device doable, it’s fairly easy.
Before you get startedBefore you start connecting to your server from Android, you should consider how it affects security. Connecting from Android isn’t inherently insecure, but any additional way you connect to your server is another door. Adding a door means that someone else could potentially open that door. That’s not even considering unintended vulnerabilities like Heartbleed, which caused major trouble a few years ago.
Whether or not you’re connecting from Android, you should read up on hardening your server. After all, better safe than sorry.
Set up your serverOne of the most common and secure ways to connect to your server is SSH, or Secure Shell. If you haven’t already done so, you’ll want to install OpenSSH, which also includes SFTP (Secure FTP). Installing and configuring SSH is easy, but beyond the scope of this article. Fear not, as we have a step-by-step guide to installing and configuring SSH and SFTP on Ubuntu. Even if you’re using another distribution, those instructions can get you most of the way there.
Set up your Android deviceBoth SSH and SFTP are pretty keyboard-heavy, so you may want to consider using a Bluetooth keyboard with your device. There are plenty of Android-compatible Bluetooth keyboards available, and many of them are very affordable. Alternatively, if you don’t have access to an external keyboard, you can install and use the Hacker’s keyboard app.
Next, you’ll need to get yourself an SSH app to connect to your server from Android. Two of the most popular options available right now are JuiceSSH and Termius.
JuiceSSHJuiceSSH supports Bluetooth keyboards and offers plenty of options. The base version of the app supports two-factor authentication, optional plugins, and ZLib compression on SSH connections. Upgrading to the Pro version adds more color schemes, automatic backup of your connections, and a handy widget. The app is available for free on the Google Play Store.
TermiusTermius is another popular option. In addition to SSH, this app also supports SFTP. If you frequently find yourself needing to upload files from your Android device to your server, this is handy. The free version of the app available on Google Play has most of the features you’ll need. Unfortunately, SFTP support is only included in the Premium version, which costs $59.88 per year.
Connecting to your serverTo connect to your server, you’ll either need your username and password or your private SSH key. Using a username and password is easier but is also far less secure. The guide to configuring SSH on Ubuntu above includes a step on generating your keys. To use these with your Android SSH app of choice, you’ll need to copy your public key to your device. One of the easiest ways to do this is to save your key in a password manager like 1Password or LastPass and copy and paste it on your Android phone.
Determining your IP addressOnce you have your key imported, all you’ll need is your server’s IP address. There are multiple ways to determine this. First you need to know which IP address you’re looking for.
If your server is a web host or a remote host from a service like Linode or DigitalOcean, you’ll need your server’s public IP address. One simple way is to type the command curl chúng tôi in a terminal window on your server. This uses a website to retrieve your public IP address.
Once you have your private key and IP address, you can use this to connect from your Android device. If you’re looking for things to do on your server’s command line, we have a list to get you started.
Kris Wouk
Kris Wouk is a writer, musician, and whatever it's called when someone makes videos for the web.
Subscribe to our newsletter!
Our latest tutorials delivered straight to your inbox
Sign up for all newsletters.
By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time.
Update the detailed information about Discover The Universe From Your Armchair With Celestia on the Achiashop.com website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!