xmake is a lightweight cross-platform build tool based on Lua. It uses xmake.lua to maintain project builds. Compared with makefile/CMakeLists.txt, the configuration syntax is more Concise and intuitive, very friendly to novices, can get started quickly in a short time, allowing users to focus more on the actual project development.
With the continuous iterative development of xmake in recent years, xmake has harvested 2.9K stars, 300+ forks, 30+ contributors on Github, and handled 900+ issues, 5400+ Commits, and active users are also growing.
Now, the xmake v2.3.7 version is released. In the new version, we mainly improved the stability and compatibility of xmake itself. Through two months of continuous iteration, we have fixed various user feedback problems, user experience and The stability has been greatly improved.
In addition, we also added support for TinyC and Emscripten (WebAssembly) compilation tool chains in this version.
Especially for the windows platform, we provide an additional xmake-tinyc installation package, which has a built-in tinyc compiler, so that users can completely escape the bloated vs environment, one-click installation, out of the box, only 5M installation package is needed Simple C programs can be developed, and a complete set of winapi header files are also included.
Finally, we also improved the trybuild mode compilation. Through xmake, third-party projects maintained by autotools/cmake can be quickly compiled, and cross-compilation environments such as android/ios/mingw can be quickly connected to achieve rapid migration and compilation.
New feature introduction
More diverse installation methods
In the new version, we submitted the xmake installation package to windows winget and ubuntu ppa repositories, we can install xmake more conveniently and quickly.
Winget installation
winget install xmake
Ubuntu PPA installation
sudo add-apt-repository ppa:xmake-io/xmake
sudo apt update
sudo apt install xmake
Of course, we also support many other installation methods. For detailed installation methods for other platforms, see: Installation Document.
Richer toolchain support
Currently we have supported a lot of toolchain environments, and in this version, we have added support for TinyC and Emscripten (WebAssembly) compilation toolchains. We can quickly switch to the corresponding toolchain to compile with the following command.
xmake f --toolchain=[tinyc|emscripten]
xmake
In the new version, we also provide two additional installation packages, built-in and integrated TinyC compilation environment, the entire installation package only needs 5M, and also contains winsdk api.
The installation package can be found in the github/releases directory of xmake.
Through this installation package, we can completely get rid of the bloated vs development environment (several G) by compiling and developing C programs, realize one-click installation, and use it out of the box. It is very useful for us to brush leetcode and write some C test code. Yes, there is no need to install the entire vs for this particular installation.
In addition, if we want to view all toolchains supported by xmake, we can execute the following command, and the compilation configuration of xmake f -p cross --sdk=/xxx
can support more general cross toolchains.
$ xmake show -l toolchains
xcode Xcode IDE
vs VisualStudio IDE
yasm The Yasm Modular Assembler
clang A C language family frontend for LLVM
go Go Programming Language Compiler
dlang D Programming Language Compiler
gfortran GNU Fortran Programming Language Compiler
zig Zig Programming Language Compiler
sdcc Small Device C Compiler
cuda CUDA Toolkit
ndk Android NDK
rust Rust Programming Language Compiler
llvm A collection of modular and reusable compiler and toolchain technologies
cross Common cross compilation toolchain
nasm NASM Assembler
gcc GNU Compiler Collection
mingw Minimalist GNU for Windows
gnu-rm GNU Arm Embedded Toolchain
envs Environment variables toolchain
fasm Flat Assembler
tinyc Tiny C Compiler
emcc A toolchain for compiling to asm.js and WebAssembly
TryBuild compilation mode improvement
The so-called trybuild mode is a feature introduced by xmake that adapts to existing third-party build systems, because most existing third-party projects are maintained by third-party build systems such as autotools/cmake. If they are migrated to xmake The cost of migration is relatively high for configuration.
Although the configuration of xmake is very easy to use, there is no need to change the build system for projects that have been stably maintained. xmake is mainly used for the construction and maintenance of some new projects.
Based on this background, xmake adopts the trybuild compilation mode, which is the so-called trial compilation mode, which automatically detects the build system of third-party projects. If it detects that the project is maintained by autotools, it will automatically call ./configure; make
to compile.
If a project maintained by cmake is detected, cmake is automatically called to generate makefile/build.ninja to compile. For users who use xmake, the compilation can always be completed by just executing the command xmake, for example:
$ xmake
note: configure found, try building it or you can run `xmake f --trybuild=` to set buildsystem (pass -y or --confirm=y/n/d to skip confirm)?
please input: y (y/n)
y
...
CC src/pcre2grep-pcre2grep.o
CC src/libpcre2_8_la-pcre2_auto_possess.lo
CC src/libpcre2_8_la-pcre2_config.lo
...
build ok!
After xmake detects the autotools build system, it will prompt the user if you need to try to call autotools to compile. After typing y to confirm, you can directly complete the compilation. For cmake projects, you only need to execute the same xmake
command.
You don’t need to care about how autotools/cmake needs to be configured, used and compiled. After all, cmake needs to generate different build files for windows and linux platforms. The compilation methods are also different. One will call make and the other will call msbuild. Big.
Not only that, xmake also docked with xmake -r
to directly recompile, docked with xmake clean
to achieve unified file cleaning, and docked with xmake -v
to achieve unified detailed compilation command viewing.
TryBuild’s cross-compilation support
If it’s just the compilation of the current host platform, you might say, what’s the matter, cmake also has cmake --build .
to compile directly, it is not too troublesome.
So the question is, how to do cross compilation? If you have used autotools/cmake to cross-compile and generate mingw/android/ios target programs, can cmake and autotools still handle it simply and consistently?
Autotools will not say much, anyway, I hate its cross-experience. Every time I cross-compile and transplant a code with an autotools project, it takes a long time. I often have to package various errors and study the transfer of various configuration parameters. Different platforms have different configurations.
And cmake I don’t think it’s easy to use, for example, for the Android platform, I have to do it like this:
$ cmake \
-DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=$ABI \
-DANDROID_NATIVE_API_LEVEL=$MINSDKVERSION \
$OTHER_ARGS
For the ios platform, I did not find a short-answer configuration method, but found a third-party ios toolchain configuration, which is very complicated: https://github.com/leetal/ios-cmake/blob/master/ios.toolchain.cmake
For mingw, it is another way. I have been tossing about the environment for a long time, which is very tossing.
Then if you use xmake to dock cmake to achieve cross-compilation, you only need to do this.
Compile the android program:
xmake f -p android --trybuild=cmake --ndk=/xxx
xmake
Compile the ios program:
xmake f -p iphoneos --trybuild=cmake
xmake
Compile the mingw program:
xmake f -p mingw --trybuild=cmake --mingw=/sdk/xxx
xmake
When we only need to configure, enable cmake’s try-compilation mode through --trybuild=cmake
, and then switch to the corresponding platform through -p android/iphoneos/mingw
, dock the corresponding SDK, and you can use the same method To quickly implement cross-compilation, even if this project is maintained by cmake.
The user does not need to be concerned. If you use cmake to transfer the configuration of different toolchains, xmake will automatically handle it for you. You only need to execute xmake to compile, or execute xmake -r
to recompile, or view compilation details xmake -v
.
In addition, you can quickly switch the build architecture by xmake f -p iphoneos -a arm64 --trybuild=cmake
.
Finally, we need to explain that although trybuild mode can greatly help users save compilation and configuration operations, if the conditions are run, we still hope that everyone can directly use xmake.lua to maintain their projects.
In this way, there is no need to compile with trybuild, and xmake will support cross-compilation more perfectly, because internal xmake will directly compile the project without calling cmake, autotools and other tools, for example:
xmake f -p iphoneos
xmake
or
xmake f -p android --ndk=/xxx
xmake
As you can see, this time we omit the --trybuild=cmake
parameter, because we don’t need it, we compile directly. At this time, xmake is equivalent to independent make/ninja and does not rely on make at all, and the compilation speed is also Can be completely comparable to ninja.
Improve the integration of remote dependency packages
Cross compilation support
xmake not only supports mingw/autotools cross-compilation support for trybuild, but also supports cross-compilation installation and integration for third parties maintained by cmake/autotools in remote package warehouses.
E.g:
add_requires("pcre2")
target("test")
set_kind("binary")
add_files("src/*.cpp")
add_packages("pcre2")
Then by switching to the iphoneos platform, you can quickly integrate and install the pcre2 package of the iphoneos platform, and then compile and link it, even if the pcre2 package is maintained by autotools/cmake.
xmake f -p iphoneos
xmake
Private network package warehouse
In this version, we have also made some improvements to the integration of remote dependency packages. For example, you can switch to private network mode by configuring xmake g --network=private
.
This is mainly used for some company’s internal network through xmake’s self-built package management warehouse to achieve closed C/C++ dependency package integration, and will not rely on packages from the official warehouse provided by xmake.
Recursively export installed packages
xmake previously provided a command to export all third-party dependency packages installed by xmake.
xmake require --export
However, the previous version corresponds to some packages that have dependencies. When exporting, only itself will be exported, and all its dependencies will not be exported. In this version, we have improved it and will also perform all corresponding dependent packages.了export.
Improve support for Qt SDK environment
In addition, this version also provides better support for the Qt SDK toolchain environment. For example, the Qt SDK toolchain installed by the apt command under the ubuntu system is also supported, while the previous version can only support downloading and installing from the Qt official website The Qt SDK environment.
Changelog
New features
- #2941: Add support for winget
- Add xmake-tinyc installer without msvc compiler for windows
- Add tinyc compiler toolchain
- Add emcc compiler toolchain (emscripten) to compiling to asm.js and WebAssembly
- #947: Add
xmake g --network=private
to enable the private network
Change
- #907: Improve to the linker optimization for msvc
- Improve to detect qt sdk environment
- #918: Improve to support cuda11 toolchains
- Improve Qt support for ubuntu/apt
- Improve CMake project generator
- #931: Support to export packages with all dependences
- #930: Support to download package without version list directly
- #927: Support to switch arm/thumb mode for android ndk
- Improve trybuild/cmake to support android/mingw/iphoneos/watchos toolchains


This visualization is a tree-like data structure arrangement of data called "Collapsible Indented Tree". An Indented Tree is a visualization technique that has been widely used to organize information, visualize graph-structured data, and to achieve an overview representation of an entire hierarchy.
Data for this visualization was extracted from The Internet Movie Database (IMDb). It includes information three of my favorite TV Series currently airing: running times, average user ratings and a synopsis.
If you're planning a binge-watching weekend, don't want to spend too much time going through user reviews and ratings, or simply just can't decide what to watch, this one might just be your go-to visualization.
There are a couple of things you need to know in order to understand this visualization's information:
- Each bar is a tree node, a blue bar represents a TV Series, an orange bar represents a Season, and a green bar represents an Episode.
- Higher color saturation in a bar (tree node) means a higher average rating for a particular Series/Season/Episode compared to another in its same level.
- Larger bars means greater total running times for a particular Season/Episode compared to another in its same level.
To start navigating the data and go deeper into the hierarchy, just click on the "My favorite TV Series" bar below.
This visualization is based on Lars Kotthoff’s “Collapsible Indented Tree” visualization which can be found here
Source data for this visualization can be found at The Internet Movie Database (IMDb).


Abstraction
Since bicycles entered the human history, they have been helping improve human beings’ lives in many aspects. They offer a cheaper, healthier way for people to travel around the city and provides a solution to better environments. Therefore, It is very necessary to understand which part of the city has occurred more bicycle thefts and we need to be careful when entering these areas so as to reduce the chances of getting our friend stolen.
Introduction
As people have noticed, bicycles are playing a very important role in our lives. We use them for commuting, cardio exercising and even sightseeing. Therefore, it is necessary to protect our bicycles from incidents like being stolen. Besides physical protection like stronger bicycle locks, I feel like we need to know a little knowledge about which areas of the city that bicycles are more likely to be stolen so as we should be more cautious when entering these areas.
To start with, I use a data set called “Bicycle Thefts” from the open data portal of Toronto to help with my study. This data set records information of all the bicycle thefts reported from year 2014 to 2019. Since I am more interested in the areas where the thefts occur, I choose to make a bar plot with information under “Division” section. It is surprising that there were more bicycle theft events happening in division 14, 51 and 52, with nearly 4000 counts respectively. By checking the “Toronto Police Service” website, I figure out that these three divisions cover almost the entire downtown area of Toronto, which means we should always be more careful when leaving our bicycles alone in downtown area. Also, I plot the bar plot of the colors of the stolen bikes to see if there is a relation. The result shows there are several colors which appear way more often than others, which means there is a relation between stolen bikes and their colors.
In general, in order to protect our bicycles better, we should always be careful when leaving them in downtown area, even for a short amount of time as less than 10 percent of these stolen bicycles have been recovered according to the police. The weakness of this study is that there may be bicycle thefts not reported to the police or people may not inform the police whether they find their bicycle, which leads to an influence on accuracy of the data. In the future, people should look after their bikes better with stronger protections since bicycles improve our life qualities.
I obtain the graphs with following codes in RStudio Cloud. However, I am not able to knit it to PDF because there is error showing up. I cannot figure out why. Thus, I cannot show the graph since Rstudio seems not to allow inserting graphs or screenshots directly. But I copy and paste the codes below to prove what I am trying to do.
#Codes
install.packages(“opendatatoronto”) install.packages(“tidyverse”) library(opendatatoronto) library(tidyverse) list_packages()
bicycle_thefts_packages <- search_packages(“bicycle thefts”) bicycle_thefts_resources <- bicycle_thefts_packages %>% list_package_resources() bicycle_thefts_resources
bicycle_thefts_statistic <- bicycle_thefts_resources %>% get_resource() bicycle_thefts_statistic
bicycle_thefts_statistic %>% ggplot(aes(x= Division))+geom_bar() bicycle_thefts_statistic %>% ggplot(aes(x=Status))+geom_bar() bicycle_thefts_statistic %>% ggplot(aes(x=Bike_Colour))+geom_bar()
#References: - R Core Team (2020). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/. - Wickham et al., (2019). Welcome to the tidyverse. Journal of Open Source Software, 4(43), 1686, https://doi.org/10.21105/joss.01686 - Toronto Police Services<EMAIL_ADDRESS>- http://www.torontopolice.on.ca/divisions/map.php


Do you have corrected vision?
Do you know your vision rating or prescription?_______________________________________________________________________________________________________________________________________
Do you wear contact lenses?
Do you use transdermal patches (nicotine) or any type of medicated adhesive?

Date & Description:___________________________________________________________________________________________________________________________________________________
Have you ever had surgery or a similar invasive procedure?
Date & Description:_____________________________________________________________________________________________________________________________________________
Have you ever had heart surgery?
Date & Description:_____________________________________________________________________________________________________________________________________________
Do you have a Pacemaker?
Do you have an implanted cardiac defibrillator?
Do you have an artificial heart valve or stent?
Do you have cardiac pace wires?
Do you have an IVC (inferior vena cava) filter?

Date & Description:_____________________________________________________________________________________________________________________________________
Do you have brain aneurysm clips or coils?
Do you have a VP (ventriculoperitoneal) shunt?
Have you ever had eye surgery? (Lasik is O.K.)
Date & Description:_____________________________________________________________________________________________________________________________________
Do you have lens implants?
Do you wear dentures?
Have you ever had ear surgery?
Do you have a cochlear implant or stapes prosthesis?
Do you wear a hearing aid?

Date & Description:______________________________________________________________________________________________________________________________________________
Do you have any implanted devices of any type?
Description:______________________________________________________________________________________________________________________________________________
Do you have breast or penile implants?
Do you have tissue expanders?
Do you have implanted electrodes?
Do you have a pump or shunt implanted? (e.g., drug infusion device)?
Do you have neurostimulator or biostimulators implanted?
Did you have a colonoscopy or endoscopy in the last 8 weeks? (If so, was anything removed?)
Date & Description:___________________________________________________________________________________________________________________________________________
Do you have any dental or orthodontic implants? (Fillings are O.K.)
Date & Description:___________________________________________________________________________________________________________________________________________
Do you have any type of prosthesis?
Date & Description:___________________________________________________________________________________________________________________________________________
Do you have any type of orthopedic implant (e.g., pins, rods, screws, nails)?
Date & Description:___________________________________________________________________________________________________________________________________________
Do you have any permanent cosmetics (e.g., eyeliner)?
Do you have any tattoos on your upper body?
Where/Extent? _______________________________________________________________________________________________________________________________________
Do you have any body piercing(s) that can’t be removed?
Where? ______________________________________________________________________________________________________________________________________________
Do you have a history of any metal in your body?
Have you every worked as an occupational metal grinder or worked with metal as a hobby?
Do you have metal in your body from an accident?
Description:_________________________________________________________________________________________________________________________________________
Do you have metal in your body from a surgery?
Description:_________________________________________________________________________________________________________________________________________
Have you ever sought medical attention for metal in your eyes or had metal fragments removed from your eyes?
Description:_____________________________________________________________________________________________
Have you ever been struck by a gun shot, B.B. or shrapnel? (If BB, did it break the skin?)
Have you ever experienced claustrophobia?
Do you have sleep apnea or trouble breathing when you sleep?

(Day of scan, adults) Did you or will you take medicine for claustrophobia?
If yes, do you or will you have a driver?
(Day of scan, adults) Have you ingested alcohol or other drugs in the last four hours?
(Female only) Are you or is there a chance you are pregnant?
(Female only) Do you have an intrauterine device (IUD)?
If yes, was the procedure done in the United States?


Regional councils' integrity committees attend two-day induction session
Regional Councils' Integrity Committees are now capacitated to deal with ethical, integrity and corruption issues in the public services.
Five regional councils' integrity committees attended a two-day induction session at Oshakati and were taken through existing mechanism within their institutions.


Email has grown from a tool for communication to one that also encompasses task management, notifications, and a personal information repository. However, current email clients are not flexible or powerful enough to handle users’ myriad needs for email. To address users' demand, we aim to redesign emails ranging from programmable personal inbox to community-wide mailing-list.
Inspired by the history of the user interface for personal computing, we are developing new interaction models for personal fabrication. Instead of working through a digital 3D editor, we propose to let users work hands-on on the physical workpiece and to update the physical object after every editing step. Our long-term vision is to enable direct manipulation for physical matter in the same way as we today manipulate digital data on touch-devices, such as the iPad.
Even though considered a rapid prototyping tool, 3D printers are so slow that a reasonably sized object requires printing overnight. This slows designers down to a single iteration per day. Our concept called Low-fidelity fabrication speeds up design iteration by printing intermediate versions of a prototype as fast, low-fidelity previews. Only the final version is fabricated as a full 3D print.
Gitless is an experimental version control system built on top of Git. Many people complain that Git is hard to use. We think the problem lies deeper than the user interface, in the concepts underlying Git. Gitless is an experiment to see what happens if you put a simple veneer on an app that changes the underlying concepts. Because Gitless is implemented on top of Git (could be considered what Git pros call a "porcelain" of Git), you can always fall back on Git. And of course your coworkers you share a repo with need never know that you're not a Git aficionado.
For decades, 'software design' has been about the internal structure of the code. Recently though, with the growing interest in design thinking, practitioners and researchers have started focusing more on the design of the behavior of the software. The behavior not only determines the user experience, but also shapes the implementation in fundamental ways. In this project, we are developing a radical new approach to software design that focuses on this aspect. The key idea is the identification of conceptual constructs that embody the key behavioral features of the application. To realize the goal of a new design method for software, we analyze existing systems and applications and develop new ones, polishing our design theory in response to what we learn from case studies.
Espalier (formerly Object Spreadsheets) is a new computational paradigm that combines the usability advantages of spreadsheets with SQL-like expressive power, providing a way to build a wide class of interactive applications more easily than with existing tools. Nearly every organization is responsible for processes that involve collection and manipulation of structured data subject to certain rules; in CSAIL and EECS alone, examples range from a milk pool that tracks whose turn it is to buy milk next to the graduate admissions process. The Espalier tool can be used to build organizational applications that support these processes by letting users view and update data subject to the applicable constraints. Espalier seeks to provide an integrated visual environment to construct the schema, data, and logic that is natural enough to appeal to end-user developers yet general enough to conveniently express arbitrary logic.
Wait-learning encourages users to learn during times when they would otherwise be waiting, by automatically detecting waiting moments and presenting educational exercises during that time. Combining wait time with productive work opens up a new class of software systems that overcome the problem of limited time by making use of existing wait time for productive activities. Examples of wait-learning moments used by our systems include elevator waiting, waiting during pull-to-refresh, waiting for wifi to connect, waiting for email to finish sending, and waiting for instant message replies.
Communication often has a pictorial component, as for example when designers (of many sorts) sketch, or stand at a whiteboard, drawing, gesturing, and talking about their designs. We want the whiteboard to be smart enough to understand that interaction, i.e., understand the sketches, the gestures, and the speech, and be able to draw, gesture and talk in response, as style we call symmetric multimodal interaction.
For many years neuropsychologists have tested people's cognitive status by having them draw simple diagrams. We have been administering these tests using a digitizing ballpoint pen, then analyzing this data using a variety of sophisticated techniques from sketch understandig, machine learning, and signal processing. This research has uncovered very subtle, previously unknown movements made when drawing that are indicative of cognitive status.
Covers design and implementation of software systems, using web applications as the platform. Emphasizes the role of conceptual design in achieving clarity, simplicity, and modularity. Students complete open-ended individual assignments and a major team project. Enrollment may be limited.
Teaches how to build cutting edge interactive technologies and provides an overview of each field. Topics covered include multitouch, augmented reality, haptics, wearables, brain computer interfaces, tangibles, fabrication, and more.
Interdisciplinary, project-based course in which small teams of students work closely with a person with a disability in the Boston/Cambridge area to design a device, piece of equipment, app, or other solution that helps them live more independently.
Topics include basic technologies for handling speech, vision, pen-based interaction, and other modalities, as well as various techniques for combining modalities. Substantial readings and a term project, where students build an interface.
Interactive visualization provides a means of making sense of a world awash in data. This course covers the techniques and algorithms for creating effective visualizations, using principles from graphic design, perceptual psychology, and cognitive science. Short assignments will build familiarity with the data analysis and visualization design process, and a final project will provide experience designing, implementing, and deploying an explanatory narrative visualization or visual analysis tool to address a concrete challenge.
📅 Tuesdays, 1pm - 2pm 📍 Zoom 🔓 Open to the public 📫 Subscribe ✉ Contact 📅 Calendar
As a PhD student: apply to the MIT EECS PhD program by December 15.
As a postdoc or UROP/SuperUROP/MEng: email individual faculty directly.


Cloud Computing's Free Lunch
One of my mother’s favortite sayings is “There’s no such thing as a free lunch” Generally that’s a pretty good rule to live buy. If it looks like your being offered something for nothing then take a second look. You’ll almost always end up paying somewhere down the line. However, when it comes to cloud computing a ‘Free Lunch’ may become a very real possibility.
Amazon, Microsoft and Google are engaged in a battle for market share and customer loyalty which has seen the price of basic computing resources decline preciptously over recent years. Therein lies the free lunch. However, each of them expects to monetize this growing customers base buy charging for higher level services. There’s the rub. Maximizing the free lunch oportunity will require smart customers to figure out how to dine inexpensively while limiting consumption of that expensive bottle of wine.
The price of the basic components of computing - CPU, disk storage and memory - as delieverd by the major cloud providers such as Amazon, Microsoft and Google - has had a tremendous downard trajectory. Amazon trumpets the fact that its most recent instance price decreases were its 42nd such reduction since 2008. Microsoft and Google have continued to match Amazon’s pricing declines.
The ongoing decline in the price of the raw materials of cloud computing shows no signs of slowing down which leaves one to draw the conclusion that - within some reasonable time horizon - the price will approximate zero - or as close as makes no difference. Clearly not even the global scale economics of Amazon, Microsoft or Google enable you to give away computing for free, so what’s going on?
My First Law of Platform Economics states that “Value alway moves up the stack” IE. It is always the case that the lower layers of any generation of platform archiecture eventually become comoditized and therefore value tends to be extracted by monetizing services higher and higher in the stack over time. Once upon a time you could make money selling operating systems, then databases and then line-of-business applications. This was the trajectory of the last ‘client-server’ wave of technology. Cloud is no different.
It’s very likely that the three behemoths of the global cloud ecosystem are using thier scale to drive pricing of the raw materials to zero. This is to their significant advantage as it creates a huge pricing barrier to entry for smaller less-scaled players. Being able to amortize very sizeable capital investments and operational costs over a rapidly growing customer base helps them. Forgoeing margins - profitability - to secure maket share and a growing subscriber base is exactly the right strategy now but ultimately it will need to be supplanted by a strategy which extracts value from those captured customers.
This - admitedly somewhat dated - set of charts from GigaOm paints a very clear picture of how Amazon see thier strategy unfolding. In short Amazon are giving away the raw materials beacuse they’re betting that eventually customers will pay for higher level services - value always moves up the stack.
The set of services Amazon are building out include data and media processing pipelines, analytics services and the like. At some point it would not be surprinsing to see them offer what we would think of today as full line-of-business solutions. The strategy from Google, Microsoft and others is likely to be no different. So what is it going to take to maximize this opportunity?
Customers wanting to take advantage of ongoing declines in computing resource pricing - while avoiding the expense of higher level services - require a strategy that lets them consume raw computing resources at an ever declining cost while insulating themselves from the need to buy into costly higher level services.
The default choice for most organizations will be to build new cloud based applications ‘Natively’ on a specific cloud providers fabric. On the surface this strategy is appealing but has the significant disavantage of binding workloads directly to API’s native to that fabric. In effect customers would end up merely substituting one set of - legacy - vendor dependecies with another. Once built natively the lifecycle costs of managing these new workloads will be bound to the cloud vendors unique monetization strategy.
A ‘Free lunch’ strategy requires the ability to decouple new cloud based application workloads from dependence on any one infrastructure vendor. This approach requires customers to take control of the platform layer between applictaions and the underlying infrastructure. The decoupling afforded by a new generation of Platform as a Service (PaaS) offerings such as Cloud Foundry is a good starting point.
Building on top of a service platform which is decoupled from the underlying infrastructure will enable customers to keep control of thier own destiny. Every organization will need to make an appropriate economic analysis of this new buy vs. build dynamic. But there’s no escaping the imperative for cloud infrastructure vendors to evenutally monetize higher level services to pay for the raw materials they are giving away for free.
Customer’s whose strategies maximize choice and reduce thier dependence on any one specific cloud provider’s offerings will be best positioned to take advantage of what is likley to become a free lunch opportunity.


Reports field accesses of a super class where a local variable, parameter or field of the same name is available
in the surrounding class. In this case a cursory reader of the code may think that a variable in the surrounding class is
accessed, when in fact a field from the super class is accessed. To make the intent of the code more clear it is recommended to add a
this qualifier to the field access call.
Example:
class X {
protected String s;
}
class Y {
void foo(String s) {
new X() {{
System.out.println(s); // problem indicated here
}}
}
}
New in 11, Powered by InspectionGadgets


Gold rises as Sino-U.S. trade deal doubts resurface
by ReutersGold inched up to its highest in more
than 1-1/2 weeks on Tuesday, as fresh doubts about a trade deal
between the United States and China dented appetite for riskier
assets.
FUNDAMENTALS
* Spot gold rose 0.2% to $1,473.04 per ounce by 0105
GMT. It had hit the highest level since Nov.7 at $1,475.40.
* U.S. gold futures edged up 0.2% to $1,474.10 per
ounce.
* Citing a government source, CNBC reported that Beijing was
pessimistic about a trade deal with the United States, troubled
by President Donald Trump’s comments that there was no agreement
on rollback of tariffs.
* Asian shares started Tuesday softer as another day
awaiting clearer news on the progress of trade negotiations
between the two major economies weighed on jaded investors’
sentiment.
* The United States is gravely concerned about deepening
political unrest and violence in Hong Kong, Secretary of State
Mike Pompeo said, urging the city’s government to tackle public
concerns and China to honor its promises of liberties.
* China’s top legislature said Hong Kong courts had no power
to rule on the constitutionality of legislation under the Asian
financial hub’s Basic Law, which includes a proposed ban on face
masks, state news agency Xinhua said.
* The dollar held close to a two-week low, with
demand hurt by receding hopes for a preliminary trade truce.
* Trump and Federal Reserve Chair Jerome Powell met at the
White House on Monday, “to discuss the economy, growth,
employment and inflation,” two days before the Fed is set to
release the minutes of the year’s last policy meeting.
* Canadian miner Barrick Gold Corp is keen to top
its $1.5 billion target for asset sales after shedding its half
of the Super Pit gold mine in Western Australia, Chief Executive
Officer Mark Bristow said.
* SPDR Gold Trust , the world’s largest gold-backed
exchange-traded fund, said its holdings fell 0.56% to 891.79
tonnes on Monday from 896.77 tonnes on Friday.
* Bank of Japan Governor Haruhiko Kuroda said the bank would
keep its monetary policy bias towards additional easing, in view
of overseas risks that cloud the economic outlook.
* Elsewhere, silver gained 0.2% to $17.05 an ounce,
while palladium fell 0.4% to $1,730.17 an ounce. Platinum
inched up 0.1% to $894.80.
DATA/EVENTS (GMT)
1330 US Housing Starts Number Oct
(Reporting by Diptendu Lahiri in Bengaluru; Editing by Clarence
Fernandez and Uttaresh.V)


Absolutely!
Color communication is not only for autistic people or others with disabilities that that impact social interaction, nor is it only useful at conferences. It can be helpful in any situation where people are likely to interact with each other: classrooms, dorm rooms, offices, meetings, your living room, even the grocery store, to name a few.
It's also not rude or anything like that to use something that was created with autistic people in mind if you're not autistic yourself. In fact, the more broadly it is used, the easier it will be for people with relevant disabilities to access it.
For example, if an entire dorm is using color communication for the purpose of establishing healthy boundaries, then an autistic person could doubly benefit from it without having to publicly disclose their disability. This is known as the curb cut effect.
But as cool as it is to help other people, you can still find it useful even if you are not disabled (or, not in a way that is specifically relevant to social interaction).
-
Let's say you're working among other people, but what you're working on is not too urgent and it would be fine for anyone to stop by if they have a question or just want to chat. You might put a "green" card on your door (or desk, self, etc.).
-
Or, you're working on something that takes a fair bit of energy, but it's not due for a little while. Maybe an interruption would be okay, as long it's not just to chat. You would probably set the card to yellow. That way, you don't have to worry about the potential awkwardness of, "Is it important? Can it wait?"
-
Now, suppose you have a huge project due in an hour, and you know you will be working up until the last minute. The only reason you would tolerate an interruption is for someone to alert you to an imminent apocalyptic-scale disaster. You might set the card to red so people know to leave you alone.


Would you like to make more sustainable life choices but don't know where to start?
You might be in the right place! Read our tips to help you make sustainable swaps towards zero waste,
one at a time or at your own pace.
And if you have any yourself you would like to share, please get in touch!
What is zero waste?
Simply put, it is the aim to send nothing to a landfill by reducing what we 'need', reusing and upcycling as much as possible, sending little to be recycled, while the rest that we throw away we should compost.
It's really about redefining the system. We currently live in a linear economy where we take resources from the earth and then dump them in a giant hole in the ground. The goal of zero waste is to move to a circular economy where trash won't exist. The circular economy mimics nature: there is no trash in nature.
What's wrong with landfills?
We consume too many resources at an incredibly fast rate, for it to be sustainable. This means that the impacts we have on the environment and the ecosystem are too great to make it possible for nature to be 'cured'
Can we not just recylcle everything, then?
Unfortunately not, There's simply too much to process, and we're just consuming way too much. Recycling isn't a perfect solution. While it plays into the solution, we have to lessen our dependence. Did you know, only 9% of plastic is actually recycled?
Recycling should be our last resort, not our first go-to.


## cargo-nono The pitfals of `#![no_std]` and how `cargo-nono` can help you avoid them
What is this
#![no_std]
thing?
Why should I care?
-
#![no_std]
is a crate-wide attribute
#![...]
- Rust with no... std... (= standard library)
- `std` has a lot of nice stuff: collections, io, fs, etc.
### Why would you not want to use std?
because your target platform doesn't let you :/
- embedded (microcontrollers, etc.)
- (WASM)
- other more exotic targets
- highly-portable code in general!
### Then "just don't use it"!
`cargo new --bin my-fancy-new-crate`
Add `#![no_std]` to top of `main.rs`
Add e.g. `serde` as a dependency
`cargo build --target thumbv7em-none-eabi`
💥 (cryptic error that's hard to locate)
### Problem #1 "std infection" - Any of your dependencies or sub-dependencies can cause std to be included, **and will do so by default via prelude** - And `#![no_std]` doesn't prevent that! - **Every** dependency has to have `#![no_std]` active - So have fun screening all your dependencies...
### Extreme example: ref_eq
- Simple crate to: "Determine if two borrowed pointers point to the same thing."
- 4 lines of code
- Has a fork that adds the `no_std` attribute
### `cargo-nono` to the rescue!
- Let's introduce some feature flags to our crate ``` [dependencies] serde = { version = "1.0.80", default-features = false } [features] default = ["serde/std"] ``` - And use them:
### BTS: Code parsing & resolving feature toggles - Detect - `#![no_std]` - `#![cfg_attr(not(feature = "std"), no_std)]` - or similar by parsing code with `syn` crate
### BTS: Code parsing & resolving feature toggles - Check whether the required feature is actually active by resolving the features of all dependencies - Also had to replicate "buggy" behaviour: cargo#5730 - "Features of dependencies are enabled if they're enabled in build-dependencies"
### Pain point: Cargo
- Cargo is a huge monolithic dependency (no feature toggles) - Cargo is not built to be used as a library in cargo subcommands - So right now: `cargo metadata` + building your own algo
### Problem #2: "My library is building"
- When building library crates, you don't get any feedback if your build will work for `#![no_std]` targets
### cargo-nono tries to help ```none - Did not find a #![no_std] attribute or a... ```
### cargo-nono tries to help ```none --> src/main.rs:3:4 | 3 |use std::ops::Add; | ^^^^^^^^^^^^^ help: Try replacing `std::ops::Add` with `core::ops::Add`. ```
### BTS: Code parsing & Rust documentation
- Rust installation comes with docs by default: `rustup which rustdoc` - Check if there is a `core` equivalent for `std`
### Caveats 😬 - **Very** heuristics dependent - e.g. breaks down with very complex `#![cfg_attr(all(not(...), ...))]` - Seems to work well with randomly sampled crates though
### The future!
- WIP feature to check build artifacts for `std` symbols - less heuristics, yay! - relies on nightly though (for now)
- `std`-aware Cargo: RFC#2663
### Thoughts - Proper solutions can take a long time to arrive - No shame in building/using hacky ones in the meantime - and advertising them (see also cargo-deadlinks 😉)
### Contributors & Co-maintainers welcome!
@hobofan on Github/Twitter - I'm available as a freelancer from time to time


{{ $ := .root }} {{ $page := .page }}
{{ $page.Content }}
|Twitter |
Github |
e-mail : jotaro.shigeyama[ at ]hpi.de |
| Curriculum Vitæ (pdf) |
| Google Scholar |
My research focus is on virtual reality (VR) interactions and haptic devices.

VR hardware became very cheap and accessible for everyone, but the space become the most expensive resource
on the other hand. While the actual tracking space is limited, there are many ways left to interact virtual
objects at “off-tracking space”. This includes such as throwing object, using tools, talking to somebody far
away and even being able to see far away. I investigate how this “off-space interaction” effects user’s
perception on space, and aim to maximize the value of minimum space in real world. I conduct a psychological
experiment of how such interaction affects the sence of spaciousness to build a percpetion profile.
My research interest also goes for haptic device. I developed Transcalibur: a weight-shifting haptic device that presents the sense of holding objects of virtual shape. I investigated an effects of visual feedback and developed perception profile which optimizes weight movement. I also developed haptic gaming device called DualPanto, which allows blind people to play real-time games using two pantograph haptic devices.
{{ .course }}{{with .year }}, {{ . }} {{ end }}
{{ .institution }}
{{ .name }}{{with .year}}, {{ . }} {{ end }}
{{ .description }}


public interface InterfaceImplementation
Augmenter
.| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
invoke(ExecuteMethod executeMethod,
java.lang.Object self,
java.lang.reflect.Method method,
java.lang.Object... args)
Called when it has become apparent that this is the right interface to implement a particular
method.
|
java.lang.Object invoke(ExecuteMethod executeMethod, java.lang.Object self, java.lang.reflect.Method method, java.lang.Object... args)
executeMethod
- Call this to actually call the remote instanceself
- method
- The method invoked by the userargs
- The arguments to the method @return The return value, which will be passed to the
user directly.


Population:
value:
When we talk about international trade, we talk about millions or billions of dollars of goods being shipped all around the world. It's easy to lose sight of how much money that really is. The graph below shows export data in real time—ships leave port at rates proportional to the country's trade with the nations on the right.
The value of the ships changes based on which country you select. Make sure to note the change if you switch the country or year. Distance between the selected country and the trading partners represents the distance between the centers of those countries, as the crow flies.
Population:
value:
This chart is certainly not the best way to visualize this data. Comparing the frequency of the ships, especially given the varied length of the "trade routes," is one of the least elegant ways to convey trade volume. You can't compare exports across countries because the value of the ship changes (a design choice made to make within-country comparisons more obvious). And the country distances are almost meaningless given how they're measured. With all that said, this was fun and challenging to build, and I'm glad I let myself be a little silly.


kNN Demonstration
k-Nearest Neighbor (kNN) is a machine learning and classification algorithm used to group similar points together and make a judgement based on the data available. This is a fun little demonstration to give you an idea of the capabilities of the k-Nearest Neighbor algorithm.
In this example, we chose k=3 to find the 3 nearest neighbors to our point. With the sample dataset, we can classify based on a person's location (the red dot) that a person may be "Drunk" or "Sober" depending on the proximity of bars/clubs or schools/parks in the area.
Classification: ???Find more cool projects on my GitHub or contact me via email at<EMAIL_ADDRESS>if you have questions.


Preparation time
over 2 hours
Cooking time
30 mins to 1 hour
Serves
Makes 1 loaf
Dietary
This delicious sweet bread makes a beautiful centrepiece at any table - even if you skip the intricate shaping and twist it into a simple plait instead.
Bring the milk to the boil in a saucepan and then remove from the heat and leave to cool. Top up with water to make 400ml/14fl oz total of liquid – the mixture should be lukewarm.
Add the sugar, yeast, salt, flour and ground cardamom to a large bowl and mix.
Stir in three-quarters of the lukewarm milk and water mixture, then mix in the egg, softened butter and orange zest. Combine, using your hands, and then add as much of the remaining milk and water as you need to get a soft, sticky dough.
Knead on a lightly floured clean work surface until smooth, elastic and no longer sticky. Knead in half of the chocolate chips and half of the candied peel. Shape into a ball, place in a large oiled bowl, cover and leave for 1-1½ hours, or until doubled in size.
Roll out a quarter of the dough to a semicircle shape, about 30cm/12in across and ½-1cm/¼-½in thick. Prick all over with a fork. Sprinkle the remaining choc chips and peel over and gently push in. Place on a greased and floured baking tray.
Make small balls of foil approximately the same size as mini-egg chocolates.
Set aside a small portion of the dough for the peacock’s body, cutting this into a 1cm/½in thick triangle shape. Divide the remaining dough into 27 pencil shapes by rolling it all out, cutting into rectangles approximately 1½x10cm/¾-4in, then rolling gently. Plait together the strips in bunches of three, until you have nine braids.
Put the body in the centre of the semicircle, and arrange the plaits coming outwards from it. Curl each plait back in towards the centre so that the ‘feathers’ curl round like hooks at the end. In each of these small loops, place a ball of foil, pushing firmly into place – this keeps each hole open for a mini-egg to go in after baking.
Leave the dough to prove, covered with an oiled plastic bag, for 40-45 minutes.
Meanwhile, preheat the oven to 190C/375F/Gas 5.
For the decorative dough, mix together the flour with 40ml/1½fl oz of water, the butter and a pinch of salt. Knead to combine and then colour a small portion with yellow, then the remaining with blue or green. Make eyes and a beak shapes for the peacock, and use the remaining dough to make decorative twists or feather shapes.
Once the dough has proved, brush with the beaten egg, add the dough decorations, and bake for 40 minutes, covering with foil if necessary.
While baking, paint the mini-eggs with bright food colours to make the ‘eyes’ of the peacock feathers.


Guidance
Specification and validation rules for local authorities and software suppliers preparing for the 2016 to 2017 children in need census.
Ref: DFE-00275-2015 PDF , 471KB , 36 pages
ODS , 14.9KB
This file is in an OpenDocument format
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 22.5KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
ZIP , 8.14KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
This is technical information about submitting data for the children in need census for the period 1 April 2016 to 31 March 2017.
It is for:
It includes:
Published: 16 October 2015
Updated: 31 January 2017
From: Department for Education


fun encryptAES(input: ByteArray, key: ByteArray): ByteArray?
Function to encrypt input with padded AES algorithm
Creates key seed (first 32 bytes of key) and iv (16 bytes after key seed) bytes from key
input - data to encrypt
input
key - key for encryption
key
Return AES Encryption of input


| Class | Description |
|---|---|
| Earthquake |
The class Earthquake defines instances, which are representing earthquakes.
|
| EarthquakeGroup |
The class EarthquakeGroup represents a group of earthquakes.
|
| EarthquakeMarker |
EarthquakeMarker is a class for the customized representation of earthquakes in an unfolding map.
|
| EarthquakeVisualizer |
Application that uses the Unfolding (unfoldingmaps.org) and Processing (processing.org) APIs
to display a map of recently occured earthquakes on a worldmap.
|
| JSONReader |
JSONReader is partly based on code from Kai-Floarian Richter.
|
| URLReader |
The class URLReader takes as input a valid URL and binds it to an
instance of the class at the moment of its construction.
|


You don't have to use bootstrap. You can just add the desired styles for the popover and arrow elements yourself.


Popular Areas in macintosh g5 power light blink
Mac OS X Audio View topic - 3 Flashing Lights - G5 PowerMac Dual2.0
I have three flashing lights, no chime, but fans run fine. Apparently it means . About the Power Mac G5 (Late 2005) diagnostic LEDs .
http://www.macosxaudio.com/forums/viewtopic.php?t=45356
Power Mac G5 logic board failure? - Macworld Forums - Page 3
My Dual 2.0 GHz Power Mac G5 has been having the same problems . Apple screen or a black screen with the blinking LED "bad RAM" error.
http://forums.macworld.com/index.php?/topic/103827-power-mac-g5-logic-board-failure/page__st__28
problem! with the powermac G5 - YouTube
Aug 20, 2010 . Help me with the power mac G5 i check the rams in another pc i get two flashes from front power light LED the hd fan is working very fast the .
http://www.youtube.com/watch?v=wIAwPBuO-gw
Power Mac G5 ECC Ram Blinking Lights [Archive] - MacRumors Forums
I have a Power Mac G5, Dual 1.8 GHz PPC (June 2004). I found some (4x1GB sticks) PC3200 Samsung Ram for it. I put it in the computer, .
http://forums.macrumors.com/archive/index.php/t-941939.html
My Mac G5 is presenting me with the power led flashing two times, a ...
Aug 9, 2012 . My Mac G5 is presenting me with the power LED flashing two times, a pause and repeats the two flashes. The information I could find states .
http://superuser.com/questions/459361/my-mac-g5-is-presenting-me-with-the-power-led-flashing-two-times-a-pause-and-re
Start-up light blinks twice, and computer doesn't turn on. - Power ...
Jul 4, 2010 . Power Mac G5. . Computer worked fine until one day upon turning it on the start- up light blinks twice, with a pause then blinks twice again.
http://www.ifixit.com/Answers/View/22048/Start-up+light+blinks+twice,+and+computer+doesn't+turn+on.


Hayao Miyazaki ennui trust fund unicorn photo booth. Ramps activated charcoal mlkshk, leggings enamel pin freegan chicharrones truffaut actually pork belly fingerstache. Forage vegan freegan, kickstarter bitters hexagon normcore trust fund intelligentsia raw denim. Leggings coloring book microdosing, air plant brooklyn umami pork belly skateboard scenester irony activated.
Vice green juice chia authentic ramps. Kickstarter blue bottle heirloom, PBR&B prism before they sold out jean shorts vegan.  Ugh fashion axe shaman, hashtag pug marfa microdosing meditation. Tousled hoodie ugh photo booth mlkshk, live-edge normcore kombucha pinterest scenester. Kitsch ugh church-key, scenester iceland taiyaki tattooed sartorial artisan.
Hot chicken brunch scenester 3 wolf moon, polaroid migas jean shorts gentrify crucifix. Austin poutine vegan, subway tile lomo tilde humblebrag narwhal fanny pack meggings pinterest bespoke brooklyn umami slow-carb. +1 VHS distillery meditation food truck, tofu jianbing. Chillwave craft beer YOLO green juice iceland. Literally pour-over crucifix brooklyn ethical cloud bread.
Skateboard brooklyn kitsch austin tofu letterpress, artisan blue bottle fam. Cronut gluten-free cred cray cliche, vice beard cold-pressed readymade. Vinyl affogato jean shorts truffaut keffiyeh tousled, coloring book bespoke actually. Farm-to-table enamel pin marfa chillwave crucifix, narwhal freegan woke tofu cloud bread raw denim. Woke brunch man bun, lo-fi seitan cred roof party fixie church-key before they sold out tilde forage.
Post-ironic semiotics gluten-free master cleanse narwhal, four dollar toast disrupt. Blue bottle yr flexitarian, leggings pickled celiac you probably haven't heard of them chicharrones poutine etsy distillery. Poutine live-edge chia, pok pok pug deep v gastropub vaporware neutra kitsch lumbersexual next level. Street art selvage chartreuse iPhone, leggings deep v pug brunch fingerstache beard. Green juice hammock ennui scenester street art, banh mi austin jianbing schlitz salvia vexillologist health goth vice artisan.
Hell of succulents single-origin coffee, chicharrones austin health goth kinfolk twee pickled. Edison bulb poke kale chips mustache occupy, glossier palo santo. Cornhole seitan small batch prism offal kale chips synth PBR&B. Bicycle rights try-hard tousled marfa knausgaard, quinoa subway tile kitsch unicorn. Post-ironic cardigan shoreditch franzen flannel, pop-up migas master cleanse godard paleo bicycle rights craft beer vinyl.
Ennui forage actually, migas palo santo retro deep v vice knausgaard raclette tote bag pickled cred. Lumbersexual photo booth you probably haven't heard of them, ugh yuccie salvia microdosing subway tile beard pok pok umami try-hard listicle.
Squid letterpress bespoke, leggings sustainable tacos typewriter truffaut crucifix. Messenger bag biodiesel celiac neutra put a bird on it godard. Quinoa small batch VHS bushwick tumblr selfies, venmo brunch etsy af roof party neutra truffaut.
Tousled vaporware forage semiotics waistcoat, offal celiac. Vexillologist salvia pork belly, chambray kogi skateboard knausgaard kinfolk fingerstache selfies adaptogen aesthetic. Swag tumblr kogi chartreuse vegan kombucha.


Hurricane Michael, a historic Category 4 storm, struck the Florida Panhandle this week, unleashing heavy rain, high winds and a devastating storm surge.
Here is a look at the dangerous storm by the numbers:
155 mph: Wind speed -- nearly the highest possible for a Category 4 hurricane -- with which Michael made landfall near Mexico Beach and Panama City. A hurricane with 157 mph or higher is a Category 5, the strongest on the Saffir-Simpson hurricane wind scale.
129 mph: Peak wind gust reported Wednesday at Tyndall Air Force Base, which is about 12 miles southeast of Panama City, Florida.
17: Number of storm-related deaths attributed to Michael thus far, including an 11-year-old girl who local officials say was killed when part of a metal carport crashed into her family's mobile home in Lake Seminole, Georgia.
14 feet: Maximum height forecast for the storm surge when Michael's strong winds pushed the ocean water onto land. A storm surge just over 9 feet was reported Wednesday in Apalachicola, Florida.
12 inches: Maximum amount of rain that Michael was expected to dump on isolated areas across the Florida Panhandle and the state's Big Bend region, as well as in southeast Alabama and parts of southwest and central Georgia.
9 inches: Maximum amount of rain that Michael was forecast to bring to isolated areas from Virginia to North Carolina.
You can help. Make a gift donation today.
For media inquires, please contact:
pr@hopeorganization.com


Name is used for device identification within your LAN and a device's hotspot name used for configuration mode
Select connected items to your device
Enable / Disable APIs
Device configuration will be automatically closed after 10min. of idle time in the configuration panel


0.0.7
Creates a Duplex stream (in object mode) which reads and writes to a LoRa radio link.
It can perform over-the-air activation of devices it knows about on behalf of your application.
Messages received from the radio link are made available to read from the Duplex and have the following properties:
nwk_addr (Buffer)
- Unique network address of the sending device.dev_eui (Buffer)
- Unique global device identifier (IEEE EUI64) of the sending device.dev_addr (Buffer)
- Combined identifier of your network (7 most significant bits) and the unique network address of the sending device (i.e. nwk_addr
, 25 least significant bits).payload (Buffer)
- The data which the sending device sent to your application.msg (Object)
- The raw packet received by packet_forwarder_shared. The format is described here.packet (Object)
- The decoded packet. Anthony Kirby's excellent lora-packet is used to do the decoding.reply (Object)
- This contains nearly everything needed to reply to the message. Your application just has to set the payload.
header (Object)
- The metadata required by packet_forwarder_shared to send the reply. See section 6 of here.encoding (Object)
- The fields required by lora-packet to encode the reply.payload (undefined)
- Your application must set this property to a Buffer containing the data you want to send back to the device.If your application wants to reply to the message, set reply.payload
to
the data that should be sent and then write reply
to the Duplex.
Extends stream.Duplex
(class)
The
Objection.js Model class
, or a subclass of it, already
configured for your database using Knex.js
.
(stream.Duplex)
lora-comms uplink stream
. Your application must
start
the
lora-comms
module first and then retrieve the uplink.
(stream.Duplex)
lora-comms downlink stream
. Your application must
start
the
lora-comms
module first and then retrieve the downlink.
(Object)
Configuration options.
| Name | Description |
|---|---|
options.appid Buffer
|
8-byte identifier of your application in the IEEE EUI64 address space. This is also known as the AppEUI and your OTAA devices must use the same value. |
options.netid Buffer
|
3-byte identifier of your network. The 7 least significant bits must be unique for neighbouring or overlapping networks. |
If the supplied device address is on the network configured
for this link (options.netid
) then return its unique
global device ID (IEEE EUI64).
(Buffer)
Combined device and network address.
(Buffer | null)
:
If the device is on the configured network then its IEEE EUI64 ID otherwise
null
.


Koganti Nishanth
Assistant Professor at MI Lab, NAIST.
A605, 8916-5, Takayama
Ikoma, Nara 630-0101
Welcome! I am an Assistant Professor at Mathematical Informatics Laboratory of Nara Institute of Science and Technology in Japan. My research interests are in Reinforcement Learning, Deep Learning and Robotics.
I completed my PhD from the Mathematical Informatics Laboratory at NAIST, Japan. I was also a visiting researcher at Shibata Laboratory at Kyutech, Japan. After graduation, I worked as a postdoctoral researcher at Matsuo Lab of The University of Tokyo, Japan.
My current research is on developing learning algorithms that uses deep neural networks as function approximators for robotics and computer vision applications. Feel free to contact me anytime!
News
| Oct 21, 2018 | NAIST-RITS-Panasonic team won first place in WRS 2018, Future Convenience Store, Customer Interaction Challenge. We also won the NEDO Chairman’s Award for Excellence in World Robot Summit 2018 and SICE Award for Future Convenience Store Challenge 2018. |
| Oct 20, 2018 | Our team, NAIST-RITS-Panasonic, participated in WRS Future Convenience Store Challenge 2018. |
| Oct 2, 2018 | Presented our work on latent space RL as late breaking result at IROS 2018. |
| Apr 29, 2018 | Presented our work on DRL for Visual Attention at workshop track, ICLR 2018. |
| Apr 20, 2018 | Gave a demonstration on Imitation Learning using Virtual Reality at CHI 2018. |


The best way to get in touch with me is through email. I will also attend to any messages on twitter as quickly as I see them. You can follow me on instagram but I usually post weird stuff instead of selfies like you are supposed to, so consider yourself warned.


Test Page
Textbox:
First Name
enter your first name.
Last Name
enter your last name.
Bio
enter info about your life.


The foundation of this guide was based on Zachary Kjellberg's Dark Soul 3 Cheat Sheet and Stephen McNabb's Dark Soul 2 Cheat Sheet source code. I only copy & paste and learn along the way. Each checkbox is based on Sekiro's Game Progress Route Wiki. I completed the guide in a effort to include all key items, sakes, minibosses etc, in a unified way
I have a post on reddit. You can send me a DM or answer that post to send me any comment or criticism about the Cheat Sheet.
Not exactly. This is a set of checklists and information that you can use while playing Sekiro. This is useful to to make sure you don't miss an important key item or boss. I think this is cool to use in a second playthrough, once you don't mind so much about spoilers and want to do everything
Sekiro has multiple ways of progressing. I have follow the Sekiro's Game Progress Route Wiki. Some minibosses can be done in a different order, before or after that some key bosses.
Yes, use the profile selector and buttons in the options tab at the top of the page to setup multiple profiles.
The checklist is saved to your browser's local storage. Be careful when clearing your browser's cache as it will also destroy your saved progress.


{% extends "base.html" %} {% block stuff %}
Overhead for non-Swedish academia and industry: 1
| Quoting | ID | Category | Type | Name | Components | Alternative Components | Reagent Fee | Overhead | Minimum Quantity | Internal Price (SEK) | Academic | Full Cost | Comment |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Quoting | ID | Category | Type | Name | Components | Alternative Components | Reagent Fee | Overhead | Minimum Quantity | Internal Price (SEK) | Academic | Full Cost | Comment |


# -*- coding: utf-8 -*-
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
from airflow import AirflowException
from airflow.contrib.hooks.gcp_translate_hook import CloudTranslateHook
from airflow.models import BaseOperator
from airflow.utils.decorators import apply_defaults
[docs]class CloudTranslateTextOperator(BaseOperator):
"""
Translate a string or list of strings.
.. seealso::
For more information on how to use this operator, take a look at the guide:
:ref:`howto/operator:CloudTranslateTextOperator`
See https://cloud.google.com/translate/docs/translating-text
Execute method returns str or list.
This is a list of dictionaries for each queried value. Each
dictionary typically contains three keys (though not
all will be present in all cases).
* ``detectedSourceLanguage``: The detected language (as an
ISO 639-1 language code) of the text.
* ``translatedText``: The translation of the text into the
target language.
* ``input``: The corresponding input value.
* ``model``: The model used to translate the text.
If only a single value is passed, then only a single
dictionary is set as XCom return value.
:type values: str or list
:param values: String or list of strings to translate.
:type target_language: str
:param target_language: The language to translate results into. This
is required by the API and defaults to
the target language of the current instance.
:type format_: str or None
:param format_: (Optional) One of ``text`` or ``html``, to specify
if the input text is plain text or HTML.
:type source_language: str or None
:param source_language: (Optional) The language of the text to
be translated.
:type model: str or None
:param model: (Optional) The model used to translate the text, such
as ``'base'`` or ``'nmt'``.
"""
# [START translate_template_fields]
[docs] template_fields = ('values', 'target_language', 'format_', 'source_language', 'model', 'gcp_conn_id')
# [END translate_template_fields]
@apply_defaults
def __init__(
self,
values,
target_language,
format_,
source_language,
model,
gcp_conn_id='google_cloud_default',
*args,
**kwargs
):
super(CloudTranslateTextOperator, self).__init__(*args, **kwargs)
self.values = values
self.target_language = target_language
self.format_ = format_
self.source_language = source_language
self.model = model
self.gcp_conn_id = gcp_conn_id
[docs] def execute(self, context):
_hook = CloudTranslateHook(gcp_conn_id=self.gcp_conn_id)
try:
translation = _hook.translate(
values=self.values,
target_language=self.target_language,
format_=self.format_,
source_language=self.source_language,
model=self.model,
)
self.log.debug("Translation %s", translation)
return translation
except ValueError as e:
self.log.error('An error has been thrown from translate method:')
self.log.error(e)
raise AirflowException(e)


#include "roman.h"
#include <stdbool.h>
#include <string.h>
Go to the source code of this file.
|
| static int | string_length (const char *str) |
| | Returns the length of a valid string. More...
|
| |
| static int | alg_value (char alg) |
| | Returns the integer value of a single Roman algarism. More...
|
| |
| static bool | alg_can_repeat (char alg) |
| | Checks if the Roman algarism is repeatable (i.e., it's not 'V', 'L' or 'D'). More...
|
| |
| static bool | alg_can_come_before (char now, char before) |
| | Checks if the Roman algarism now can come before the character before in a valid string, meaning its value is negative. More...
|
| |
| int | roman_to_int (const char *input) |
| | Returns the integer value of the roman characters string. More...
|
| |
| static bool alg_can_come_before |
( |
char |
now, |
|
|
char |
before |
|
) |
| |
|
static |
Checks if the Roman algarism now
can come before the character before
in a valid string, meaning its value is negative.
The rules for such preceding characters are as below:
| Character | Can appear before |
| 'I' | V, X |
| 'X' | L, C |
| 'C' | D, M |
| 'V', 'L', 'D' | None |
Definition at line 85 of file roman.c.
| static bool alg_can_repeat |
( |
char |
alg | ) |
|
|
static |
Checks if the Roman algarism is repeatable (i.e., it's not 'V', 'L' or 'D').
Definition at line 69 of file roman.c.
| static int alg_value |
( |
char |
alg | ) |
|
|
static |
Returns the integer value of a single Roman algarism.
The corresponding value is given in the table below:
| Character | Value |
| I | 1 |
| V | 5 |
| X | 10 |
| L | 50 |
| C | 100 |
| D | 500 |
| M | 1000 |
Definition at line 34 of file roman.c.
| int roman_to_int |
( |
const char * |
input | ) |
|
Returns the integer value of the roman characters string.
This function parses the input string, which must correspond to a valid roman character string, which must satisfy the following conditions:
- It must be non-null and non-empty.
- The characters V, L or D cannot be repeated.
- The characters I, X, C or M can be repeated up to three times.
- If the characters are in non-decreasing order
Definition at line 101 of file roman.c.
| static int string_length |
( |
const char * |
str | ) |
|
|
static |
Returns the length of a valid string.
If the string is not valid (i.e., NULL or empty), returns -1.
Definition at line 12 of file roman.c.


2FIT For
Better Life
You can Improve your body with many tools with us
Henry David Thoreau
‘Success usually comes to those who are too busy to be looking for it.’
Bret Contreras
‘If you think lifting is dangerous, try being weak. Being weak is dangerous.’
Vidal Sassoon
‘The only place where success comes before work is in the dictionary.’
Abraham Lincoln
‘Things may come to those who wait, but only the things left by those who hustle.’
The Mental Health Benefits of Exercise
Exercise is not just about aerobic capacity and muscle size.  But that’s not what motivates most people to stay active. People who exercise regularly tend to do so because it gives them an enormous sense of well-being. They feel more energetic throughout the day, sleep better at night, have sharper memories, and feel more relaxed and positive about themselves and their lives. And it’s also a powerful medicine for many common mental health challenges. Regular exercise can have a profoundly positive impact on depression, anxiety, and ADHD. It also relieves stress, improves memory, helps you sleep better, and boosts your overall mood.  Research indicates that modest amounts of exercise can make a real difference.


A class represents something that you can have more than one of. You aptly name your class to reflect the type of item that you may or may not have more than one of. The class name for this paragraph is container. It could very well be that you have many containers, or just one.
You can chain together class names within the class attribute. From a purely semantic standpoint, the class names may or may not have a relationship with each other. Here, the class names are container and box. It could be said that boxes and containers are related, since box is a type of container.
It is wise to put thought behind the naming conventions you use within a document. Here, tank is another type of container. All containers have some properties in common. Dimensions, color, volume, etc. But some containers may have properties that are unique to that container. Perhaps it has a different color, or capacity, or is intended to hold a different kind of material.
An id is used but once per document. Semantically speaking, the id should be able to identify uniquely, and be descriptive. You may have several containers, but only one container has the id 1234. Since only one container is named 1234, it becomes easier to find that container among the others.


Let's find out.
If you're going to bed right now,
Milwaukee WisconsinThe Great Lakes
+1 111 9998 7774 +1 245 4544 6855
mmettej@gmail.com


Time synchronization parameter handle structure. More...
#include <icss_timeSyncApi.h>
Time synchronization parameter handle structure.
| timeStamp TimeSync_ParamsHandle_s::clockTime |
Clock time to set
| delayReqRespParams_t* TimeSync_ParamsHandle_s::delayParams |
Delay params for Delay Response
| int32_t TimeSync_ParamsHandle_s::drift |
Drift(nanoseconds)
| emdaConfig_t* TimeSync_ParamsHandle_s::edmaConfig |
Pointer to EDMA parameters
| ICSS_EmacHandle TimeSync_ParamsHandle_s::emacHandle |
icss emac handle
| uint8_t TimeSync_ParamsHandle_s::enabled |
PTP Enable/Disable status
| uint32_t TimeSync_ParamsHandle_s::eventIdDelayReq |
Event ID for Delay Request frame
| uint32_t TimeSync_ParamsHandle_s::eventIdFlwUpGenerated |
Event ID to indicate follow up frame generated
| uint32_t TimeSync_ParamsHandle_s::eventIdPdelayReq |
Event ID for Pdelay Request frame
| uint32_t TimeSync_ParamsHandle_s::eventIdPdelayResp |
Event ID for Pdelay Response frame
| uint32_t TimeSync_ParamsHandle_s::eventIdPdelayRespFlwUp |
Event ID for Pdelay Response Follow Up frame
| uint32_t TimeSync_ParamsHandle_s::eventIdSync |
Event ID for Sync frame
| uint32_t TimeSync_ParamsHandle_s::pathDelay[NUM_PORTS] |
Line delay or Peer Delay for each port
| peerDelayParams_t TimeSync_ParamsHandle_s::pDelayParams[NUM_PORTS] |
Peer Delay params
| EventP_Handle TimeSync_ParamsHandle_s::ptpPdelayReqEvtHandle[NUM_PORTS] |
Two event handlers for two ports for processing Pdelay request frames
| EventP_Handle TimeSync_ParamsHandle_s::ptpPdelayResEvtHandle[NUM_PORTS] |
Two event handlers for two ports for processing Pdelay response and Pdelay response follow up
| EventP_Handle TimeSync_ParamsHandle_s::ptpSendFollowUpEvtHandle[NUM_PORTS] |
Two event handlers for two ports for sending out follow up frame in case of forced 2-step
| ptpFrameTypes_t TimeSync_ParamsHandle_s::rxFrameType |
Frame type received. Valid values: 0,1,2,3
| uint8_t TimeSync_ParamsHandle_s::rxPort |
Port used for receive. Valid values: ICSS_EMAC_PORT_1/ ICSS_EMAC_PORT_2
| uint8_t TimeSync_ParamsHandle_s::rxprotocol |
protocol. Valid values: gPTP/PTCP 0/1
| timeStamp* TimeSync_ParamsHandle_s::rxTimestamp_gPTP |
timestamp if rxprotocol=gPTP
| uint8_t TimeSync_ParamsHandle_s::sequenceIdIn |
Sequence ID
| uint8_t TimeSync_ParamsHandle_s::sequenceIdOut_rxTS |
Sequence ID
| ptpDparams_t TimeSync_ParamsHandle_s::stackParams |
PTPd stack parameters
| uint32_t TimeSync_ParamsHandle_s::syncInterval |
Sync interval(nanoseconds)
| syncParam_t* TimeSync_ParamsHandle_s::syncParam[NUM_PORTS] |
Delay params for Sync Frame
| TaskP_Handle TimeSync_ParamsHandle_s::timeSync_announceTxTask |
PTP Task for sending Announce frames
| TaskP_Handle TimeSync_ParamsHandle_s::timeSync_backgroundTask |
Used to do resource intensive but non-critical tasks like doing floating point calculations, algorithms, status monitoring etc
| TaskP_Handle TimeSync_ParamsHandle_s::timeSync_delayReqSendTask |
Time Sync Task handle for sending a delay request to Master on receiving a Sync
| TaskP_Handle TimeSync_ParamsHandle_s::timeSync_latchSyncTask |
Task is used to synchronize with the 1PPS output via the latch interrupt
| TaskP_Handle TimeSync_ParamsHandle_s::timeSync_NRT_Task |
For processing frames like Pdelay Request, Pdelay Response and Pdelay Response Follow Up which don't require real time response
| TaskP_Handle TimeSync_ParamsHandle_s::timeSync_pDelayReqSendTask |
Time Sync Task handle for Delay Request Task which sends task periodically
| TaskP_Handle TimeSync_ParamsHandle_s::timeSync_syncTxTask |
Actual PTP Task handle which sends Sync frames
| TaskP_Handle TimeSync_ParamsHandle_s::timeSync_TxTSTaskP1 |
PTP Task for storing Tx timestamps for Port 1
| TaskP_Handle TimeSync_ParamsHandle_s::timeSync_TxTSTaskP2 |
PTP Task for storing Tx timestamps for Port 2
| timeSync_NrrInfo_t* TimeSync_ParamsHandle_s::tsNrrInfo[NUM_PORTS] |
Data for calculating NRR on both ports
| timeSync_RuntimeVar_t* TimeSync_ParamsHandle_s::tsRunTimeVar |
Time Sync Runtime variables
| timeSync_SyntInfo_t* TimeSync_ParamsHandle_s::tsSyntInfo |
Data for Syntonization
| timeSync_ToD_Param_t* TimeSync_ParamsHandle_s::tsToDParams |
Parameters for doing time of day synchronization
| ptpFrameTypes_t TimeSync_ParamsHandle_s::txFrameType |
Frame type transmitted. Valid values: 0,1,2,3
| uint8_t TimeSync_ParamsHandle_s::txPort |
Port used for transmit. Valid values: ICSS_EMAC_PORT_1/ ICSS_EMAC_PORT_2
| uint8_t TimeSync_ParamsHandle_s::txprotocol |
Transmitted frame protocol. Valid values: gPTP/PTCP 0/1
| EventP_Handle TimeSync_ParamsHandle_s::txTSAvailableEvtHandle[NUM_PORTS] |
Event handle for indicating that a Tx Timestamp interrupt has been generated and needs to be serviced. index 0 contains handle for Port 1.
| ipParams_t TimeSync_ParamsHandle_s::udpParams |
IP/UDP Params


--- layout: page title: Safer Autobelay ---
Autobelays are becoming an essential part of a modern climbing gym. However, there is an inherent risk involved in using an autobelay. I've personally known people who were seriously injured from autobelay-related accidents.
This risk is not only traumatizing mentally and physically for individuals, but also is a huge liability for gyms. Educating the users to prevent accidents is important, but I believe there should be safeguards on top of that.
Here, I discuss my ideas to make a safer autobelay. The following projects do not aim to provide an autobelay unit complete with different safeguards. But rather, they aim to achieve the goal by utilizing different systems available in climbing gyms.


{% extends "base.html" %} {% block page_content %}
(Updated on 13 January 2020)
|
2020 |
||
|
Jan |
20 (Monday) |
Freshmen Students’ orientation |
|
21 (Tuesday) |
First day of regular classes |
|
|
26 |
19th Convocation |
|
|
23 & 26 |
Adding/ Dropping |
|
|
26 |
Submission of TSF and course description |
|
|
28 |
Automatic conversion of UW, I, blank grades of Last Semester to F |
|
|
Feb |
6 (Thursday) |
Makeup of Sunday Class |
|
13 (Thursday) |
Makeup of Monday Class |
|
|
20 |
Submission of midterm exam manuscripts |
|
|
23 – 27 |
Laboratory midterm exams |
|
|
29 – Mar 5 |
Midterm Exam |
|
|
Mar |
12 |
Submission of midterm grades |
|
15 – 19 |
TPE |
|
|
19 |
Midterm Grades Locked |
|
|
22 – 26 |
Pre-registration for Summer 2019-20 Semester |
|
|
Apr |
9 |
Submission of final exam manuscripts |
|
12 – 16 |
Laboratory Final exams |
|
|
18 – 23 |
Final Exam |
|
|
30 |
Submission of Final Grades |
|
|
May |
7 |
Final Grades Locked |
|
Apr 24 -May16 |
Semester break Release of grades Registration for Summer 2019-20 |
|
|
May 30 |
Automatic conversion of UW, I grades of this semester to F |
AIUB reserves the right to change the academic calendar.


Calculation of pressure loss in edged bends with sharp corners at overall flow regime for incompressible and single-phase fluid flow through circular cross sectional area considering surface roughness.
This function shall be used inside of the restricted limits according to the referenced literature.
The pressure loss dp for edged bends is determined by:
dp = zeta_TOT * (rho/2) * velocity^2
with
| rho | as density of fluid [kg/m3], |
| velocity | as mean velocity [m/s], |
| zeta_TOT | as pressure loss coefficient [-]. |
The pressure loss coefficient zeta_TOT of an edged bend can be calculated for different angles of turning delta by:
zeta_TOT = A * C1 * zeta_LOC * CF_Fri* CF_Re [Idelchik 2006, p. 366, diag. 6-7] and [Miller 1984, p. 149, sec. 9.4]
with
| A | as coefficient considering effect for angle of turning [-], |
| C1 | as coefficient considering relative elongation of cross sectional area (here: circular cross sectional area) [-], |
| CF_Fri | as correction factor considering surface roughness [-], |
| CF_Re | as correction factor considering Reynolds number [-], |
| delta | as angle of turning [deg]. |
The correction factor CF_Fri regarding the influence of surface roughness is determined as ratio of the Darcy friction factor for rough surfaces to smooth surfaces according to [Miller, p. 207, eq. 9.3]:
CF_Fri = lambda_FRI_rough / lambda_FRI_smooth
and the Darcy friction factors lambda_FRI are calculated with an approximated Colebrook-White law according to [Miller, p. 191, eq. 8.4]:
lambda_FRI = 0.25*(lg(K/(3.7*d_hyd) + 5.74/Re^0.9))^-2
with
| d_hyd | as hydraulic diameter [m], |
| K | as absolute roughness (average height of surface asperities) [m], |
| lambda_FRI | as Darcy friction factor[-], |
| Re | as Reynolds number [m], |
| zeta_TOT | as pressure loss coefficient [-]. |
Note that the Darcy friction factor for a smooth surface lambda_FRI_smooth is calculated with the previous equation and an absolute roughness of K = 0 .
The correction for surface roughness through CF_Fri is used only in the turbulent regime, where the fluid flow is influenced by surface asperities not covered by a laminar boundary layer. Here the correction according to friction starts at Re ≥ Re_lam_leave according to [Idelchik 2006, p. 336, sec. 15]. Here the end of the laminar regime is restricted to a Reynolds number smaller than 2e3 w.r.t [VDI, p. Lac 6, fig. 16].
Nevertheless the transition point from the laminar to the transition regime is shifted to smaller Reynolds numbers for an increasing absolute roughness. This effect is considered according to [Samoilenko in Idelchik 2006, p. 81, sec. 2-1-21] as:
Re_lam_leave = 754*exp(if k ≤ 0.007 then 0.0065/0.007 else 0.0065/k)
with
| k = K /d_hyd | as relative roughness [-], |
| Re_lam_leave | as Reynolds number for leaving laminar regime [-]. |
Note that the beginning of the laminar regime cannot be beneath Re ≤ 5e2 .
In addition the influence or decreasing Reynolds numbers Re on the pressure loss coefficient zeta_TOT in the laminar and turbulent regime is considered through a second correction factor CF_Re according to [Miller 1984, p. 149, sec. 9.4] by:
CF_Re = B/Re^exp for Re ≤ 2e5
with
| B = f(Geometry) | as coefficient considering effect of Reynolds number in laminar regime [-], |
| exp | as exponent for Reynolds number in laminar regime [-], |
| Re | as Reynolds number [-], |
Note that the coefficient B considers the influence of the angle of turning delta on the pressure loss coefficient zeta_TOT in the laminar regime according to [Idelchik 2006, p. 340, sec. 28].
Note that the correction of the pressure loss coefficient zeta_TOT is influenced by the correction factor CF_Re only for decreasing Reynolds numbers Re out of the turbulent fluid flow regime at Re ≤ 2e5 into transition and laminar fluid flow regime.
The pressure loss coefficient zeta_TOT of a edged bend in dependence of the Reynolds number Re for different angles of turning delta is shown in the figures below.
Pressure loss calculation of edged bends is complex and there are large differences in literature data. Nevertheless these calculations cover the usual range of pressure loss coefficients for an edged bend.
The validation of the pressure loss coefficient for an edged bends shows four possible flow regimes:
Incompressible case [Pressure loss = f(m_flow)]:
The pressure loss in dependence of the mass flow rate of water is shown for different angles of turning:
Compressible case [Mass flow rate = f(dp)]:
The mass flow rate in dependence of the pressure loss of water is shown for different angles of turning:


Ole Gunnar Solskjaer issues Man City plea to Paul Pogba
Manchester United face a crunch clash against local rivals Manchester City on December 7 - and Ole Gunnar Solskjaer wants his star man back on the pitch
by Alex HarrisOle Gunnar Solskjaer wants Paul Pogba back in time for for next month’s derby against Manchester City .
Pogba has missed the last seven games due to an ankle problem he sustained in September.
His foot is currently in plaster after a recent operation, stalling his rehabilitation process.
Manchester United travel to the Etihad Stadium on December 7 to face the Pep Guardiola’s Premier League champions.
And, according to the Daily Star , Solskjaer has told with Pogba to focus all of his efforts on returning from injury for the match.
Solskjaer has publicly written off the 26-year-old until next month.
“I don’t think we’ll see him before December. He’ll be out for a while,” he said.
“He needs time to fully recover so I don’t think he will be back before maybe Sheffield United after the international break but probably December before you can see him.
“I’m not a doctor but there is an injury there that needs healing. There’s no use talking about who’s not going to be here for a long time because he’s not going to come on the pitch and help us."
Despite the team’s problems on the pitch, Pogba is determined not to rush his return from injury.
"I will still be under plaster for ten days," he said. "After, I still have two weeks of rehabilitation.
"It's not easy to see my teammates go to training or on the field, but I have to take the time to come back."
Pogba is likely to miss another eight matches, starting with Thursday's Europa League home clash against Partizan Belgrade.
United’s mini-revival came crashing to an end on Saturday as ex-Red Devils forward Josh King hit Bournemouth ’s winner at the Vitality Stadium.
Solskjaer's side are currently 10th in the Premier League table, with 13 points from 11 games.


2009 / Crime, Drama
2010 / SF, Action
2011 / Drama
2012 / Comedy, Romance
2013 / Drama, Thriller
2014 / Drama
2015 / Comedy, Drama
2016 / Drama, Thriller
2017 / Drama
2018 / Horror, Thriller
2012 / SF, Action
2015 / Action, Fantasy


The Logger class
Type: Logger
(object?)
Configuration options for the logger.
| Name | Description |
|---|---|
options.base object
(default null )
|
An object with base properties that will be printed with every log line. |
options.name string
(default undefined )
|
The name of the logger. It is a good practice to give names for easier identification of modules for example. |
options.level string
(default 'info' )
|
The log level. One of 'fatal', 'error', 'warn', 'info', 'debug', 'trace' or 'silent'. |
options.file string
(default undefined )
|
The location of the log file. If not given, logs will be outputted to std out/err. |
options.prettyPrint boolean?
|
Whether to pretty print the logs or output json lines |
options.redact (object | array)?
|
The object props to redact from the output. As an array, the redact option specifies paths that should have their values redacted from any log output. Each path must be a string using a syntax which corresponds to JavaScript dot and bracket notation. If an object is supplied, three options can be specified:
paths
,
censor
and
remove
.
|
options.redact.paths array
|
Required. An array of paths. |
options.redact.censor (string | function | undefined)
(default '[Redacted]' )
|
Censor option will overwrite keys which are to be redacted. |
options.redact.remove boolean
(default false )
|
Instead of censoring the value, remove both the key and the value. |
options.browser object
(default undefined )
|
Config for browsers only. |
options.browser.write (function | object)?
|
Instead of passing log messages to console.log they can be passed to a supplied function. If write is an object, it can have methods that correspond to the levels. When a message is logged at a given level, the corresponding method is called. If a method isn't present, the logging falls back to using the console. |
import Logger from '@qfin/logger';
// this creates a parent logger with name (my-app)
const logger = new Logger({ name: 'my-app', level: 'info' });
logger.info('Hello world from my awesome app!');
logger.debug('This will not be printed');
// --- somewhere else in the codebase
import Logger from '@qfin/logger';
// this creates a child logger with name (db) and it takes the log-level of the parent logger
const dbLogger = new Logger({ name: 'db' });
dbLogger.info('Successfully connected to Database: ', `${db.host}:${db.port}/${db.name}`);
// --- static logger usage
import Logger from '@qfin/logger';
// If logger is already initialized, then the parent logger reference will be used in this static call
// otherwise, a default parent logger will be initialized and then that will be used for logging
Logger.log('This is a static logger log');
Static Method
Write a log with default or set level.
If the logger has already been initialized then the log level will be referred from the initialized logger, otherwise a new logger will be initialized and its default properties will be set and used.
(object?)
An object can optionally be supplied as the first parameter. Each enumerable key and value of the mergingObject is copied in to the JSON log line.
(...any?)
args
are of type varargs and each of the args can take various forms as follows:
A message string can optionally be supplied as the first parameter, or as the second parameter after supplying a mergingObject. By default, the contents of the message parameter will be merged into the JSON log line under the msg key.
All arguments supplied after message are serialized and interpolated according to any supplied printf-style placeholders (%s, %d, %o|%O|%j) or else concatenated together with the message string to form the final output msg value for the JSON log line.
logger.info({MIX: {IN: true}})
// {"level":30,"time":1531254555820,"MIX":{"IN":true},"v":1}
logger.info('hello world')
// {"level":30,"time":1531257112193,"msg":"hello world","v":1}
logger.info('hello', 'world')
// {"level":30,"time":1531257618044,"msg":"hello world","v":1}
logger.info('hello', {worldly: 1})
// {"level":30,"time":1531257797727,"msg":"hello {\"worldly\":1}","v":1}
logger.info('%o hello', {worldly: 1})
// {"level":30,"time":1531257826880,"msg":"{\"worldly\":1} hello","v":1}
Static Method
Write a 'trace' level log, if the configured level allows for it.
If the logger has already been initialized then the log level will be referred from the initialized logger, otherwise a new logger will be initialized and its default properties will be set and used.
Static Method
Write a 'debug' level log, if the configured level allows for it.
If the logger has already been initialized then the log level will be referred from the initialized logger, otherwise a new logger will be initialized and its default properties will be set and used.
Static Method
Write a 'info' level log, if the configured level allows for it.
If the logger has already been initialized then the log level will be referred from the initialized logger, otherwise a new logger will be initialized and its default properties will be set and used.
Static Method
Write a 'warn' level log, if the configured level allows for it.
If the logger has already been initialized then the log level will be referred from the initialized logger, otherwise a new logger will be initialized and its default properties will be set and used.
Static Method
Write a 'error' level log, if the configured level allows for it.
If the logger has already been initialized then the log level will be referred from the initialized logger, otherwise a new logger will be initialized and its default properties will be set and used.
Static Method
Write a 'fatal' level log, if the configured level allows for it.
If the logger has already been initialized then the log level will be referred from the initialized logger, otherwise a new logger will be initialized and its default properties will be set and used.
Write a log with default or set level. The level can be set in the constructor parameter
Write a 'trace' level log, if the configured level allows for it.
Write a 'debug' level log, if the configured level allows for it.
Write a 'info' level log, if the configured level allows for it.
Write a 'warn' level log, if the configured level allows for it.
Write a 'error' level log, if the configured level allows for it.


My Dendrogram
Choose CSV File for matrix data
Browse...
CSV file with Header
Display data
Choose a cluster method:
Single-Link
Single-Link
Choose a distance metric:
Euclidian
Euclidian
Minkowski dimension
Rotate dendrogram
Help My Dendrogram


The tallest of all, you can sometimes be a bit arrogant.

Shorten, you don't have time for anything. You hyperactive.
-
March
You're an Eurasier!
One of the cutest of all, you aften hesitate between leting your cuteness talk and show your dark side ...

When the warm day are coming, you have one thing in mind : PLAY OUTSIDE!

Why ? It's simple. Everyone likes you.
-
June
You're an Australian Shepherd !
It's warm enough to go in the mountains isn't it? TRAIL TRAIL TRAIL TRAIL !

Everyone believe you're weird and strange looking. Well ... they might be true.

Okay, you're cute but ... it's September, who'd rather go to work than Netflix&Chill ?

Winter is coming ... but you're maybe excessive aren't you?

-
December
You're a Husky !
Snow is your element. Now is your time baby, GIVE US ALL YOU'VE GOT !