mars

If Perseverance Finds Evidence of Life on Mars, How Will We Recognize It?

Deputy project scientist Ken Williford shares his hopes about what NASA's latest rover might discover on the Red Planet.




mars

The Inside Story Behind the Historic First Flight on Mars

Even if the Ingenuity helicopter fails, it is already a success — an engineering resource for a grand future of flight on other worlds.




mars

Humans on Mars? Here's why you shouldn't plan a space move anytime soon

As global warming continues and space technology improves, there is more and more talk about the growing possibility of a sci-fi future in which humans become a multiplanetary species. Specifically, that we could live on Mars. Biologist Kelly Weinersmith and cartoonist Zach Weinersmith have spent the last four years researching what this would look like if we did this anytime soon. In their new book A City On Mars, they get into all sorts of questions: How would we have babies in space? How would we have enough food? They join host Regina G. Barber and explain why it might be best to stay on Earth.

Kelly and Zach Weinersmith's book A City On Mars is out now.

Have another space story you want us to cover on a future episode? Email us at shortwave@npr.orgwe'd love to hear from you!




mars

The Most Difficult Climb Yet for NASA’s Curiosity Rover on Mars.

The Most Difficult Climb Yet For Nasa’s Curiosity Rover On Mars.

Sam Wilson...




mars

Petro busca tomarse el mejor sistema de salud que ha construido Colombia: Cabal




mars

Dinner on Mars: How to grow food when humans colonize the red planet

Dinner on Mars? Two food security experts imagine what it would take to feed a human colony on Mars in the year 2080 if we colonized the red planet. Their research offers lessons on how to improve our battered food systems here on Earth.




mars

Bruno Mars - Unorthodox Jukebox

Shot through with the confidence of a man with the hit parade Midas touch.




mars

Fifty shades of Hindmarsh

REVERED Parramatta Eels legend Nathan Hindmarsh has been immortalised by artistic titan Stormie Mills in the heart of Parramatta.





mars

Rene Marsh Demanding Change After Son Dies From Cancer



Blake Vince Payne was only 2 years old.




mars

Setting the Stage: Marsha Ambrosius Spreads Her Vocal Magic



The singer's ground-shaking voice wakes Apollo Live up!




mars

Kroll Appoints Dylan Edward Marshall

Kroll announced that Dylan Edward Marshall has joined their Bermuda office as a Director in the restructuring practice, bringing twelve years of experience in restructuring and insolvency work. A spokesperson said, “Kroll, the leading independent provider of global risk and financial advisory solutions, announced that Dylan Edward Marshall, CPA, CA has joined the Bermuda office […]




mars

Scaling Propellant Production on Mars is Hard

Putting humans on Mars has been one of NASA’s driving missions for years, but they are still in the early stages of deciding what exactly that mission architecture will look like. One major factor is where to get the propellant to send the astronauts back to Earth. Advocates of space exploration often suggest harvesting the …

The post Scaling Propellant Production on Mars is Hard appeared first on Universe Today.




mars

To the Moon, Mars, and beyond with the 2024 NASA Authorization

If passed, it would be the first standalone NASA authorization since 2017.




mars

NASA discovers Mars rock with ancient potential for life

A single 3.5 billion-year-old rock shows signs of all the conditions life needs to thrive.




mars

A big find on Mars

A big rover makes a big find on Mars. Little rovers have their place in exploration, too.




mars

Mars may host oceans’ worth of water deep underground

The tentative discovery hints at an habitat where life could potentially thrive.




mars

Joe Marshall: Lisp vs. golang

It's no secret that I'm an aficionado of Lisp. It's my go to language, especially when I don't know what I'm doing. I call it research and prototyping, but it's really just playing around until something works.

We had a need for some auditing of some of our databases at work. They ought to agree with each other and with what GitHub and CircleCI think. It took a couple of weeks part time to prototype a solution in Common Lisp. It showed that the databases were in 99% agreement and found the few points of disagreement and anomalies that we ought to fix or look out for.

I want to integrate this information into a dashboard on one of our tools. I prototyped this by spinning up a Common Lisp microservice that returns the information in JSON format.

But management prefers that new services are written in golang. It would be easier for me to rewrite the service in golang than to try to persuade others to use Common Lisp. It also gives me the opportunity to compare the two languages head to head on a real world problem.

No, this is not a fair comparison. When I wrote the Lisp code I was exploring the problem space and prototyping. I'm much more experienced with Lisp than with golang. The golang version has the advantage that I know what I want to do and how to do it. In theory, I can just translate the Common Lisp code into golang. But then again, this is a “second system” which is not a prototype and has slightly larger scope and fuller requirements. So this cannot be a true head to head comparison.

The first point of comparison is macros (or lack thereof). I generally don't use a lot of macros in Common Lisp, but they come in handy when I do use them. One macro I wrote is called audit-step, which you can wrap around any expresion and it prints out a message before and after the expression is evaluated. The steps are numbered in sequence, and nested steps get nested numbers (like step 2.3.1). If you wrap the major function bodies with this macro, you get a nice trace of the call sequence in the log.

Golang doesn't have macros, but it has first class functions. It's easy enough to write a function that takes a function as an argument and wraps it to output the trace messages. In fact, the macro version in Common Lisp just rewrites the form into such a function call. But the macro version hides a level of indentation and a lambda. In golang, my major functions all start with

func MajorFunction (args) int {
        return AuditStep("MajorFunction", "aux message", func() int {
                // body of MajorFunction
                // Actual code goes here.
        })    
}

The bodies of all my major functions are indented by 16 spaces, which is a little much.

I like higher order functions. I can write one higher order function and parameterize it with functions that handle the specific cases. In my auditing code, one such workhorse function is called collate. It takes a list of objects and creates a table that maps values to all objects in the list that contain that value. To give an example, imaging you have a list of objects that all have a field called foo. The foo field is a string. The collate function can return a table that maps strings to all objects that have that string in the foo field.

collate is very general. It takes a list of objects and four keyword arguments. The :key argument is a function that extracts the value to collate on. The :test argument is a function that compares two keys (it defaults to eql if not specified). The :merger argument is a function to add the mapped object to its appropriate collection in the table (it defaults to adjoin). The :default argument specifies the initial value of a collection in the table (it defaults to nil).

The :merger function is the most interesting. It takes the key and the object and the current value of the table at that key. It returns the new value of the table at that key. The default merger function is adjoin, which adds the object to the collection at the key if it is not already there. But you can specify a different merger function. For example, if you want to count the number of objects at each key, you can specify a merger function that increments a counter.

The functional arguments to the collate function are often the results of other higher order functions. For example, the :key argument is often the result of composing selector functions. The :merger argument is often the result of composing a binary merge function with a unary transformer function. The transformer function is often the result of composing a number of primitive selectors and transformers.

In Common Lisp, it is quite easy to write these higher order functions. We can compose two unary functions with the compose2 function:

(defun compose2 (f g)
  (lambda (x) (funcall f (funcall g x)))

and then compose as many functions as we like by fold-left of compose2 starting with the identity function:

(defun compose (&rest fs)
  (fold-left #'compose2 #'identity fs))

We can compose a binary function with a unary function in three ways: we can pipe the output of the binary function into the unary function, or we can pipe the output of the unary function into one or the other of the inputs of the binary function.

(defun binary-compose-output (f g)
  (lambda (x y) (funcall f (funcall g x y))))

(defun binary-compose-left (f g)
  (lambda (x y) (funcall f (funcall g x) y)))

(defun binary-compose-right (f g)
  (lambda (x y) (funcall f x (funcall g y))))

The collate function can now assume that a lot of the work is done by the :key and :merger functions that are passed in. It simply builds a hash table and fills it:

(defun collate (item &key (key #'identity) (test #'eql) (merger (merge-adjoin #'eql)) (default nil))
  (let ((table (make-hash-table :test test)))
    (dolist (item items table)
      (let ((k (funcall key item)))
        (setf (gethash k table) (funcall merger (gethash k table default) item))))))

(defun merge-adjoin (test)
  (lambda (collection item)
    (adjoin item collection :test test)))

So suppose, for example, that we have a list of records. Each record is a three element list. The third element is a struct that contains a string. We want a table mapping strings to the two element lists you get when you strip out the struct. This is easily done with collate:

(collate records
  :key (compose #'get-string #'third)
  :test #'equal      ; or #'string= if you prefer
  :merger (binary-compose-right (merge-adjoin #'equal) #'butlast))

The audit code reads lists of records from the database and from GitHub and from CircleCI and uses collate to build hash tables we can use to quickly walk and validate the data.

Translating this into golang isn't quite so easy. Golang has first class function, true, but golang is a statically typed language. This causes two problems. First, the signature of the higher order functions includes the types of the arguments and the return value. This means you cannot just slap on the lambda symbol, you have to annotate each argument and the return value. This is far more verbose. Second, higher order functions map onto parameterized (generic) types. Generic type systems come with their own little constraint language so that the computer can figure out what concrete types can correctly match the generic types. This makes higher order functions fairly unweildy.

Consider compose2. The functions f and g each have an input and output type, but the output type of g is the input type of f so only three types are involved

func Compose2[T any, U any, V any](f func(U) V, g func(T) U) func(T) V {
	return func(x T) V {
		return f(g(x))
	}
}

If want to compose three functions, we can write this:

func Compose3[T any, U any, V any, W any](f func(V) W, g func(U) V, h func(T) U) func(T) W {
	return func(x T) W {
		return f(g(h(x)))
	}
}
The generic type specifiers take up as much space as the code itself.

I don't see a way to write an n-ary compose function. It would have to be dynamically parameterized by the intermediate types of all the functions it was composing.

For the collate function, we can write this:

func Collate[R any, K comparable, V any](
	list *Cons[R],
	keyfunc func(R) K,
	merger func(V, R) V,
	defaultValue V) map[K]V {
	answer := make(map[K]V)
	for list != nil {
		key := keyfunc(list.Car)
		probe, ok := answer[key]
		if !ok {
			probe = defaultValue
		}
		answer[key] = merger(probe, list.Car)
		list = list.Cdr
	}
	return answer
}

We have three types to parameterize over: the type of the list elements (i.e. the record type) R, the type of the key K, and the type of the value V. The key type is needs to be constrained to be a valid key in a map, so we use the comparable constraint. Now that we have the types, we can annotate the arguments and return value. The list we are collating is a list of R elements. The key function takes an R and returns a K. The merger takes an existing value of type V and the record of type R and returns a new value of type V.

The magic of type inference means that I do not have to annotate all the variables in the body of the function, but the compiler cannot read my mind and infer the types of the arguments and return value. Golang forces you to think about the types of arguments and return values at every step of the way. Yes, one should be aware of what types are being passed around, but it is a burden to have to formally specify them at every step. I could write the Common Lisp code without worrying too much about types. Of couse the types would have to be consistent at runtime, but I could write the code just by considering what was connected to what. In golang, the types are in your face at every function definition. You not only have to think about what is connected to what, you have to think about what sort of thing is passed through the connection.

I'm sure that many would argue that type safety is worth the trouble of annotation. I don't want to argue that it isn't. But the type system is cumbersome, awkward, and unweildy, especially when you are trying to write higher order functions.

It is taking me longer to write the golang version of the audit service than it did to write the Common Lisp version. There are several reasons. First, I am more experienced with Common Lisp than golang, so the right Common Lisp idioms just come to mind. I have to look up many of the golang idioms. Second, the golang code is trying to do more than the Common Lisp code. But third, golang itself introduces more friction than Common Lisp. Programs have to do more than express the algorithm, they have to satisfy the type system.

There are more points of comparison between the two languages. When I get frustrated enough, I'll probably write another post.




mars

Joe Marshall: Don't Try to Program in Lisp

A comment on my previous post said,

The most difficult thing when coming to a different language is to leave the other language behind. The kind of friction experienced here is common when transliterating ideas from one language to another. Go (in this case) is telling you it just doesn't like to work like this.
Try writing simple Go, instead of reaching for Lisp idioms. Then find the ways that work for Go to express the concepts you find.

That's not at all how I approach programming.

A friend of mine once paid me a high compliment. He said, “Even your C code looks like Lisp.”

When I write code, I don't think in terms of the language I'm using, I think in terms of the problem I'm solving. I'm a mostly functional programmer, so I like to think in terms of functions and abstractions. I mostly reason about my code informally, but I draw upon the formal framework of Lambda Calculus. Lambda Calculus is a simple, but powerful (and universal) model of computation.

Programming therefore becomes a matter of expressing the solution to a problem with the syntax and idioms of the language I'm using. Lisp was inspired by Lambda Calculus, so there is little friction in expressing computations in Lisp. Lisp is extensible and customizable, so I can add new syntax and idioms as desired.

Other languages are less accommodating. Some computations are not easily expressable in the syntax of the language, or the semantics of the language are quirky and inconsistent. Essentially, every general purpose fourth generation programming language can be viewed as a poorly-specified, half-assed, incomplete, bug-ridden implementation of half of Common Lisp. The friction comes from working around the limitations of the language.




mars

China's Mars rover Zhurong finds possible shoreline of ancient Red Planet ocean

Data from China's Zhurong rover has revealed what appears to be an ancient shoreline streaking through Mars' northern hemisphere.




mars

Estimating The Fractal Dimension of the Spiders of Mars

Above is an image of “dry ice spiders” on Mars. Every spring the Sun warms up the Martian south polar icecap and causes jets of carbon-dioxide gas to erupt through the icecap. These jets carrying dark sand into the air and spraying it for hundreds of feet around each jet forming these wonderful spider-like structures....





mars

‘A League of Their Own’ Director Penny Marshall Pushed Tom Hanks to Get As Fat As Possible for His Role as Jimmy Dugan

By Keegan Kelly Published: November 11th, 2024




mars

A tiny marsupial is upending ideas about the origins of flying mammals

Sugar gliders and bats are about as distantly related as any two mammals on Earth, but new Princeton research shows their wings are formed from the same genetic ingredients. 




mars

The Failed Marshall Plan: Learning from US Foreign Policy Missteps




mars

SpaceX alums find traction on Earth with their Mars-inspired CO2-to-fuel tech




mars

You Can Test Out Life on Mars in This State

Soaring over Utah, it's easy to imagine that you've left Earth and have stepped onto another planet.




mars

Elon Musk's Journey to Mars

How the American Ingenuity Award winner plans to build a self-sustaining civilization on Mars




mars

The John Marshall Ju/'hoan Bushman Film and Video Collection, 1950-2000

Watch a selection from the Smithsonian Institution's submission for the UNESCO Memory of the World Register of historic artifacts




mars

Electrical engineering major named fall 2024 ROTC student marshal

Richard Wilson has been named the fall 2024 student marshal for the Reserve Officers’ Training Corps (ROTC) at Penn State. He will receive a bachelor’s degree in electrical engineering from the Penn State College of Engineering with a minor in military studies.




mars

Nicholas Palermo chosen as fall 2024 College of Education student marshal

Nicholas Palermo, a secondary social studies education major from Wexford, Pennsylvania, has been named the Penn State College of Education student marshal for the fall 2024 commencement ceremony.




mars

Chinese Rover Uncovers Evidence Supporting Theory of a Vast Ancient Ocean on Mars

China’s Zhurong rover has discovered formations on Mars that could signal the remnants of a once vast ocean. Landing in the Utopia Planitia region, the rover identified formations commonly linked to past water presence, supporting the theory that Mars was once home to a massive body of water. While the findings do not offer definitive proof, they bring scientists closer to understanding Mars' history and its potential to support life.




mars

DPH Alienta a lo Asistentes del Evento de Rodeo en Bridgeville a Tomarse una Prueba para el Coronavirus

La División de Salud Pública (DPH) están alentando fuertemente a los que asistieron al evento del rodeo que no estaba permitido en el Rancho El en Bridgeville el 6 de septiembre 2020 a que se hagan la prueba del coronavirus lo más pronto posible en un lugar que le sea conveniente.



  • Delaware Emergency Management Agency
  • Delaware Health and Social Services
  • Division of Public Health
  • News
  • Coronavirus
  • COVID-19

mars

Marshall Woburn III Review

Read the in depth Review of Marshall Woburn III Audio Video. Know detailed info about Marshall Woburn III configuration, design and performance quality along with pros & cons, Digit rating, verdict based on user opinions/feedback.




mars

Former Marshall Islands President Hilda Heine Joins EWC Board

Former Marshall Islands President Hilda Heine Joins EWC Board Former Marshall Islands President Hilda Heine Joins EWC Board
palmaj

News Release

Explore

News Release

Explore




mars

Learning from Climate Impacts on Health and Migration in the Marshall Islands

Learning from Climate Impacts on Health and Migration in the Marshall Islands Learning from Climate Impacts on Health and Migration in the Marshall Islands
ferrard Thu, 01/20/2022 - 15:58

East-West Wire

Tagline
News, Commentary, and Analysis
East-West Wire

The East-West Wire is a news, commentary, and analysis service provided by the East-West Center in Honolulu. Any part or all of the Wire content may be used by media with attribution to the East-West Center or the person quoted. To receive East-West Center Wire media releases via email, subscribe here.

For links to all East-West Center media programs, fellowships and services, see www.eastwestcenter.org/journalists.

Explore

East-West Wire

Tagline
News, Commentary, and Analysis
East-West Wire

The East-West Wire is a news, commentary, and analysis service provided by the East-West Center in Honolulu. Any part or all of the Wire content may be used by media with attribution to the East-West Center or the person quoted. To receive East-West Center Wire media releases via email, subscribe here.

For links to all East-West Center media programs, fellowships and services, see www.eastwestcenter.org/journalists.

Explore




mars

Controversy Erupts as Mitchell Marsh’s Posture with World Cup Trophy Sparks Outcry

Amidst the celebrations following Australia’s triumphant win against India in the Cricket World Cup, a viral picture of Australian batsman Mitchell Marsh has stirred controversy on social media. The World Cup victory, marking Australia’s sixth title in cricket history, took place at the Narendra Modi Stadium in Ahmedabad, igniting fervent celebrations among the Kangaroos. Post-match ... Read more

The post Controversy Erupts as Mitchell Marsh’s Posture with World Cup Trophy Sparks Outcry appeared first on Pakistan Tribune.




mars

A new life on Mars? Expect toxic dust, bad vibes and insects for lunch

You might have heard about plans to establish a self‑sustaining city on Mars. Here’s what life would really be like on the Red Planet




mars

Astronauts could hitch a ride on asteroids to get to Venus or Mars

Asteroids that regularly fly between Earth, Venus and Mars could provide radiation shielding for human missions to explore neighbouring planets




mars

Chinese rover finds further evidence for an ancient ocean on Mars

Data collected by the Zhurong rover and orbiting satellites suggests the existence of an ancient shoreline in the Utopia Planitia region of Mars




mars

We are a long way from pregnancy being safe on Mars

Dangerous radiation reaches Mars at levels we aren't exposed to on Earth, which makes the Red Planet a particularly dangerous place to be during pregnancy




mars

A new life on Mars? Expect toxic dust, bad vibes and insects for lunch

You might have heard about plans to establish a self‑sustaining city on Mars. Here’s what life would really be like on the Red Planet




mars

NASA’s Mars Rovers Are Having a Rough Time Out There



The two robots, working alone and far apart from one another, are struggling on their respective treks along the Red Planet's rough terrain.




mars

RPG Cast – Episode 580: “Marshmallow Is Canon”

It's just the core trio this week, as Chris tosses a coin to his hunting horn partner Kelley, and Anna Marie rolls her eyes as Chris cracks terrible jokes about what the Vita really means. We all consider MiHoYo's bottom line, as well as whether we're classified as normies.

The post RPG Cast – Episode 580: “Marshmallow Is Canon” appeared first on RPGamer.




mars

Could Mars become habitable with the help of glitter-like iron rods?

If we want to terraform the Red Planet to make it better able to host microbial life, tiny rods of iron and aluminium may be the answer




mars

We keep finding water on Mars – here are all the places it might be

Researchers recently found a possible reservoir of liquid water more than 11 kilometres below Mars's surface – the latest in a long series of potential water discoveries on the Red Planet, hinting at its temperate past




mars

Strange meteorites have been traced to their source craters on Mars

Mars rocks that were blasted off the surface of the Red Planet millions of years ago have been traced back to craters where they originated, which could transform our understanding of Mars’s volcanism and evolution




mars

Visible aurora spotted for the first time on Mars by NASA rover

If you were standing on Mars as it was hit by charged particles from the sun, you might be able to see an aurora just like on Earth




mars

Cloud atlas of Mars reveals an atmosphere unlike our own

Using images captured by the European Space Agency’s Mars Express spacecraft, researchers have created a cloud atlas of Mars, to better understand the climate of the Red Planet




mars

NASA is developing a Mars helicopter that could land itself from orbit

The largest and most ambitious Martian drone yet could carry kilograms of scientific equipment over great distances and set itself down on the Red Planet unassisted