A database of Chinese Poetry in json format
with both Chinese and English versions.
Why do I want to maintain this database?
Mainly inspired by the highly-stared repository chinese-poetry, the author of which aims
to provide chinese users a quick way to get
exposed to traditional Chinese culture.
Then, it occurs to me why not maintain a similar
database, but in English? According to my experience, I notice that
a lot of native English speakers like to pick some Chinese culture sentences
during their conversation. To enrich their understanding of Chinese culture,
this repository is born.
The repository focuses
on offering developers who are native English speakers and
interested in traditional Chinese culture an original database
which can be used in their projects, forming an mysterious beauty from
ancient China.
How does this repository work?
The repository is written in json format, and organized the
document tree as dynasties-works.
Id format: *-****
eg. 1-0001
The first number: 1->Tang dynasty, 2->Song dynasty, 3->Qing dynasty)
Directories
.
├── index
├── English
├── title
├── dynasty
├── author
└── content
├── Chinese
├── title
├── dynasty
├── author
└── content
└── tag
By the way,the repository is still constructing.
A concrete example:
[
{
"index": "1-0001",
"English":{
"title":"Home-Coming",
"dynasty":"Tang",
"author": "He Zhizhang",
"content":[
"Oh, I return to the homeland I left while young,",
"Thinner has grown my hair, though I speak the same tongue.",
"My children, whom I meet, do not know who am I,",
"Where are you from, dear sir?\" they ask with beaming eyes."
]
},
"Chinese":{
"title":"回乡偶书",
"dynasty":"唐",
"author":"贺知章",
"content":[
"少小离家老大回,",
"乡音无改鬓毛衰。",
"儿童相见不相识,",
"笑问客从何处来。"
]
},
"tags": [
"homesick"
]
}
]
Tag Classification
Age
Ambition
Autumn
Border
Class
Dream
Farewell
Friendship
Frustration
History
Homesick
Honor
Landscape
Love
Longing
Military
Mountain
Music
Night
Optimism
Reunion
Sadness
Season
Silence
Solitude
Spring
Summer
Voyage
Windy
Wine
Winter
License
Chinese_Poetry_Bilingual is published under the
Apache License, Version 2.0.
An utility to convert between available currencies for a given date. This repository provides a Ruby library for obtaining Foreign Exchange (FX) rates and a Ruby on Rails (RoR) web application.
Exchange Rate Library
The code is allocated at web/lib/exchange_rate and it is packaged as a Ruby gem. If you want to test it, please run:
cd web/lib/exchange_rate
rake test
The different end-points to interact with the library are:
Method
Description
ExchangeRate.init
Fetches an XML file from a remote source specified at ExchangeRate.configuration.url_historical; parses it according to an XSD defined at http://www.ecb.int/vocabulary/2002-08-01/eurofxref; and persists the data pulled into a sqlite database allocated at ExchangeRate.configuration.dbname. Note, if the database is already populated, the above steps are ignored.
ExchangeRate.update
Feeds the database with new data from a remote source specified at ExchangeRate.configuration.url_daily. This method unlike ExchangeRate.init populates the database with new rates unless data for a given data/currency already exist. It becomes useful to be called within a scheduler cron on a daily basis.
ExchangeRate.reset
Destroys the database configured at ExchangeRate.configuration.dbname.
ExchangeRate.at({date, amount, from, to})
Returns an exchange rate from currency ‘from’ to currency ‘to’ for a given date. If keyword date is missing, it defaults to Date.today. Similarly, if amount keyword is not given, it defaults to 1. The keywords from and to are expected to be strings (e.g. USD, GBP, PLN, etc).
Configuration of the library
Should you want to change the default configuration options, below are the available variables that may be modified:
ExchangeRate.configure do |c|
c.url_historical = 'foo' # An URL to retrieve an historical (e.g. 90 days data) XML file for currencies/rates
c.url_daily = 'bar' # An URL to retrieve a daily XML file for currencies/rates
c.temp_file = '/tmp/foo.xml' # A path for where the XML file will be cached for parsing/persisting
c.dbname = 'db/bar.sqlite3' # A relative path for where the database will be allocated
end
Web application
A RoR application is used to interact with the ExchangeRate library. Currently, only one controller (e.g. exchange_rates_controller.rb) is provided with the following actions:
Method
Description
exchange_rates#index
Asks the ExchangeRate library for the available Currencies and renders an HTML form located at web/app/views/exchange_rates/index.html.erb) together with a JS file. The JS file (app/assets/javascripts/exchangeRatesIndex.js) performs client-side validations and handles network responses to exchange_rates#at.
exchange_rates#at
Interacts with ExchangeRate.at through the parameters provided by the web client and returns a JSON string with a result key for a valid conversion or a detail message if any error is encountered (ArgumentError, RuntimeError, etc).
Cron
There is set up a cronjob at the OS level that runs ExchangeRate.update method every day at 16:00 (UTC) and persists new data in the database for the library, if not already present there. See exchange-rate-cron and exchange-rate-cron.sh for specification details.
How to install it
This utility runs on an isolated environment using Docker. If you have Docker installed locally, please type:
docker build -t ubuntu-sqlite3-rails .
to build an Ubuntu OS image together with all the dependencies needed to run this code.
How to run it
In order to run the app, please make sure that the image has been built successfully and afterwards you should be able to type:
docker run --rm -it -v "$PWD/web":/usr/src/app -p 3000:3000 ubuntu-sqlite3-rails
which runs a container in an interactive mode that is auto-destroyed whenever is terminated. Note that a volume is mounted within the container to easy changing any code within web folder without needing to re-build the image. The web interface should be accessible through http://localhost:3000/exchange_rates.
Refer to help and version this program compiled by using -V or -h
rsprxencrypter -h
or to check the version
rsprxencrypter -V
All Available CLI interface
Usage: rsprxencrypter --source <SOURCE>
Options:
-s, --source <SOURCE> Pass `-s ` <source Eboot or Prx file path>
-h, --help Print help
-V, --version Print version
Signing
rsprxencrypter -s <prxfile>
or
rsprxencrypter --source <prxfile>
it should output data.psp in the same directory
Todo List
[]Implement full hashing standard FIPS PUB 180-1 published April 17, 1995 optimized in rust the rijndael (aes) and sha1 used in signing , even its legacy and insecure . our goals is to easily sign homebrew here, and remove some caveats and portability issues on non 32bits processor , maybe through emulating some or align and padding accordingly see rspspkirk/crypto.rs for more insight.
[]optional create PrxDecrypter in pure rust
Goals
[] write it in pure rust.
[] Sign PSP Homebrew to run on Official Playstation Portable Firmware easily.
[] Make sign EBOOT.PBP files to run on unmodified PSPs checkmark in rust-psp crates
[] easily build , and compile, mantain this tools for the homebrew development project using rust programing lang targeting Playstation Portable mipsel-sony-psp
Thanks
Credits to alls big shoulder who had been in PSP Scenes that share info online , either Hacking , Developing , Create the SDK or share document the hardware, ~ You’re Cools
- pspdev wiki
- bbtgp from the code from wololo forum
- kirk_engine from google svn
- the team that write emulator in C++
- all reverse engineer gods in PSP scene that on homebrew scene
- ~PSP that create the closed box
The pqxx connection pool library is a single-header C++ library designed for managing a pool of connections to a PostgreSQL database using the libpqxx library. This library provides an efficient way to handle multiple database connections in a thread-safe manner.
or you can use C++17 and replace std::format with fmt::format using fmt
libpqxx installed and configured in your development environment
PostgreSQL server accessible on your machine
Installation
Include the pqxx_connection_pool.hpp header in your project
Usage
Setting Up Connection Options
Define the connection parameters using the connection_options struct:
cp::connection_options options;
options.dbname = "your_database";
options.user = "your_username";
options.password = "your_password";
options.hostaddr = "database_host_address";
options.port = 5432; // Default PostgreSQL port
options.connections_count = 8; // Default number of connections in the pool
Creating a Connection Pool
Instantiate a connection_pool object with the defined options:
cp::connection_pool pool(options);
Using Transactions
To perform database operations, create a transaction:
{
auto tx = cp::tx(pool);
// Execute your queries
tx.commit();
}
// Connection is automatically returned to the pool
Unnamed Queries
cp::query my_query("SELECT * FROM my_table WHERE id = $1");
auto tx = cp::tx(pool, my_query);
pqxx::result result = my_query(1); // Execute the query with parameter
tx.commit();
Named Queries
But it is preferable to use named queries, because in case of an error, the Posgres driver responds with an error indicating in which query it occurred.
cp::named_query my_query("my_query", "SELECT * FROM my_table WHERE id = $1");
auto tx = cp::tx(pool, my_query);
pqxx::result result = my_query(1); // Execute the query with parameter
tx.commit();
Get access to pqxx::work from Transaction
auto tx = cp::tx(pool, ....);
auto& work = tx.get();
// Execute queries
work.commit();
$ docker pull tomastomecek/rust — this is the most recent stable release
$ docker pull tomastomecek/rust:nightly — this is the most recent, functional nightly release
$ docker pull tomastomecek/rust:clippy — latest nightly image with clippy
Every stable image is also tagged with version of Rust compiler, so for example:
$ docker pull tomastomecek/rust:1.17.0
For more info what versions are available, see the section Tags.
Usage
You should mount your project inside directory /src within the container. cargo and rustc commands are then available in the container.
Here is a guide how to perform some common actions:
Compile a file:
$ ls -lha .
total 4.0K
-rw-rw-r-- 1 me me 37 May 23 13:10 main.rs
$ docker run -ti -v $PWD:/src/ tomastomecek/rust rustc ./main.rs
$ ./main
It works!
$ ls -lha .
total 3.5M
-rwxr-xr-x 1 me me 3.5M May 26 18:11 main
-rw-rw-r-- 1 me me 37 May 23 13:10 main.rs
Create a new project using cargo:
$ mkdir the-best-project
$ cd the-best-project
$ docker run -ti -v $PWD:/src/ tomastomecek/rust cargo init --bin
Created binary (application) project
$ ls -lha .
total 8.0K
drwxrwxr-x 4 me me 61 May 26 18:35 .
drwxrwxr-x 7 me me 143 May 26 18:29 ..
-rw-r--r-- 1 me me 76 May 26 18:35 Cargo.toml
drwxr-xr-x 6 me me 96 May 26 18:17 .git
-rw-r--r-- 1 me me 120 May 26 18:35 .gitignore
drwxr-xr-x 2 me me 19 May 26 18:35 src
Compile a cargo project:
$ ls -lh .
total 8.0K
-rw-r--r-- 1 me me 76 May 26 18:35 Cargo.toml
drwxr-xr-x 2 me me 19 May 26 18:35 src
$ docker run -ti -v $PWD:/src/ tomastomecek/rust cargo build
Compiling src v0.1.0 (file:///src)
Finished dev [unoptimized + debuginfo] target(s) in 0.34 secs
$ ./target/debug/src
Hello, world!
CI/CD pipeline
These images are being created using a very simple CI/CD pipeline. Here’s how it works:
Travis CI initiates a build every day using its Cron Jobs feature.
**Deep-Stream-Cam** enables seamless real-time face swapping and video deepfakes with just a single image and a single click. Leverage AI to effortlessly transform video content in an instant and explore advanced visual effects.
Disclaimer
This software aims to enhance the AI-generated media industry, supporting tasks like animating custom characters or creating digital models.
Important Notes:
The software has built-in checks to prevent processing inappropriate media (e.g., nudity, war footage).
Users must respect ethical guidelines and obtain consent when using real people’s faces.
The software may be modified or shut down if legally required.
Kebutuhan performa tinggi dari device IoT dibutuhkan untuk membantu proses penerjemahan aksi menjadi informasi ataupun sebaliknya, terlebih jika device tersebut dijadikan sebagai master gateway bagi node-node lain yang berada disekitarnya. Interkoneksi peripheral dengan macam-macam protokol komunikasi, jumlah I/O dari device, ataupun pengolahan data in-situ sebelum dilempar ke node berikutnya dapat menyederhanakan alur kerja serta mereduksi cost akan modul-modul tambahan. Menjawab kebutuhan itu, SENTSOR Core Board WROOM-32U hadir dengan varian development board yang siap di embed dalam tantangan tersebut.
Dibekali dengan chip ESP32 dual core CPU dengan clock up to 240MHz dengan on-chip 520kB SRAM dan 4MB memory flash yang memanjakan hampir semua kebutuhan processing at edge. Untuk hal interkomunikasi, chip yang dikemas dalam modul WROOM-32U ini menghadirkan konektivitas wireless kombo WiFi, bluetooth (classic) dan bluetooth low energy (BLE), serta interkoneksi wired umum seperti SPI, I2C, I2S, UART dan GPIO. Dipadukan dengan fitur utama dari board SENTSOR yaitu RTC presisi DS3231 yang tentunya mempunyai kapabilitas sinkronisasi terhadap NTP untuk timestamp akurat, serta adapter memory card ukuran MicroSD untuk keperluan penyimpanan data lokal. Tanpa melupakan power management, dengan semua fitur yang dikemas dalam ukuran mini (~6x4cm), board ini hanya mengkonsumsi arus idle sebesar 172uA. Dipadukan dengan on-board BMS (charger + proteksi) menjadikan SENTSOR Core Board WROOM-32U kompatibel untuk dijadikan perangkat remote yang self-sustained.
Features
Compact & powerful, 58.42×40.64mm (2300x1600mil) dengan MCU+RTC+uSD+BMS onboard.
2x18P pinout layout, pitch 2.54mm (100mil), dengan susunan 1 sisi untuk peripheral (power, programming, communication) dan 1 sisi untuk GPIO, mempermudah manajemen jalur/kabel yang akan digunakan.
Castellated holes & pin header, pilihan koneksi untuk mempermudah pengaplikasian board SENTSOR Core pada setiap kebutuhan.
ESP32 SOC, Dual Core 32-bit MCU, ULP co-processor dan 4MB flash dengan clock up to 240MHz.
802.11b/g/n WiFi connectivity, support mode STA/AP/STA+AP dengan antena external via konektor U.FL/IPEX memungkinkan board SENTSOR Core WROOM-32U ditanam didalam enclosure metal tanpa menggangu kualitas sinyal transceiver.
Bluetooth 4.2 connectivity, support protokol bluetooth classic dan Low Energy (LE).
Low Power, down to 52uA (deep sleep ESP32 only), 172uA (deep sleep ESP32+DS3231) dan 37.2mA (modem sleep ESP32 @240MHz+DS3231).
DS3231 Extremely Accurate RTC, terhubung via I2C pada alamat 0x68.
MicroSD socket, terhubung via SPI dengan slave select (SS) pada pin IO5.
Built-in LED, terhubung pada pin IO2, konfigurasi active-low.
Auto-reset trigger, memudahkan penggantian boot mode saat proses upload firmware dengan pin kontrol DTR dan RTS.
Battery Powered, jalankan board SENTSOR Core WROOM-32U dimana saja tanpa masalah power dengan Li-ion 1S via konektor JST-PH.
TP4054 Battery Charger, charge baterai dengan arus up to 500mA.
DW01A Battery Protection, pengamanan saat penggunaan baterai terhadap overcharge, overdischarge, overcurrent, dan short circuit.
ME6211 LDO, dengan VIN max. 6V dan IOUT max. 500mA. Kompatibel untuk dihubungkan dengan solar cell sebagai power input charger.
18 pin GPIO @3V3 level, 3xUART, 2xSPI, 2xI2C, 2xI2S, 12bit ADC, 8bit DAC, hall-effect sensing, capacitive sensing dll. Silahkan lihat gambar diatas untuk lebih lanjut.
Built-in Voltage Divider, 0.1% precision resistor divider rasio 1/2 pada pin ADC yang terhubung ke internal I35 memungkinkan untuk melakukan sensing tegangan up to 6.6V. Kompatibel untuk monitoring tegangan VBAT sebagai metode estimasi kapasitas baterai.
How to Use
Programming & Uploading Firmware
SENTSOR Core Board WROOM-32U memerlukan programmer external (USB to UART) untuk mengupload firmwarenya seperti FT232, CH340, CP2102, PL2303, dll. Untuk melakukan proses upload firmware, hubungkan chip programmer dengan board SENTSOR seperti berikut:
Programmer
SENTSOR board
+3V3 (atau +5V)
+3V3 (atau VIN)
GND
GND
TX
RX
RX
TX
DTR
DTR
RTS
RTS
Selanjutnya pilih board ESP32 Dev Module. Beberapa hal yang perlu diperhatikan yaitu ESP32 WROOM-32U memiliki ukuran flash sebesar 4MB (silahkan pilih kombinasi alokasi partisi sesuai keperluan), dan tanpa PSRAM. Setelah itu SENTSOR Core Board WROOM-32U dapat digunakan sebagaimana development board pada umumnya.
Dependency
Arduino IDE memerlukan ESP32 Core untuk bisa melakukan pemrograman terhadap chip ESP32. Silahkan ikuti instruksi ini untuk melakukan instalasi ESP32 Core untuk Arduino IDE, untuk IDE lain menyesuaikan sesuai instruksi masing-masing.
File example yang disediakan memiliki library dependency terkait RTC yaitu:
Silahkan install library tersebut jika dibutuhkan dalam program yang akan kalian buat.
Battery Powered
SENTSOR Core Board WROOM-32U dapat dijalankan dengan menggunakan battery Li-ion 1S (3.7V-4.2V) via konektor JST-PH. Proses charging dapat dilakukan langsung on-board dengan cara mensupply daya via pin VIN (max. 6V).
⚠️ Perhatian!
Harap perhatikan secara seksama polaritas dari konektor baterai agar sama dengan yang tertera pada board (terdapat tulisan +/- pada silkscreen). Dikarenakan konektor ini belum distandarisasi maka memungkinkan baterai yang akan digunakan memiliki susunan polaritas berbeda (positif di pin 1 & negatif di pin 2 atau sebaliknya).
On-board Jumper Pad
SENTSOR Core Board WROOM-32U memiliki 2 buah jumper pad:
Jumper JP1 menghubungkan VBAT dengan ADC yang selanjutnya terhubung ke pin I35 via voltage divider.
Jumper JP2 menghubungkan IO4 dengan gate Q4 sebagai switching power VIN (konfigurasi active-high). Saat IO4 aktif (high/1), supply daya dari VIN akan diputus sehingga modul beralih menggunakan VBAT, berguna saat operasi yang membutuhkan supply daya yang reliable dari baterai.
Untuk informasi lebih lengkap silahkan lihat pada file skematik.
Bill of Materials
Designator
Qty
Name/Value
Footprint
U1
1
ESP32-WROOM-32U
ESP32-WROOM-32U
U2
1
ME6211C33
SOT-23-5
U3
1
TP4054
SOT-23-5
U4
1
DW01A
SOT-23-6
U5
1
DS3231SN#
SOIC-16_300MIL
R2,R1
2
100k
R0603
R19
1
100k
R0402
R9,R11
2
10k
R0603
R15,R12,R14,R13
4
10k
R0402
R16,R17
2
4.7k
R0603
R10,R3,R6,R4
4
1k
R0603
R5
1
100
R0603
R18
1
100
R0402
R7,R8
2
300k, 0.1%
R0603
C4,C6
2
10u
C0603
C7
1
10u
C0402
C1,C2
2
1u
C0603
C10
1
1u
C0402
C5
1
100n
C0603
C9,C11,C8,C12
4
100n
C0402
C3
1
330u, 4V
CASE-B_3528
Q4,Q1
2
CJ2301
SOT-23-3
Q2
1
SL8205S
SOT-23-6
Q3
1
UMH3N
SC-70-6
D1
1
B5819W
SOD-123
LED1
1
Blue
LED0603
LED2
1
White
LED0603
RST
1
Tact Switch
3x4x2_SMD
CN1
1
JST-PH, 2P
PH-2P_P2.00_SMD
CARD1
1
TF-115K
TF-115K
B1
1
CR1220
BAT_CR1220_SMD
Design
SENTSOR Core Board WROOM-32U merupakan open source hardware, silahkan dimanfaatkan secara bijaksana.
The AsciiDoc Working Group drives the standardization, adoption, and evolution of AsciiDoc. This group encourages and shapes the open, collaborative development of the AsciiDoc language and its processors.
Getting started
Prerequisites
The following pre-requisites are necessary to create a local preview of the site.
If you only want to change content without a local preview, only a text editor is necessary to change content.
Node and NPM (LTS 14.x) to install resources and dependencies – see https://nodejs.org/
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v. 2.0 which is available at https://www.eclipse.org/legal/epl-2.0.