Tom's Planner

Tom's Planner

Tom's Planner is a web-based tool and application service provider for project planning, management and collaboration. == History == Tom's Planner is based on Curaçao. In November 2009, it announced its public beta launch on TechCrunch and moved out of beta in August 2010. In 2013 Tom's Planner acquired its competitor Gantto. == Software == Tom's Planner is project management software that enables the creation of project schedules (Gantt charts) using a visual perspective. Tom's Planner uses the Freemium Business Model. Users can register for a free account or choose a paid version. Tom's Planner is available in five languages and is used by thousands of users on a daily basis in more than 100 countries worldwide. Customers range from fortune 500 companies to small mom-and-pop shops. == Reviews == Tom's Planner has been reviewed by PC World, TechCrunch, Lifehacker, and several other periodicals.

Software diversity

Software diversity is a research field about the comprehension and engineering of diversity in the context of software. == Areas == The different areas of software diversity are discussed in surveys on diversity for fault-tolerance or for security. The main areas are: design diversity, n-version programming, data diversity for fault tolerance randomization software variability == Techniques == === Code transformations === It is possible to amplify software diversity through automated transformation processes that create synthetic diversity. A "multicompiler" is compiler embedding a diversification engine. A multi-variant execution environment (MVEE) is responsible for selecting the variant to execute and compare the output. Fred Cohen was among the very early promoters of such an approach. He proposed a series of rewriting and code reordering transformations that aim at producing massive quantities of different versions of operating systems functions. These ideas have been developed over the years and have led to the construction of integrated obfuscation schemes to protect key functions in large software systems. Another approach to increase software diversity of protection consists in adding randomness in certain core processes, such as memory loading. Randomness implies that all versions of the same program run differently from each other, which in turn creates a diversity of program behaviors. This idea was initially proposed and experimented by Stephanie Forrest and her colleagues. Recent work on automatic software diversity explores different forms of program transformations that slightly vary the behavior of programs. The goal is to evolve one program into a population of diverse programs that all provide similar services to users, but with a different code. This diversity of code enhances the protection of users against one single attack that could crash all programs at the same time. Transformation operators include: code layout randomization: reorder functions in code globals layout randomization: reorder and pad globals stack variable randomization: reorder variables in each stack frame heap layout randomization === Natural software diversity === It is known that some functionalities are available in multiple interchangeable implementations. This natural diversity can be exploited, for example it has been shown valuable to increase security in cloud systems.

Brendan Frey

Brendan John Frey FRSC (born 29 August 1968) is a Canadian computer scientist, entrepreneur, and engineer. He is Founder and CEO of Deep Genomics, Cofounder of the Vector Institute for Artificial Intelligence and Professor of Engineering and Medicine at the University of Toronto. Frey is a pioneer in the development of machine learning and artificial intelligence methods, their use in accurately determining the consequences of genetic mutations, and in designing medications that can slow, stop or reverse the progression of disease. As far back as 1995, Frey co-invented one of the first deep learning methods, called the wake-sleep algorithm, the affinity propagation algorithm for clustering and data summarization, and the factor graph notation for probability models. In the late 1990s, Frey was a leading researcher in the areas of computer vision, speech recognition, and digital communications. == Education == Frey studied computer engineering and physics at the University of Calgary (BSc 1990) and the University of Manitoba (MSc 1993), and then studied neural networks and graphical models as a doctoral candidate at the University of Toronto under the supervision of Geoffrey Hinton (PhD 1997). He was an invited participant of the Machine Learning program at the Isaac Newton Institute for Mathematical Sciences in Cambridge, UK (1997) and was a Beckman Fellow at the University of Illinois at Urbana Champaign (1999). == Career == Following his undergraduate studies, Frey worked as a junior research scientist at Bell-Northern Research from 1990 to 1991. After completing his postdoctoral studies at the University of Illinois at Urbana-Champaign, Frey was an assistant professor in the Department of Computer Science at the University of Waterloo, from 1999 to 2001. In 2001, Frey joined the Department of Electrical and Computer Engineering at the University of Toronto and was cross-appointed to the Department of Computer Science, the Banting and Best Department of Medical Research and the Terrence Donnelly Centre for Cellular and Biomolecular Research. From 2008 to 2009, he was a visiting researcher at Microsoft Research (Cambridge, UK) and a visiting professor in the Cavendish Laboratories and Darwin College at Cambridge University. Between 2001 and 2014, Frey consulted for several groups at Microsoft Research and acted as a member of its Technical Advisory Board. In 2002, a personal crisis led Frey to face the fact that there was a tragic gap between our ability to measure a patient's mutations and our ability to understand and treat the consequences. Recognizing that biology is too complex for humans to understand, that in the decades to come there would be an exponential growth in biology data, and that machine learning is the best technology we have for discovering relationships in large datasets, Frey set out to build machine learning systems that could accurately predict genome and cell biology. Frey’s group pioneered much of the early work in the field and over the next 15 years published more papers in leading-edge journals than any other academic or industrial research lab. In 2015, Frey founded Deep Genomics, with the goal of building a company that can produce effective and safe genetic medicines more rapidly and with a higher rate of success than was previously possible. The company has received 240 million dollars in funding to date from leading Bay Area investors, including the backers of SpaceX and Tesla.

Top 10 AI Background Removers Compared (2026)

Curious about the best AI background remover? An AI background remover is software that uses machine learning to help you get more done — it combines speed, accuracy, and an interface that just works. Hands-on testing shows real-world results vary, so a short free trial is the smartest way to decide. Whether you are a beginner or a pro, the right AI background remover slots into your workflow and pays for itself fast. This guide breaks down the top picks, their pros and cons, and who each one is best for.

Mealy machine

In the theory of computation, a Mealy machine is a finite-state machine whose output values are determined both by its current state and the current inputs. This is in contrast to a Moore machine, whose output values are determined solely by its current state. A Mealy machine is a deterministic finite-state transducer: for each state and input, at most one transition is possible. == History == The Mealy machine is named after George H. Mealy, who presented the concept in a 1955 paper, "A Method for Synthesizing Sequential Circuits". == Formal definition == A Mealy machine is a 6-tuple ( S , S 0 , Σ , Λ , T , G ) {\displaystyle (S,S_{0},\Sigma ,\Lambda ,T,G)} consisting of the following: a finite set of states S {\displaystyle S} a start state (also called initial state) S 0 {\displaystyle S_{0}} which is an element of S {\displaystyle S} a finite set called the input alphabet Σ {\displaystyle \Sigma } a finite set called the output alphabet Λ {\displaystyle \Lambda } a transition function T : S × Σ → S {\displaystyle T:S\times \Sigma \rightarrow S} mapping pairs of a state and an input symbol to the corresponding next state. an output function G : S × Σ → Λ {\displaystyle G:S\times \Sigma \rightarrow \Lambda } mapping pairs of a state and an input symbol to the corresponding output symbol. In some formulations, the transition and output functions are coalesced into a single function T : S × Σ → S × Λ {\displaystyle T:S\times \Sigma \rightarrow S\times \Lambda } . "Evolution across time" is realized in this abstraction by having the state machine consult the time-changing input symbol at discrete "timer ticks" t 0 , t 1 , t 2 , . . . {\displaystyle t_{0},t_{1},t_{2},...} and react according to its internal configuration at those idealized instants, or else having the state machine wait for a next input symbol (as on a FIFO) and react whenever it arrives. == Comparison of Mealy machines and Moore machines == Mealy machines tend to have fewer states: Different outputs on arcs (n2) rather than states (n). When implemented as electronic circuits (rather than as mathematical abstractions or code): Moore machines are safer to use than Mealy machines: Outputs change at the clock edge (always one cycle later). In Mealy machines, input change can cause output change as soon as logic is done — a big problem when two machines are interconnected – asynchronous feedback may occur if one isn't careful. Mealy machines react faster to inputs: React in the same cycle—they don't need to wait for the clock. In Moore machines, more logic may be necessary to decode state into outputs—more gate delays after clock edge. == Diagram == The state diagram for a Mealy machine associates an output value with each transition edge, in contrast to the state diagram for a Moore machine, which associates an output value with each state. When the input and output alphabet are both Σ, one can also associate to a Mealy automata a Helix directed graph (S × Σ, (x, i) → (T(x, i), G(x, i))). This graph has as vertices the couples of state and letters, each node is of out-degree one, and the successor of (x, i) is the next state of the automata and the letter that the automata output when it is instate x and it reads letter i. This graph is a union of disjoint cycles if the automaton is bireversible. == Examples == === Simple === A simple Mealy machine has one input and one output. Each transition edge is labeled with the value of the input (shown in red) and the value of the output (shown in blue). The machine starts in state Si. (In this example, the output is the exclusive-or of the two most-recent input values; thus, the machine implements an edge detector, outputting a 1 every time the input flips and a 0 otherwise.) === Complex === More complex Mealy machines can have multiple inputs as well as multiple outputs. == Applications == Mealy machines provide a rudimentary mathematical model for cipher machines. Considering the input and output alphabet the Latin alphabet, for example, then a Mealy machine can be designed that given a string of letters (a sequence of inputs) can process it into a ciphered string (a sequence of outputs). However, although a Mealy model could be used to describe the Enigma, the state diagram would be too complex to provide feasible means of designing complex ciphering machines. Moore/Mealy machines are DFAs that have also output at any tick of the clock. Modern CPUs, computers, cell phones, digital clocks and basic electronic devices/machines have some kind of finite state machine to control it. Simple software systems, particularly ones that can be represented using regular expressions, can be modeled as finite state machines. There are many such simple systems, such as vending machines or basic electronics. By finding the intersection of two finite state machines, one can design in a very simple manner concurrent systems that exchange messages for instance. For example, a traffic light is a system that consists of multiple subsystems, such as the different traffic lights, that work concurrently.

Luminance HDR

Luminance HDR, formerly Qtpfsgui, is graphics software used for the creation and manipulation of high-dynamic-range images. Released under the terms of the GPL, it is available for Linux, Microsoft Windows, and Mac OS X (Intel only). Luminance HDR supports several High Dynamic Range (HDR) as well as Low Dynamic Range (LDR) file formats. == Functionality == Prerequisite of HDR photography are several narrow-range digital images with different exposures. Luminance HDR combines these images and calculates a high-contrast image. In order to view this image on a regular computer monitor, Luminance HDR can convert it into a displayable LDR image format using a variety of methods, such as tone mapping. Currently fifteen different tone mapping operators (algorithms) are available, each one with its tunable parameters. Different image processing techniques can be applied to the generated HDR images, such as resizing, cropping, rotating and a number of projective transformations. The software also provides batch processing functionality for creating HDR images and for tone mapping them in a non-interactive way. A module for copying Exif data among sets of images is also provided. For users who prefers the command line, a non-GUI, non-graphical interface is also available on all supported platforms. A common problem with HDR photography is that images need to be aligned exactly. If the subject is static, this can be achieved using a tripod or a stable surface on which the camera is placed. In the case of image data that does not align exactly, an automatic alignment can be performed using a tool provided by the Hugin project. If this automation doesn't provide the desired result, the user may improve it manually. == Supported formats == HDR images are images with a high dynamic range and, using Luminance HDR, they can be created as well as edited. The following HDR graphic formats are supported: OpenEXR Radiance HDR Tag Image File Format (TIFF) Format: 16 Bit, 32 Bit (Float) and LogLuv Raw PFS native Luminance HDR can create an HDR image from several LDR images and tonemap an HDR into an LDR. The following LDR formats are supported: JPG PNG Portable Pixmap (PPM) Portable Bitmap (PBM) TIFF (8 Bit)

Top 10 AI Chatbots Compared (2026)

Shopping for the best AI chatbot? An AI chatbot is software that uses machine learning to help you get more done — it keeps getting smarter as the underlying models improve. Pricing, accuracy, and the size of the model behind the tool are the three factors that most affect daily usefulness. Whether you are a beginner or a pro, the right AI chatbot slots into your workflow and pays for itself fast. Below we compare features, pricing, and real output so you can choose with confidence.