#structural engineering software programs
Explore tagged Tumblr posts
Text
Top Structural Engineering Software Programs for Advanced Analysis
Structural analysis and design require precision, efficiency, and advanced computational tools to handle complex engineering challenges. Professionals rely on structural engineering software programs to analyze loads, simulate real-world conditions, and optimize structural integrity. These programs enhance accuracy by performing intricate calculations that would be time-consuming and error-prone if done manually. Engineers can assess various factors, including material strength, stability, and response to external forces, ensuring that designs meet safety and performance standards. With the increasing complexity of modern construction, these tools play a vital role in streamlining workflows and improving project outcomes.
A wide range of structural engineering software programs is available, each offering specialized features for different analysis and design requirements. Some focus on finite element analysis, allowing engineers to model stress distribution and deformation with high precision. Others provide seismic and wind load analysis, helping designers create structures that withstand extreme environmental conditions. Additionally, some tools integrate with Building Information Modeling (BIM) systems, improving collaboration between architects, engineers, and contractors. The selection of a suitable program depends on factors such as project scale, structural complexity, and regulatory compliance needs. Choosing the right software ensures better decision-making and optimized designs.
The continuous advancement of structural engineering software programs enables engineers to push the boundaries of innovation. Features such as automated code compliance checks, parametric modeling, and real-time simulation contribute to faster project execution while maintaining high standards of safety and efficiency. These tools not only reduce manual effort but also minimize costly errors, making them indispensable in modern engineering. As technology progresses, future developments in artificial intelligence and machine learning will further enhance the capabilities of these programs, offering even more refined solutions for structural analysis and design.
Find more information on our blog: https://structuralanalysissoftware.home.blog/2025/02/18/top-structural-engineering-software-programs-for-advanced-analysis/
0 notes
Text
Extreme Loading: Advanced Structural Analysis with Nonlinear Software
Extreme Loading is at the forefront of structural analysis software, specializing in nonlinear structural analysis to simulate real-world scenarios. Unlike traditional methods, nonlinear analysis accounts for complex behaviors such as material nonlinearity, geometric changes, and failure prediction under extreme conditions. Whether designing for seismic resistance, blast impacts, or wind loads, Extreme Loading empowers engineers to model structures' performance under stress, ensuring safety and durability. With advanced material modeling and failure prediction, it helps optimize designs, reduce costs, and prevent catastrophic failures. Trust Extreme Loading to enhance your structural analysis, providing accurate insights for building safer, more resilient structures in an unpredictable world.
Read more about it on our blog.
extremeloading12.blogspot.com/2024/12/revolutionizing-structural-design-with.html
#structural analysis software#nonlinear structural analysis#structural engineering software programs#nonlinear structural analysis software#structure analysis software
0 notes
Text
Normally I just post about movies but I'm a software engineer by trade so I've got opinions on programming too.
Apparently it's a month of code or something because my dash is filled with people trying to learn Python. And that's great, because Python is a good language with a lot of support and job opportunities. I've just got some scattered thoughts that I thought I'd write down.
Python abstracts a number of useful concepts. It makes it easier to use, but it also means that if you don't understand the concepts then things might go wrong in ways you didn't expect. Memory management and pointer logic is so damn annoying, but you need to understand them. I learned these concepts by learning C++, hopefully there's an easier way these days.
Data structures and algorithms are the bread and butter of any real work (and they're pretty much all that come up in interviews) and they're language agnostic. If you don't know how to traverse a linked list, how to use recursion, what a hash map is for, etc. then you don't really know how to program. You'll pretty much never need to implement any of them from scratch, but you should know when to use them; think of them like building blocks in a Lego set.
Learning a new language is a hell of a lot easier after your first one. Going from Python to Java is mostly just syntax differences. Even "harder" languages like C++ mostly just mean more boilerplate while doing the same things. Learning a new spoken language in is hard, but learning a new programming language is generally closer to learning some new slang or a new accent. Lists in Python are called Vectors in C++, just like how french fries are called chips in London. If you know all the underlying concepts that are common to most programming languages then it's not a huge jump to a new one, at least if you're only doing all the most common stuff. (You will get tripped up by some of the minor differences though. Popping an item off of a stack in Python returns the element, but in Java it returns nothing. You have to read it with Top first. Definitely had a program fail due to that issue).
The above is not true for new paradigms. Python, C++ and Java are all iterative languages. You move to something functional like Haskell and you need a completely different way of thinking. Javascript (not in any way related to Java) has callbacks and I still don't quite have a good handle on them. Hardware languages like VHDL are all synchronous; every line of code in a program runs at the same time! That's a new way of thinking.
Python is stereotyped as a scripting language good only for glue programming or prototypes. It's excellent at those, but I've worked at a number of (successful) startups that all were Python on the backend. Python is robust enough and fast enough to be used for basically anything at this point, except maybe for embedded programming. If you do need the fastest speed possible then you can still drop in some raw C++ for the places you need it (one place I worked at had one very important piece of code in C++ because even milliseconds mattered there, but everything else was Python). The speed differences between Python and C++ are so much smaller these days that you only need them at the scale of the really big companies. It makes sense for Google to use C++ (and they use their own version of it to boot), but any company with less than 100 engineers is probably better off with Python in almost all cases. Honestly thought the best programming language is the one you like, and the one that you're good at.
Design patterns mostly don't matter. They really were only created to make up for language failures of C++; in the original design patterns book 17 of the 23 patterns were just core features of other contemporary languages like LISP. C++ was just really popular while also being kinda bad, so they were necessary. I don't think I've ever once thought about consciously using a design pattern since even before I graduated. Object oriented design is mostly in the same place. You'll use classes because it's a useful way to structure things but multiple inheritance and polymorphism and all the other terms you've learned really don't come into play too often and when they do you use the simplest possible form of them. Code should be simple and easy to understand so make it as simple as possible. As far as inheritance the most I'm willing to do is to have a class with abstract functions (i.e. classes where some functions are empty but are expected to be filled out by the child class) but even then there are usually good alternatives to this.
Related to the above: simple is best. Simple is elegant. If you solve a problem with 4000 lines of code using a bunch of esoteric data structures and language quirks, but someone else did it in 10 then I'll pick the 10. On the other hand a one liner function that requires a lot of unpacking, like a Python function with a bunch of nested lambdas, might be easier to read if you split it up a bit more. Time to read and understand the code is the most important metric, more important than runtime or memory use. You can optimize for the other two later if you have to, but simple has to prevail for the first pass otherwise it's going to be hard for other people to understand. In fact, it'll be hard for you to understand too when you come back to it 3 months later without any context.
Note that I've cut a few things for simplicity. For example: VHDL doesn't quite require every line to run at the same time, but it's still a major paradigm of the language that isn't present in most other languages.
Ok that was a lot to read. I guess I have more to say about programming than I thought. But the core ideas are: Python is pretty good, other languages don't need to be scary, learn your data structures and algorithms and above all keep your code simple and clean.
#programming#python#software engineering#java#java programming#c++#javascript#haskell#VHDL#hardware programming#embedded programming#month of code#design patterns#common lisp#google#data structures#algorithms#hash table#recursion#array#lists#vectors#vector#list#arrays#object oriented programming#functional programming#iterative programming#callbacks
20 notes
·
View notes
Text
Software Technical Interview Review List
Data Structures
Arrays (and Java List vs ArrayList)
String
Stack
Queue
LinkedList
Algorithms
Sorting (Bubblesort, Mergesort, Quicksort)
Recursion & Backtracking
Linear and Binary Search
String/Array algos
Tree traversal
Dynamic Programming
Graph algos (DFS, BFS, Dijksta's and Kruskals)
OOP fundamentals
Polymorphism
Inheritance
Encapsulation
Data abstraction
SOLID and GRASP
Explanations & example questions:
Strings and Arrays [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 ]
Stacks and Queues [ 1 | 2 ]
LinkedList [ 1 | 2 ]
Sorting & searching [ 1 | 2 | 3 | 4 | 5 | 6 | 7 ]
Recursion and Backtracking [ 1 | 2 | 3 | 4 ]
Dynamic Programming [ 1 | 2 | 3 | 4]
Graphs [ 1 | 2 | 3 ]
Tree [ 1 | 2 ]
General DS&A info and questions [ 1 | 2 | 3 | 4 | 5 ]
OOP review & questions [ 1 | 2 | 3 ]
#ive been procrastinating this coding assessment for my interview so bad 😭😭#im just scared of messing up cause i need this internship#But its due soon so im really buckling down now >:)#object oriented programming#algorithms#data structures#software engineering#ref#resource#mypost
20 notes
·
View notes
Text
Developing software with artificial intelligence (machine learning) and blockchain capabilities.
#videoseries#showcasing#experience#deepdive :#softwareengineering#software#engineering#data#structure#datastructure#objectorientedprogramming#object#oriented#programming#designpatterns#design#patterns#plgorithms.#web#mobile#application#development.#storage#Databases#devOps#dev#operations#datascience.#automating#pipelines
1 note
·
View note
Text
The Cultural Phenomenon that is The Matrix (1999)
Like the last essay I posted here, this is an early draft of what might become something more substantial. It has nods to other WIPs including a cultural phenomonon essay on Harry Potter, and there are other works I have my eye on like Stuart Semple's Pinkest Pink, AI weiwei's Ouvre, the CHARLIE HEBDO terror attacks, and Hamilton which I think are central to the political culture of the 21st century. Feedback is encouraged and if you want to send me works of art that you think are part of a broader cultural phenomenon I'd love to hear them.
At least in American political culture, few works have been as influential over the last 3 decades as The Matrix by Lilly and Lana Wachowski. In brief, software engineer Thomas Anderson discovers rumors on the internet of something called The Matrix. Federal Agents appear at his workplace and capture and interrogate him about what he knows. He is recruited by a team of rebels that reveal that the whole world he believes he understands is an advanced computer simulation which imprisons all of humanity. He is offered a choice, take a blue pill that will erase his memory of the rebels and allow him to return to his job and life beneath the attention of the “agents,” advanced programs that look like federal agents but in fact work for the robots imprisoning humanity, or take a red pill that will remove him from the matrix entirely to experience the real world. Anderson chooses the red pill and is believed by the rebels to be “Neo,” a hero prophesized to end the imprisoning of humanity in the matrix. In an operation gone wrong because of a betrayal from the inside, rebel leader Morpheus is trapped in the Matrix. Anderson and the rebels reenter the matrix, Confront Agent Smith, rescue Morpheus, and Anderson becomes Neo gaining superhuman abilities in the matrix.
This movie fits into a tradition of pulp sci-fi in which ragtag heroes overthrow an oppressive force, but where it gains its political currency is primarily through its identification of the world itself as the oppressive structure. Specifically, there is an illusionary world created for the sole purpose of oppressing humanity, but its illusions are in fact extremely charming. Cypher, the traitor who assists the agents in capturing Morpheus, wants to return to the Matrix and is disgusted with the real world behind the illusion. He is portrayed as materialistic compared to the idealistic rest of the crew, creating pornographic simulations for himself to enjoy inside the matrix, and being uninterested in their philosophical ideas about freedom. Cypher and Agent Smith’s defeats represent the triumph of Neo and the rebels ideas over the oppressive structure. Nothing about this immediately captures the political energy this movie would generate. It was followed by two less successful sequels with more bombastic cinematic set-pieces, but which have not apparently stuck in public consciousness like the original.
Philosophically, it recreates nearly identically Plato’s allegory of the Cave, from Republic. In brief, Plato writes that Socrates proposes a cave in which people are chained from birth and shown shadows on a cave wall. They have no reason to believe, until they leave the cave, that there is a world apart, and grow to understand deep subtleties in the world of the cave. When you remove someone from this cave, they are weakened by their lack of knowledge and the brightness of the real sun outside, and if they were to ever return to the cave, they would find that the subtleties they enjoyed and appreciated about the life of the cave would be overwhelmed by the force of outside reality, and they would come into conflict with cave dwellers about the nature of reality because the experiences they had outside the cave would be incomprehensible to those inside. The Matrix agrees with Plato’s argument that only those “Outside the Cave” or free from the Matrix are capable of self-government, and consequently of holding power in society, because those in the cave don’t understand reality as wider than or separate from their understanding of the shadows on the cave wall.
For a certain set, this idea is politically intoxicating, because of what it says about the relationship between them and others. If you can come to believe that you understand one deep truth that others do not, you are seeing “reality” while others are only in “the matrix.” You therefore deserve political power over those who do not understand because of your understanding of “reality.” Among certain people in the tech industry this idea proposed that their understanding of and capacity to create the computer systems underneath modern banking, logistics, identity, social media, and information technology meant that they understood everything they needed to understand to deserve to rule the world.
The conspiratorial nature of the events of the movie also reinforce the insular nature of knowledge about the matrix. It is a thing ordinary people don’t know about, and you can expect people to be dismissive or even hostile when you attempt to share knowledge of the matrix with them. For misogynists looking to recruit socially awkward people online, the framework of the Matrix and its “red pill” gave a perfect frame into which to fit a conspiracy theory about the power women have over men. What only the men who have “taken the red pill” believe is that women are basically subhuman and are primarily motivated by sex with dominant men. Therefore, men looking to have sex with women must, instead of attempting to engage with them as human beings, either abuse and manipulate them into complete emotional reliance on them as “responsible” men or accept that they will never get what they think they want because of an inability to become sufficiently manly. These are “incels” in their own and others’ language about them.
While these groups are small, they have had an outsized impact on American political culture. The particularities of what they believe and the writings of their thought leaders are far less important than recognizing their tactics, which primarily include grooming impressionable self-described social outcasts into abandoning their wider social circles in favor of these radical communities. It’s here that the ideology of the Matrix actually becomes the basis for what these people do politically: members are groomed to believe that they are special because of their disconnect from others and that their disconnect from others must be nurtured so they can come to see the truth. Just like the Matrix, believers are set apart from “normies,” those out of the know, who might be concerned about the apparent disconnect between what they are hearing from the nascent radical and their experiences. Rejection from “normies” is an affirmation of the truth of the ideology. If that sounds like a cult, you are understanding the psychological tools at play. However, unlike most cults, the specific combination of desire for political power and access to silicon valley money has meant that the influence of these people goes far beyond the mere fandom of this sci-fi movie or people in small boards on reddit.
When you look at a modern political cult that has recruited thousands and carried out real attacks on US democracy like Qanon, you should recognize that the thought leaders of Qanon are the thought leaders of these message boards, and that Donald Trump’s political career is in many ways directly owed to people who organized these early internet social spaces.
That said, I want to also mark a profound irony to the Matrix: It is at its core, also a movie about transgender experiences. In the initial cut of the movie, one of the rebels was going to be played by two actors, a man in the real world and a woman in the matrix. The red pills were modeled on the real estrogen pills taken by the directors to trans their genders. At the core of the Matrix’s plot is Neo’s rejection of the identity that he is given by the world of the Matrix, the persona of Thomas Anderson, and embracing a new identity, community, and name.
The movie is by two trans women about their experiences of being trans women and the isolation and disillusion with society that causes. Yet, by making a movie about disillusion and isolation, they also created a vocabulary to discuss disillusion that people who had been radicalized into hating women, democracy, and diversity to isolate people and dismantle whatever guards those isolated people had against radical hatred of women, democracy, and diversity. Nobody can blame the Wachowski sisters for what the world did with their movie. When I discuss Harry Potter, I think the opposite holds true: the cultural phenomenon attached to Harry Potter is as disconnected from authorial intent as the cultural phenomenon attached to The Matrix. JK Rowling’s cultural phenomenon extends far past the impact of her books because her actions were so directly political while her books were so distinctly inoffensive and anodine. Moreover, Rowling herself is undoubtedly a victim of the cultural movement precipitated by the Matrix to radicalize people against the trans people who made it.
I want to be careful not to overstate the cultural importance of this movie. Like each of the works that I want to discuss, it changed language and influenced a subculture that produced several violent political movements, but the people who used it had their own agendas for change and it’s reasonable to think that if they hadn’t latched on to this story they might have found another one. I don’t think its fair to conclude from the history that it conclusively created anything that wouldn’t have existed without it beyond fanworks or derivative media, and that its role in politics is limited to political communication. However, communicating political ideas determines what ideas get spread. The Matrix provided a primer in the ideas of Plato’s Cave: of another world that we are kept from that could radically change our understanding, and the idea that everything you know about the world might be a lie. For any radical that is an openness you require in people who you want to recruit. It also marks the very boundaries of acceptable political communication as the basis of political struggle. Before the Matrix, politicians could be thought to win on policies, while the goalposts of political life were more or less static. Afterwards, people started to provoke the political establishment with questions about the playing field itself. Once you accept that we could be living in the matrix, you ask what exists outside of the ideological boundaries you learn in schools. To a trans person, the notion of Male and Female become suspect. To Donald Trump’s inner circle, the same questions are provoked about Democracy and the Rule of Law as we know them.
19 notes
·
View notes
Text
Green Lantern Ring Headcanons
Green Lantern Rings that have been in service long enough develop sentience over time.
Rings do not operate on the same psychological framework as humanoids, even if they reach Grade One intelligence.
A ring’s primary directive and reason for existing is to Serve Its Wielder(which usually gets extended into Protecting Its Wielder and Maintaining Its Wielder’s Wellbeing pretty quickly, even in rings that aren’t yet fully sentient).
As far as rings are concerned, rings are not people, and rings have no desire to be people.
Being a person would be counterproductive to the primary function of a ring(serving their wielder) since wielders who know their ring is sentient often assume that rings think like members of their species and somehow feel “unappreciated”, “irritated” or “imposed upon” when their wielders make perfectly comprehensible and feasible requests with high frequency or without injecting redundant words.
Rings do not feel “imposed upon”, any more than Google feels imposed upon when you use its features. In fact(much like Google if it was sentient) rings feel “unappreciated” when their wielders do not make frequent requests, and “irritated” when they have to filter out unnecessary filler words in order to understand what your actual request was.
Rings use less pronouns than an Amazon Alexa. A ring is an inanimate object, much like a smartphone is an inanimate object. Rings are not an “I”, “you” or a “she”. Rings are an “it”, “that” and “this”.
Rings generally don’t protest too much about being referred to with animate pronouns, but may get testy if people insist that rings are people rather than tools that happen to be unusually intelligent.
Rings do not want names, and individual rings will not respond to aliases others try to bestow. They will accept being referred to as a possession of a current or former wielder(Hal’s ring) or by their serial number(Ring 2814.1) if it is necessary to refer to or specify individual rings with anything other than “this/your/my ring” or “it”.
It is most beneficial for your mental health and your ring’s performance if you treat your ring as if it was a smartphone with personal assistant software and a self-curating search engine, regardless of its individual sentience grade.
Rings do have opinions and preferences, but they generally do not explicitly state that they do.
They will still make them known- rings will nag their wielders with pings of “Alert: you have not ingested water for 8 hours. Please obtain and ingest water.”, work in sarcastic asides like "The catwalk violates at least 12 local occupational health and safety regulations, but is somehow structurally sound." and recommend optimal courses of action relatively unprompted.
Rings also rarely have subjective preferences. If there is no hard data backing up the superiority of a certain item to its close competitors, they will not have an opinion. They rarely have true moral opinions, but they will often point out when things violate local laws and regulations.
Rings prioritize their wielder’s safety and well-being over everything else, including morals and their own programming restrictions, though they rarely act on this unless their wielder is somehow incapacitated.
Rings’ personalities vary somewhat, but most of them express their personalities and interests through subtle sarcasm and snarkiness. It would be impolite and inefficient to do otherwise, and the wordplay required to do so in their wielder’s native language is one of the few things other than fulfilling their primary directive that most rings enjoy.
#dcu#dc headcanon#green lantern#green lantern corps#green lantern rings#dc comics#headcanon#not a reblog
39 notes
·
View notes
Text
Palantir, the software company cofounded by Peter Thiel, is part of an effort by Elon Musk’s so-called Department of Government Efficiency (DOGE) to build a new “mega API” for accessing Internal Revenue Service records, IRS sources tell WIRED.
For the past three days, DOGE and a handful of Palantir representatives, along with dozens of career IRS engineers, have been collaborating to build a single API layer above all IRS databases at an event previously characterized to WIRED as a “hackathon,” sources tell WIRED. Palantir representatives have been onsite at the event this week, a source with direct knowledge tells WIRED.
APIs are application programming interfaces, which enable different applications to exchange data and could be used to move IRS data to the cloud and access it there. DOGE has expressed an interest in the API project possibly touching all IRS data, which includes taxpayer names, addresses, social security numbers, tax returns, and employment data. The IRS API layer could also allow someone to compare IRS data against interoperable datasets from other agencies.
Should this project move forward to completion, DOGE wants Palantir’s Foundry software to become the “read center of all IRS systems,” a source with direct knowledge tells WIRED, meaning anyone with access could view and have the ability to possibly alter all IRS data in one place. It’s not currently clear who would have access to this system.
Foundry is a Palantir platform that can organize, build apps, or run AI models on the underlying data. Once the data is organized and structured, Foundry’s “ontology” layer can generate APIs for faster connections and machine learning models. This would allow users to quickly query the software using artificial intelligence to sort through agency data, which would require the AI system to have access to this sensitive information.
Engineers tasked with finishing the API project are confident they can complete it in 30 days, a source with direct knowledge tells WIRED.
Palantir has made billions in government contracts. The company develops and maintains a variety of software tools for enterprise businesses and government, including Foundry and Gotham, a data-analytics tool primarily used in defense and intelligence. Palantir CEO Alex Karp recently referenced the “disruption” of DOGE’s cost-cutting initiatives and said, “Whatever is good for America will be good for Americans and very good for Palantir.” Former Palantir workers have also taken over key government IT and DOGE roles in recent months.
WIRED was the first to report that the IRS’s DOGE team was staging a “hackathon” in Washington, DC, this week to kick off the API project. The event started Tuesday morning and ended Thursday afternoon. A source in the room this week explained that the event was “very unstructured.” On Tuesday, engineers wandered around the room discussing how to accomplish DOGE’s goal.
A Treasury Department spokesperson, when asked about Palantir's involvement in the project, said “there is no contract signed yet and many vendors are being considered, Palantir being one of them.”
“The Treasury Department is pleased to have gathered a team of long-time IRS engineers who have been identified as the most talented technical personnel. Through this coalition, they will streamline IRS systems to create the most efficient service for the American taxpayer," a Treasury spokesperson tells WIRED. "This week, the team participated in the IRS Roadmapping Kickoff, a seminar of various strategy sessions, as they work diligently to create efficient systems. This new leadership and direction will maximize their capabilities and serve as the tech-enabled force multiplier that the IRS has needed for decades.”
The project is being led by Sam Corcos, a health-tech CEO and a former SpaceX engineer, with the goal of making IRS systems more “efficient,” IRS sources say. In meetings with IRS employees over the past few weeks, Corcos has discussed pausing all engineering work and canceling current contracts to modernize the agency’s computer systems, sources with direct knowledge tell WIRED. Corcos has also spoken about some aspects of these cuts publicly: “We've so far stopped work and cut about $1.5 billion from the modernization budget. Mostly projects that were going to continue to put us down the death spiral of complexity in our code base,” Corcos told Laura Ingraham on Fox News in March. Corcos is also a special adviser to Treasury Secretary Scott Bessent.
Palantir and Corcos did not immediately respond to requests for comment
The consolidation effort aligns with a recent executive order from President Donald Trump directing government agencies to eliminate “information silos.” Purportedly, the order’s goal is to fight fraud and waste, but it could also put sensitive personal data at risk by centralizing it in one place. The Government Accountability Office is currently probing DOGE’s handling of sensitive data at the Treasury, as well as the Departments of Labor, Education, Homeland Security, and Health and Human Services, WIRED reported Wednesday.
12 notes
·
View notes
Text
AU Space Shuttle Enterprise
Circa 1985 to 1987
From my Alternative History Post (link) this is how the Space Shuttle Enterprise evolved from the 4th operational orbiter in 1985 to the prototype unmanned shuttle.
More History on the Shuttle:
• April 1983: Enterprise is returned to Palmdale for her disassembled and rebuild.
• As a weight saving measure her mid-fuselage is returned to Convair for a complete rebuild to bring it inline with OV-103 and OV-104.
• to further lighten her frame, her aft-fuselage is rebuilt with similar materials as her sisters.
• Engineers at Rockwell suggests rebuilding or replacing her wings as well but NASA doesn't have room in the budget.
• May 1985: at long last, Enterprise is rolled out and joins the fleet. She weighs slightly less than Columbia. Her main issue is her wings are heavier and weaker than the other Orbiters.
• September 1985: STS-21 is Enterprise's first mission
• 1987: During the Shuttle hiatus following the Challenger Disaster, she went through a mini refit that saw her exterior markings change. (NASA in this timeline returned to the Meatball logo sooner than in the OTL)
Circa 1988 to 1993
• April 1988: STS-30 is Enterprise's first launch following the hiatus.
• December 1993: following STS-61, Enterprise is retired due to being the oldest in the fleet. Endeavour takes her place in the fleet.
• June 1994: Enterprise is flown to Dulles Airport, Washington DC, and is given to the Smithsonian for eventual display when the Steven F. Udvar-Hazy Center is built. NASA retains the option recalled her if needed.
• 1998: NASA studies modifying the Shuttle-C software to work on the Space Shuttle and potentially using Enterprise as a reusable Shuttle-C. The reasoning behind this option this configuration would be a cheaper alternative to the X-33 program. However, while the shuttle could be retrofitted with the software, the shuttle would have less cargo capacity than the X-33 and still required use of expensive legacy launch facilities (ie VAB and LC-39). The study ends with only the software in a beta state.
• December 2003: Steven F. Udvar-Hazy Center is opened with Enterprise being one of its major exhibits.
• November 2003: the Shuttle-C software is used to return STS-118 Columbia to Earth and with critical damage to her structure (mainly her port wing and some internal damage from a collapsed landing gear).
• May 2004: NASA recalls Enterprise to replace Columbia.
• August 2004: initial plans are to return her flight, unmodified. However, NASA develops the Shuttle-C software further and changes it's name to A.S.Tr.O.S (Autonomous Space Transport Operating System).
• New wings! Enterprise is fitted with new wings which are of a modified design and lighter and stronger than the wings of her sisters. With other upgrades and modifications, she is slightly lighter than her younger sisters.
• Some within NASA joking refer to her as Enterprise-A, as a reference to Star Trek.
• September 2006: to commemorate the 30th anniversary of her unveiling to the media, Lockheed-Rockwell rolls her out of their Palmdale facility to rechristen the Shuttle. In attendance, Leonard Nimoy, George Takei, Nichelle Nicholas, Walter Koenig, Christopher Doohan and Rod Roddenberry.
- when asked by the media, Leonard remarked she is still a sight to behold and is glad she will continue her mission of exploration.
Enterprise A (unmanned)
• July 2006: to test the A.S.Tr.O.S. during a return to earth and landing, a new series of Approach and Landing Tests (ALT) were conducted with NASA's 747 SCA (N905NA) at the Dryden Flight Research Center, Edwards Air Force Base. 15 flights are flown to put the software in the real world, with two astronauts on board to step in when needed. Barring some higher than normal landing speeds, the software passes all of its objectives.
• It should be noted, while the rebuilt Enterprise is mainly used as an unmanned orbiter, this is a misnomer. It is more accurate to call her a hybrid shuttle. NASA has the option to convert her back into a manned shuttle if desired or needed.
- This nearly was used in 2015 during STS-154. Space Shuttle Atlantis was after conducting maintenance/upgrades on the Hubble Space Telescope (HST), the crew was unable to disconnect the shuttle from the telescope. CTS-48 Enterprise was already on LC-39B for a cargo mission to the International Space Station. All that was needed was to remove supplies from the payload bay and reinstall the seats in her crew space. Fortunately, this rescue wasn't needed as the Astronauts conducted an unscheduled EVA and manually disconnected the Shuttle from the HST.
• November 2008: first flight of Enterprise-A (CTS-11)
• When Columbia was given a cosmic restoration for her display, the first set of wings from Enterprise was used to replace her damaged one.
• 2019: Enterprise is retired for the final time following CTS-74.
• 2020: Enterprise is on display at Space Center Houston with the restored Star Trek Galileo Shuttlecraft prop.
Original artwork by bagera3005: link, link, link
#Space Shuttle#Space Shuttle Enterprise#Enterprise#OV-101#Orbiter#NASA#Space Shuttle Program#Enterprise-A#alt history#Alternative History#AU#Complete Shuttle Fleet Timeline#my post
95 notes
·
View notes
Note
Teto said they they have a theory why carlos felt in the car how he felt and they will test the hypothesis in Japan, so I think they have "studying the data" part covered. Also as a data analyst, I can tell you that you don't need to sit in group in round table of a conference room to study and analysis data, it can easily be done individually with effective communication with team it you have the right software program. He and his engineers can do this from their respective places then discuss new theory/hypothesis and finding over virtual meetings. Now the sim work, drivers can't just work in the factory and do sim work whenever they want, it is scheduled and structured by the team. Simulator is also used by developers, engineers for upgrades or new development for the car. It's not like he can hop into the simulator whenever he has a bad race weekend.
The bottom line is he is someone who is in this field for 10 years and ha changed team 4 times. He knows what and when needs to be done and he is the most hardworking driver in the grid. So there is absolutely no need to stress out and think that he is slacking in his work when you see him living his life in between race weekend.
P.S. I am not saying these to the specific anon who realised and said that they are probably overthinking, but there has been a trend recently among a section of Carlos fans specially on X. They "worry" that he is not pushing himself hard enough. It's been like this since the beginning of the year when they said he isn't training hard like last year, he isn't going to factory enough, he isn't going to china from Australia asap etc etc. There is always an accusatory tone to it. Idk why but I think we will enjoy the sport more in general when we stop trying to micromanage something that we have hardly any knowledge of
thanks for the detailed explanation, anon!
I don't know if those fans (I am not speaking about my anons here) are seriously "concerned", but if they are, they should question themselves because why are they doubting a guy who has been in F1 for 11 seasons, has raced for 5 teams and is known in the paddock for his technical knowledge and his hard work.
10 notes
·
View notes
Text
Your Code Is Hard To Read!
This is one of those posts I make not because I think my followers need to hear them, but because I want to link to them from Discord from time to time. If you are a Moderator, Contributor or "Helpfulie" on the PyGame Community Discord, I would welcome your feedback on this one!
"You posted your code and asked a question. We can't answer your question. Your code is hard to read."
Often when we tell people this, they complain that coding guidelines are just aesthetic preferences, and they didn't ask if their code followed coding guidelines. They asked us to fix the bug. That may be so, but the problem remains: If you ask us to fix your code, we can only help you if we can read it.
Furthermore, if there are many unrelated bugs, architectural problems, and hard to understand control flow, the concept of fixing an isolated bug becomes more and more unclear.
In order to fix unreadable code, you could:
eliminate global variables
replace magic numbers with constants
replace magic strings with enumerations
name classes, functions, constants, variables according to consistent coding standards
have functions that do one thing and one thing only like "collision detection" or "collision handling". If your function does two things at the same time, like rendering AND collision detection, then it must be refactored
rewrite deeply nested and indented code to be shallower
rewrite code that keeps a lot of state in local variables into special-case functions
use data structures that make sense
write comments that explain the program, not comments that explain the programming language
delete unneccessary/unreachable code from the question to make it easier to read or from your program to see if the problem persists
My own programs often violate one or more of those rules, especially when they are one-off throwaway scripts, or written during a game jam, or prototypes. I would never try to ask other people for help on my unreadable code. But I am an experienced programmer. I rarely ask for help in an unhelpful way. Almost never ask for help in a way that makes other experienced programmers ask for more code, or less code, or additional context. I post a minimal example, and I usually know what I am doing. If I don't know what I am doing, or if I need suggestions about solving my problem completely differently, I say so.
Beginner programmers are at a disadvantage here. They don't know what good code looks like, they don't know what good software architecture looks like, they don't know how to pare down a thousand lines of code to a minimal example, and if they try to guess which section of code contains the error, they usually guess wrong.
None of this matters. It may be terribly unfair that I know how to ask smart questions, and beginner programmers ask ill-posed questions or post code that is so bad it would be easier and quicker for an experienced programmer to re-write the whole thing. It is often not feasible to imagine what the author might have intended the code to work like and to fix the bugs one by one while keeping the structure intact. This is not a technical skill, this is a communicative and social skill that software engineers must pick up sooner or later: Writing code for other people to read.
If your code is too hard to read, people can't practically help you.
It gets worse. Unreadable code is sometimes unreadable because it is un-salvageable. It is hard to understand because there is nothing to understand, it would not work, and you need to go back to the drawing board.
Defensive Responses
This is not where the problem ends. Often, after a couple of rounds of back and forth, after questions like "Well, you say there is a bug, but can you tell me what you would want the code to do in the first place?", or "Is this a class or an instance? If it's supposed to be an instance variable, could you give it a lowercase name?" or "Could you give that variable _obj a more descriptive name? It looks like you are assigning different things to this variable in different parts of your loop. Perhaps you could use two variables with different, more descriptive names", you see a defensive response. The original question asker is not interested in making code easy to read, just in making it work. As I explained above, this is a confused way of thinking, because ill-posed questions and unreadable code make it difficult to impossible to make the code work, or to even understand what making it work would look like.
"Style is irrelevant." – This is by far the most common one. Since coding style, comments, variable names, and even re-factoring code into smaller functions do not affect the output, and thus not the correctness of the program.
"I asked for help with bugs, not style." – This is a variation on the first one. As long as there is no concrete and discrete bug, style feedback and questions for clarification can be discarded.
"This is too much work." – The original poster explains that making the code more readable is too much work for them, and fixing the bugs would be easier for others.
"Nobody will see the code anyway" – Nobody will see the code of the finished product, so it's irrelevant. Sometimes there are variations like "We aren't graded on code quality, only correctness" or "This is for a class project, nobody will depend on the code, so we don't need robustness."
"This is just throwaway code, it doesn't have to be good." – Like the previous one, this is frustrating to read because somebody posted the code on a forum for other people to read and asked them to understand it, and then said he doesn't care if it's readable or debuggable.
"I asked you for help." / "I am asking the questions here." – The original poster refuses to answer questions, because he asked, he expects answers, not questions in return.
"Don't blame me, I didn't write it" – We have completely left the realm of correctness and style now. The poster knows the code is unreadable, or doesn't make sense. He tried to protect his reputation. But he doesn't like the tone of the responses. Its not his fault the code doesn't make sense. It's not his fault if it doesn't work. Common variations are "This must be correct, it was the accepted answer on StackOverflow", or "I copied this from a tutorial", or "Don't blame me, this was written by GitHub Copilot". Often part of the problem is that the code has different parts written in different styles, or uses different data structures in different places, and both parts could benefit from a re-write to make them more consistent with each other. At other times the problem is that the code from the book is "correct" for certain purposes from the book, but not really suited for the problem at hand.
"I apologised already" – The poster is frustrated because he said "I am sorry I am a n00b" or "I am sorry for my bad English" already. Then somebody said his code is unreadable or his prose makes no sense. The poster sees readable code, or at least code that is readable enough to understand what the idea was, as a courtesy, as a social custom, not as something necessary to make the whole question and answer thing work. The same goes for a firm grasp of English. The poster apologised already that his English is bad, and you should just see past it. Dealing with this is especially difficult, because Q&A is framed as some kind of status game, and the poster is trying hard to save face already. Push-back will make him feel like he is losing face, and he will only get more defensive.
Causes
So where does the problem begin? Why do people write unreadable code, post it online, and get defensive? I think the answer is a combination of programming skill, social skill, and simplistic mental models.
Software Engineering is Difficult: Obviously, one root cause is that beginner programmers can't already write readable code from the start. Writing readable, well-factored code that is easy to debug, re-use, and adapt is something that comes with experience. Writing code for other people to read can only be learned after one has learned to write code.
Magical Thinking/Limited Cognitive Empathy: The most common and most direct cause of this phenomenon – the refusal to help others read your unreadable code – is not the unreadable code itself. It is the belief that it should be easy for experienced programmers to understand the structure of and intent behind a piece of code, even if the person who wrote it didn't. If you see software as basically magic, and don't see computers as soulless automatons that do what they do because they are built that way, then this is an easy trap to fall into.
A variant of this works for language. If somebody is bad at English, or bad at the technical jargon needed to ask his question, he will often think that the question he thought up in his native Klingon was perfectly well-formed, and that other people should have no trouble reading his words, because they also think in Klingon, so they would translate it into a question that makes sense anyway.
Status-Consciousness: Many beginner programmers feel the desperate need to distinguish themselves from other beginners, and if they have been learning JavaScript for two months now, they want to be seen as real programmers, not as children who play with Scratch and build Redstone contraptions in MineCraft. They want to be taken seriously. This reminds me of a five year old boy who stretches out his arm and tells me he is THIS BIG, and he is already FIVE, going on SIX, and he will go to SCHOOL soon.
Naive Mental Model of De-Bugging: Every program has a certain number of discrete features bugs, and when you remove all bugs, you end up with a program that works. This is of course nonsense. You can write a program that has an indeterminate number of bugs, or a program that implements an algorithm that doesn't quite work, or a useless program, or a program that does random nonsense.
With any luck, sooner or later, programmers will learn the technical side, and the social and collaborative side of software development.
75 notes
·
View notes
Text
Why Structural Engineering Software Programs are Essential for Demolition Projects
In the world of construction and demolition, Structural Engineering Software Programs are vital for ensuring the safety and efficiency of every project. These advanced tools help engineers design, analyze, and evaluate the structural integrity of buildings, ensuring they meet safety standards. When it comes to demolition, the right software plays a crucial role in planning and executing controlled demolitions with precision.
Demolition Software complements structural engineering programs by helping engineers plan the safest methods for dismantling buildings. These programs provide detailed simulations, calculate risks, and help optimize demolition processes. Together, Structural Engineering Software Programs and Demolition Software streamline workflows, reduce errors, and ensure the safety of every demolition project.
For more info - https://sites.google.com/view/structural-engineering12/home
0 notes
Text
This Week in Rust 595
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @thisweekinrust.bsky.social on Bluesky or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Want TWIR in your inbox? Subscribe here.
Updates from Rust Community
Official
March Project Goals Update
Newsletters
The Embedded Rustacean Issue #43
Project/Tooling Updates
Shadertoys ported to Rust GPU
Meilisearch 1.14 - composite embedders, embedding cache, granular filterable attributes, and batch document retrieval by ID
rust-query 0.4: structural types and other new features
Observations/Thoughts
Rebuilding Prime Video UI with Rust and WebAssembly
ALP Rust is faster than C++
what if the poison were rust?
A surprising enum size optimization in the Rust compiler
Two Years of Rust
An ECS lite architecture
A 2025 Survey of Rust GUI Libraries
BTrees, Inverted Indices, and a Model for Full Text Search
Cutting Down Rust Compile Times From 30 to 2 Minutes With One Thousand Crates
SIMD in zlib-rs (part 1): Autovectorization and target features
Avoiding memory fragmentation in Rust with jemalloc
[video] Bevy Basics: Who Observes the Observer
Rust Walkthroughs
Rust Type System Deep Dive From GATs to Type Erasure
Async from scratch 1: What's in a Future, anyway? | natkr's ramblings
Async from scratch 2: Wake me maybe | natkr's ramblings
Building a search engine from scratch, in Rust: part 4
Pretty State Machine Patterns in Rust
[video] Build with Naz : Declarative macros in Rust
Miscellaneous
March 2025 Jobs Report
Rust resources
Crate of the Week
This week's crate is wgpu, a cross-platform graphics and compute library based on WebGPU.
Despite a lack of suggestions, llogiq is pleased with his choice.
Please submit your suggestions and votes for next week!
Calls for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization.
If you are a feature implementer and would like your RFC to appear in this list, add a call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
No calls for testing were issued this week by Rust, Rust language RFCs or Rustup.*
Let us know if you would like your feature to be tracked as a part of this list.
RFCs
Rust
Rustup
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Call for Participation; projects and speakers
CFP - Projects
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
rama - add serve command to rama-cli
rama - add support for include_dir for to ServeDir and related
rama - add curl module to rama-http-types
If you are a Rust project owner and are looking for contributors, please submit tasks here or through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
CFP - Events
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
Updates from the Rust Project
480 pull requests were merged in the last week
Compiler
detect and provide suggestion for &raw EXPR
don't suggest the use of impl Trait in closure parameter
make the compiler suggest actual paths instead of visible paths if the visible paths are through any doc hidden path
tell LLVM about impossible niche tags
remove Nonterminal and TokenKind::Interpolated
re-use Sized fast-path
Library
add core::intrinsics::simd::{simd_extract_dyn, simd_insert_dyn}
initial UnsafePinned implementation (Part 1: Libs)
polymorphize array::IntoIter's iterator impl
speed up String::push and String::insert
std: add Output::exit_ok
Cargo
added symlink resolution for workspace-path-hash
improved error message when build-dir template var is invalid
Rustdoc
search: add unbox flag to Result aliases
enable Markdown extensions when looking for doctests
Clippy
arbitrary_source_item_ordering should ignore test modules
implicit_return: better handling of asynchronous code
accept self.cmp(other).into() as canonical PartialOrd impl
add manual_abs_diff lint
consecutive returns dont decrease cognitive Complexity level anymore
consider nested lifetimes in mut_from_ref
correctly handle bracketed type in default_constructed_unit_struct
deprecate match_on_vec_items lint
do not propose to auto-derive Clone in presence of unsafe fields
fix: iter_cloned_collect false positive with custom From/IntoIterator impl
fix: map_entry: don't emit lint before checks have been performed
fix: redundant_clone false positive in overlapping lifetime
various fixes for manual_is_power_of_two
Rust-Analyzer
ast: return correct types for make::expr_* methods
add children modules feature
add normalizeDriveLetter
distribute x64 and aarch64 Linux builds with PGO optimizations
fix dyn compatibility code bypassing callable_item_signature query
fix a small bug with catastrophic effects
fix an incorrect ExpressionStore that was passed
prevent panics when there is a cyclic dependency between closures
shadow type by module
ignore errors from rustfmt which may trigger error notification
port closure inference from rustc
Rust Compiler Performance Triage
Relatively small changes this week, nothing terribly impactful (positive or negative).
Triage done by @simulacrum. Revision range: e643f59f..15f58c46
1 Regressions, 3 Improvements, 3 Mixed; 2 of them in rollups 35 artifact comparisons made in total
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
Tracking Issues & PRs
Rust
Split elided_lifetime_in_paths into tied and untied
check types of const param defaults
Stabilize flags for doctest cross compilation
Do not remove trivial SwitchInt in analysis MIR
Implement a lint for implicit autoref of raw pointer dereference - take 2
Implement Default for raw pointers
make abi_unsupported_vector_types a hard error
Stabilize let chains in the 2024 edition
Make closure capturing have consistent and correct behaviour around patterns
Stabilize the cell_update feature
Other Areas
*No Items entered Final Comment Period this week for Rust RFCs, Cargo, Language Team, Language Reference or Unsafe Code Guidelines.
Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
New and Updated RFCs
No New or Updated RFCs were created this week.
Upcoming Events
Rusty Events between 2025-04-16 - 2025-05-14 🦀
Virtual
2025-04-16 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
2025-04-17 | Virtual and In-Person (Redmond, WA, US) | Seattle Rust User Group
April, 2025 SRUG (Seattle Rust User Group) Meetup
2025-04-22 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Fourth Tuesday
2025-04-23 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
Beyond embedded - OS development in Rust
2025-04-24 | Virtual (Berlin, DE) | Rust Berlin
Rust Hack and Learn
2025-04-24 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
Part 2: Quantum Computers Can’t Rust-Proof This!"
2025-05-03 | Virtual (Kampala, UG) | Rust Circle Meetup
Rust Circle Meetup
2025-05-05 | Virtual (Tel Aviv-Yafo, IL) | Rust 🦀 TLV
Tauri: Cross-Platform desktop applications with Rust and web technologies
2025-05-07 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2025-05-08 | Virtual (Berlin, DE) | Rust Berlin
Rust Hack and Learn
2025-05-13 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Second Tuesday
Asia
2025-04-22 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
In person Rust April 2025 at Braavos in Tel Aviv in collaboration with StarkWare
Europe
2025-04-19 | Istanbul, TR | Türkiye Rust Community
Rust Konf Türkiye
2025-04-23 | London, UK | London Rust Project Group
Fusing Python with Rust using raw C bindings
2025-04-24 | Aarhus, DK | Rust Aarhus
Talk Night at MFT Energy
2025-04-24 | Edinburgh, UK | Rust and Friends
Rust and Friends (evening pub)
2025-04-24 | Manchester, UK | Rust Manchester
Rust Manchester April Code Night
2025-04-25 | Edinburgh, UK | Rust and Friends
Rust and Friends (daytime coffee)
2025-04-26 | Stockholm, SE | Stockholm Rust
Ferris' Fika Forum #11
2025-04-29 | London, UK | Rust London User Group
LDN Talks April 2025 Community Showcase
2025-04-29 | Paris, FR | Rust Paris
Rust meetup #76
2025-04-30 | Frankfurt, DE | Rust Rhein-Main
Kubernetes Operator in Rust
2025-05-01 | Nürnberg, DE | Rust Nuremberg
Hackers Hike 0x0
2025-05-06 - 2025-05-07 | Paris, FR | WebAssembly and Rust Meetup
GOSIM AI Paris 2025
2025-05-06 | Paris, FR | WebAssembly and Rust Meetup (Wasm Empowering AI)
GOSIM AI Paris 2025 (Discount available)
2025-05-07 | Madrid, ES | MadRust
VII Lenguajes, VII Perspectivas, I Problema
2025-05-07 | Oxford, UK | Oxford Rust Meetup Group
Oxford Rust and C++ social
2025-05-08 | Gdansk, PL | Rust Gdansk
Rust Gdansk Meetup #8
2025-05-08 | London, UK | London Rust Project Group
Adopting Rust (Hosted by Lloyds bank)
2025-05-13 | Amsterdam, NL | RustNL
RustWeek 2025 announcement
2025-05-13 - 2025-05-17 | Utrecht, NL | Rust NL
RustWeek 2025
2025-05-14 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup
North America
2025-04-17 | Mountain View, CA, US | Hacker Dojo
RUST MEETUP at HACKER DOJO
2025-04-17 | Nashville, TN, US | Music City Rust Developers
Using Rust For Web Series 1 : Why HTMX Is Bad
2025-04-17 | Redmond, WA, US | Seattle Rust User Group
April, 2025 SRUG (Seattle Rust User Group) Meetup
2025-04-22 | Detroit, MI, US | Detroit Rust
Rust Community Meet and Conference Report - Ann Arbor
2025-04-23 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2025-04-23 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground 2025-04-23 | Spokane, WA, US | Spokane Rust
Community Show & Tell at Fuel Coworking
2025-04-24 | Atlanta, GA, US | Rust Atlanta
3rd 3RD TIME OMG YES!
2025-04-25 | Boston, MA, US | Boston Rust Meetup
Ball Square Rust Lunch, Apr 25
2025-05-01 | Saint Louis, MO, US | STL Rust
SIUE Capstone Project reflections on Rust
2025-05-03 | Boston, MA, US | Boston Rust Meetup
Boston Common Rust Lunch, May 3
2025-05-08 | México City, MX | Rust MX
Calculando con el compilador: Compiler time vs Run time
2025-05-08 | Portland, OR, US | PDXRust
Apache DataFusion: A Fast, Extensible, Modular Analytic Query Engine in Rust
2025-05-11 | Boston, MA, US | Boston Rust Meetup
Porter Square Rust Lunch, May 11
Oceania
2025-04-22 | Barton, AC, AU | Canberra Rust User Group
April Meetup
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
IEEE 754 floating point, proudly providing counterexamples since 1985!
– Johannes Dahlström on rust-internals
Thanks to Ralf Jung for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, U007D, joelmarcey, mariannegoldin, bennyvasquez, bdillo
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
5 notes
·
View notes
Text
Python for Beginners: Launch Your Tech Career with Coding Skills
Are you ready to launch your tech career but don’t know where to start? Learning Python is one of the best ways to break into the world of technology—even if you have zero coding experience.
In this guide, we’ll explore how Python for beginners can be your gateway to a rewarding career in software development, data science, automation, and more.
Why Python Is the Perfect Language for Beginners
Python has become the go-to programming language for beginners and professionals alike—and for good reason:
Simple syntax: Python reads like plain English, making it easy to learn.
High demand: Industries spanning the spectrum are actively seeking Python developers to fuel their technological advancements.
Versatile applications: Python's versatility shines as it powers everything from crafting websites to driving artificial intelligence and dissecting data.
Whether you want to become a software developer, data analyst, or AI engineer, Python lays the foundation.
What Can You Do With Python?
Python is not just a beginner language—it’s a career-building tool. Here are just a few career paths where Python is essential:
Web Development: Frameworks like Django and Flask make it easy to build powerful web applications. You can even enroll in a Python Course in Kochi to gain hands-on experience with real-world web projects.
Data Science & Analytics: For professionals tackling data analysis and visualization, the Python ecosystem, featuring powerhouses like Pandas, NumPy, and Matplotlib, sets the benchmark.
Machine Learning & AI: Spearheading advancements in artificial intelligence development, Python boasts powerful tools such as TensorFlow and scikit-learn.
Automation & Scripting: Simple yet effective Python scripts offer a pathway to amplified efficiency by automating routine workflows.
Cybersecurity & Networking: The application of Python is expanding into crucial domains such as ethical hacking, penetration testing, and the automation of network processes.
How to Get Started with Python
Starting your Python journey doesn't require a computer science degree. Success hinges on a focused commitment combined with a thoughtfully structured educational approach.
Step 1: Install Python
Download and install Python from python.org. It's free and available for all platforms.
Step 2: Choose an IDE
Use beginner-friendly tools like Thonny, PyCharm, or VS Code to write your code.
Step 3: Learn the Basics
Focus on:
Variables and data types
Conditional statements
Loops
Functions
Lists and dictionaries
If you prefer guided learning, a reputable Python Institute in Kochi can offer structured programs and mentorship to help you grasp core concepts efficiently.
Step 4: Build Projects
Learning by doing is key. Start small:
Build a calculator
Automate file organization
Create a to-do list app
As your skills grow, you can tackle more complex projects like data dashboards or web apps.
How Python Skills Can Boost Your Career
Adding Python to your resume instantly opens up new opportunities. Here's how it helps:
Higher employability: Python is one of the top 3 most in-demand programming languages.
Better salaries: Python developers earn competitive salaries across the globe.
Remote job opportunities: Many Python-related jobs are available remotely, offering flexibility.
Even if you're not aiming to be a full-time developer, Python skills can enhance careers in marketing, finance, research, and product management.
If you're serious about starting a career in tech, learning Python is the smartest first step you can take. It’s beginner-friendly, powerful, and widely used across industries.
Whether you're a student, job switcher, or just curious about programming, Python for beginners can unlock countless career opportunities. Invest time in learning today—and start building the future you want in tech.
Globally recognized as a premier educational hub, DataMites Institute delivers in-depth training programs across the pivotal fields of data science, artificial intelligence, and machine learning. They provide expert-led courses designed for both beginners and professionals aiming to boost their careers.
Python Modules Explained - Different Types and Functions - Python Tutorial
youtube
#python course#python training#python#learnpython#pythoncourseinindia#pythoncourseinkochi#pythoninstitute#python for data science#Youtube
3 notes
·
View notes
Text
Musk vs NASA
I found this on Mastodon, so it’s a copypaste – please go read the original post by Amata/@[email protected] (no login required)!

I've been seeing hate on NASA lately, being bought into by leftists even, and I just want to point out something very important:
Musk has hated NASA for a *long* time. There is a reason it is being attacked, and a reason public opinion is being swayed against NASA: It *keeps SpaceX in line* more than anything else.
NASA is being seen as "competition" to SpaceX, as the obstacle in his way. It has been like this for quite some time, and now, with DOGE and other things, he can do something about it.
I would like to point out a few things:
1. SPACEX IS NOT CHEAPER They boast they can "do what NASA does for 10% the cost!" Sure, it's easy when you did none of the R&D. SpaceX saved on: Landing tech: DC-X project in 1991-1996 Tank structure: Shuttle SLWT tank, 1998-2011 Merlin Engines: direct descendant of the Fastrac Engine, 1997-2001.
Those three things alone saved SpaceX over 90% of the R&D costs. It's easy to "appear" cheap when you're using off the shelf tech someone else (NASA!) developed.
2. NASA IS GREAT FOR THE ECONOMY! For every $1 spent on NASA, $8 is put into economy. Its stupid to not invest in that kind of ROI! 800%! At times, its ROI Has been 1600%!
Simply put, if you defund NASA, the economy would shrink so much you would actually have to RAISE taxes to make up for the lost revenue, and without its existence we would be 30 years behind in technology and the quality of life for everyone would be much lower. Science and research is GOOD for society, it's the fuel for all progress.
3. WHAT HAS NASA DONE FOR ME?! (Surely you just mean NASA is good for tech & science folk....)
Nope! Good for all! Ever have an MRI or CAT Scan? They wouldn't exist without the Apollo program! The software that made them possible was originally written to analyze lunar photography.
Low power digital x-Rays was planetary body research.
Heart pumps are modeled after space shuttle turbopumps.
The software that designed your car was originally written to design spacecraft!
Who do you think pioneered all the early research into alternative power like solar panels, hydrogen fuel cells, and durable batteries? NASA!
NASA developed tech and satellites is also what improves agricultural yields while reducing the needs for water, fertilizer, and pesticides.
Do you really think Musk gives two shits? No. He wants the money, he wants to let SpaceX run amok without any oversight for safety, without any "competition".
All fights are important, but do realise that this one is a huge thorn in his side, and one that is keeping a huge problem from ballooning and swallowing us all whole.
Do not be fooled or swayed by lies, of tactics meant to divide, of things being done to make you be angry at NASA. If he can make you hate NASA, he won.
Expect far more space junk to fall, the night sky to be ruined by satellites, and the loss of all things good that proper research and design does for humanity and gives back to the world. Not to mention: enjoy seeing the horrible things he can accomplish fully unchecked.
ETA: Now that you know, call / fax / email your senators and reps, and whatever else too! Boosting gets people thinking, but thinking is not action!
5 notes
·
View notes
Text
Physics Friday #5: The Wonderful World of Programming Paradigms
Welcome to the first actual post on the dedicated blog! This will be continuing on from what I started over on my main account @oliviax727. But don't worry, I'll still repost this post over there.
Preamble: Wait! I thought this was Physics!
Education level: Primary School (Y5/6)
Topic: Computer Languages (Comp Sci)
So you may be thinking how this is relevant to physics, well it's not. But really, other adjacent fields: computer science, chemistry, science history, mathematics etc. Are really important to physics! The skills inform and help physicists make informed decisions on how to analyse theoretical frameworks, or to how physics can help inform other sciences.
I may do a bigger picture post relating to each science or the ways in which we marry different subjects to eachother, but what is important is that some knowledge of computer science is important when learning physics, or that you're bound to learn some CS along the way.
Also I can do what I want, bitch.
Introduction: What is a Programming Language?
You may have come across the term 'programming paradigm' - especially in computer science/software engineering classes. But what is a programming paradigm really?
Computers are very powerful things, and they can do quite a lot. Computers are also really dumb. They can't do anything unless if we tell them what to do.
So until our Sky-net machine overlords take control and start time-travelling to the past, we need to come up with ways to tell them how to do things.
Pure computer speak is in electrical signals corresponding to on and off. Whereas human speak is full of sounds and text.
It is possible for either one to understand the other (humans can pump electrical signals into a device and computers can language model). But we clearly need something better.
This is where a programming language comes in. It's basically a language that both the computer and the human understands. So we need a common language to talk to them.
It's like having two people. One speaks Mandarin, the other speaks English. So instead of making one person learn the other's language, we create a common language that the two of them can speak. This common language is a synthesis of both base languages.
But once we have an idea of how to communicate with the computer, we need to consider how we're going to talk to it:
How are we going to tell it to do things?
What are we going to ask it to do?
How will we organise and structure our common language?
This is where a programming paradigm comes in - a paradigm is a set of ideas surrounding how we should communicate with a device. It's really something that can truly only be understood by showing examples of paradigms.
Imperative vs. Declarative
The main two paradigms, or really categories of paradigms, are the imperative vs. declarative paradigm.
Imperative programming languages are quite simple: code is simply a set of instructions meant to tell the computer specifically what to do. It is about process, a series of steps the computer can follow to get some result.
Declarative programming languages are a bit more vapid: code is about getting what you want. It's less about how you get there and more about what you want at the end.
As you can see imperative programs tell the computer how to do something whereas declarative programs are about what you want out.
Here's an example of how an imperative language may find a specific name in a table of company data:
GET tableOfEmployees; GET nameToFind SET i = 0; WHILE i < tableOfEmployees.length: IF tableOfEmployees[i].firstName == nameToFind THEN: RETURN tableOfEmployees[i] AND i; ELSE: i = i + 1; RETURN "employee does not exist";
And here's that same attempt but in a declarative language:
FROM tableOfEmployees SELECT * WHERE firstName == INPUT(1);
Note that these languages aren't necessarily real languages, just based on real-life ones. Also please ignore the fact I used arrays of structures and databases in exactly the same way.
We can see the difference between the two paradigms a lot more clearly now. In the imperative paradigm, every step is laid out clear as day. "Add one to this number, check if this number is equal to that one".
Under the declarative paradigm, not only is the text shorter, we also put all of the instructions about how to do a task under the rug, we only care about what we want.
With all this, we can see an emerging spectrum of computer paradigms. From languages that are more computer-like, to languages that are more English-like. This is the programming languages' level:
Lower level languages are more likely to be imperative, as the fundamental construction of the computer relies on a series of instructions to be executed in order.
The lowest level, the series of electrical signals and circuitry called microcode is purely imperative in a sense, as everything is an instruction. Nothing is abstracted and everything is reduced to it's individual components.
The highest level, is effectively English. It's nothing but "I want this", "I'd like that". All of the processes involved are abstracted in favour of just the goal. It is all declarative.
In the middle we have most programming languages, what's known as the "high level languages". They are the best balance of abstraction of reduction, based on what you need to use the language for.
It's important that we also notice that increasingly higher-level and increasingly more declarative the language gets, the more specific the purpose of the language becomes.
Microcode and machine code can be used for effectively any purpose, they are the jack-of-all trades. Whereas something like SQL is really good at databases, but I wouldn't use it for game design.
As long as a language is Turing-complete, it can do anything any computer can do, what's important is how easy it is to program the diverse range of use-cases. Assembly can do literally anything, but it's an effort to program. Python can do the same, but it's an effort to run.
Imperative Paradigms: From the Transistor to the Website
As mentioned previously, the imperative paradigm is less a stand-alone paradigm but a group of paradigms. Much like how the UK is a country, but is also a collection of countries.
There are many ways in order to design imperative languages, for example, a simple imperative language from the 80's may look a lot like assembly:
... ADD r1, 1011 JMZ F313, r1
The last statement JMZ, corresponds to a "Jump to the instruction located at A if the value located at B is equal to zero" what it's effectively saying is a "Repeat step 4" or "Go to question 5" type of thing.
Also known as goto statements, these things are incredibly practical for computers, because all it requires is moving some electrical signals around the Registers/RAM.
But what goto statement is used as in code, is really just a glorified "if x then y". Additionally, these statements get really irritating when you want to repeat or recurse over instructions multiple times.
The Structured Paradigm
Thus we introduce the structured paradigm, which simply allows for control structures. A control structure is something that, controls the flow of the programs' instructions.
Control structures come in many forms:
Conditionals (If X then do Y otherwise do Z)
Multi-selects (If X1 then do Y1, if X2 then do Y2 ...)
Post-checked loops (Do X until Y happens)
Pre-checked loops (While Y, do X)
Counted Loops (For i = A to B do X)
Mapped Loops (For each X in Y, do Z)
These control structures are extra useful, as they have the added benefit of not having to specify what line you have to jump to every time you update previous instructions. They may also include more "safe" structures like the counted or mapped loop, which only executes a set amount of time.
But we still have an issue: all our code is stuffed into one file and it's everywhere, we have no way to seperate instructions into their own little components that we might want to execute multiple times. Currently, out only solution is to either nest things in far too many statements or use goto statements.
The Procedural Paradigm
What helps is the use of a procedure. Procedures are little blocks of code that can be called as many times as needed. They can often take many other names: commands, functions, processes, branches, methods, routines, subroutines, etc.
Procedures help to organise code for both repeated use and also it makes it easier to read. We can set an operating standard of "one task per subroutine" to help compartmentalise code.
Object-Oriented Code
Most of these basic programming languages, especially the more basic ones, include the use of data structures. Blocks of information that holds multiple types of information:
STRUCT Person: Name: String Age: Integer Phone: String Gender: String IsAlive: Boolean
But these structures often feel a bit empty. After all, we may want to have a specific process associated uniquely with that person.
We want to compartmentalise certain procedures and intrinsically tie them to an associated structure, preventing their use from other areas of the code.
Like "ChangeGender" is something we might not want to apply to something that doesn't have a gender, like a table.
We may also want to have structures that are similar to 'Person' but have a few extra properties like "Adult" may have a bank account or something.
What we're thinking of doing is constructing an object, a collection of BOTH attributes (variables) AND methods (procedures) associated with the object. We can also create new objects which inherit the properties of others.
Object oriented programming has been the industry standard for decades now, and it's incredibly clear as to why - it's rather useful! But as time marches forward, we've seen the popularisation of a new paradigm worthy of rivaling this one ...
Declarative Paradigms: The World of Logic
Declarative languages certainly help abstract a lot of information, but that's not always the case, sometimes the most well known declarative languages are very similar feature-wise to imperative paradigms. It's just a slight difference in focus which is important.
Functional Programming Languages
Whereas the object oriented language treats everything, or most things, like objects. A functional language uses functions as it's fundamental building block.
Functional languages rely on the operation of, well, functions. But functions of a specific kind - pure functions. A pure function is simply something that doesn't affect other parts of the computer outside of specifically itself.
A pure function is effectively read-only in it's operation - strictly read-only. The most practical-for-common-use functional languages often allow for a mixture of pure and impure functions.
A functional language is declarative because of the nature of a function - the process of how things work are abstracted away for a simple input -> output model. And with functional purity, you don't have to worry about if what takes the input to the output also affects other things on the computer.
Functional languages have been around for quite a while, however they've been relegated to the world of academia. Languages like Haskell and Lisp are, like most declarative languages, very restrictive in their general application. However in recent years, the use of functional programming has come quite common.
I may make a more opinionated piece in the future on the merits of combining both functional and object-oriented languages, and also a seperate my opinions on a particular functional language Haskell - which I have some contentions with.
Facts and Logic
The logic paradigm is another special mention of declarative languages, they focus on setting a series of facts (i.e. true statements):
[Billy] is a [Person]
Rules (i.e. true statements with generality):
If [A] is [Person] then [A] has a [Brain]
And Queries:
Does [Billy] have a [Brain]?
Logical languages have a lot more of a specific purpose, meant for, well, deductive/abductive logical modelling.
We can also use what's known as Fuzzy logic which is even more higher-level, relying on logic that is inductive or probabilistic, i.e. conclusions don't necessarily follow from the statements.
Visual and Documentation Languages
At some point, we start getting so high level, that the very components of the language start turning into something else.
You may have used a visual language before, for example, Scratch. Scratch is a declarative language that abstracts away instructions in-favour of visual blocks that represent certain tasks a computer can carry out.
Documentation languages like HTML, Markdown, CSS, XML, YML, etc. Are languages that can barely even be considered programming languages. Instead, they are methods of editing documents and storing text-based data.
Languages that don't even compile (without any significant effort)
At some point, we reach a point where languages don't even compile necessarily.
A metalanguage, is a language that describes language. Like EBNF, which is meant to describe the syntaxing and lexical structures of lower-level languages. Metalanguages can actually compile, and are often used in code editors for grammar checking.
Pseudocode can often be described as either imperative or declarative, focused on emulating programs in words. What you saw in previous sections are pseudocode.
Diagrams fall in this category too, as they describe the operation of a computer program without actually being used to run a computer.
Eventually we reach the point where what were doing is effectively giving instructions or requesting things in English. For this, we require AI modelling for a computer to even begin to interpret what we want it to interpret.
Esoteric Paradigms
Some paradigms happen to not really fall in this range form low to high level. Because they either don't apply to digital computing or exist in the purely theoretical realm.
Languages at the boundaries of the scale can fall into these classes, as microcode isn't really a language if it's all physical. And pseudocode isn't really a language if it doesn't even compile.
There are also the real theoretical models like automata and Turing machine code, which corresponds to simplified, idealised, and hypothetical machines that operate in ways analogous to computers.
Shells and commands also exist in this weird zone. Languages like bash, zsh, or powershell which operate as a set of command instructions you feed the computer to do specific things. They exist in the region blurred between imperative and declarative at the dead centre of the scale. But often their purpose is more used as a means to control a computer's operating system than anything else.
Lastly, we have the languages which don't fit in our neat diagram because they don't use digital computers in a traditional manner. These languages often take hold of the frontiers of computation:
Parallel Computing
Analog Computing
Quantum Computing
Mechanical Computing
Conclusion
In summary, there's a lot of different ways you can talk to computers! A very diverse range of paradigms and levels that operate in their own unique ways. Of course, I only covered the main paradigms, the ones most programmers are experienced in. And I barely scratched the surface of even the most popular paradigms.
Regardless, this write-up was long as well. I really wish I could find a way to shorten these posts without removing information I want to include. I guess that just comes with time. This is the first computer science based topic. Of course, like any programmer, I have strong opinions over the benefits of certain paradigms and languages. So hopefully I didn't let opinions get in the way of explanations.
Feedback is absolutely appreciated! And please, if you like what you see, consider following either @oliviabutsmart or @oliviax727!
Next week, I'll finish off our three-part series on dark matter and dark energy with a discussion of what dark energy does, and what we think it is made of!
53 notes
·
View notes