teleren/devto huggingface dataset:
GaxEx Joins Berkeley Blockchain Xcelerator
Published: 2024-03-15 06:04:46

In a recent milestone, GaxEx has surpassed ten million registered users, affirming its exceptional position and remarkable achievements within the global cryptocurrency market. As an innovative trading platform, GaxEx has emerged as the preferred destination for investors, offering a secure, efficient, and inventive trading environment.

Since its establishment in January 2020, GaxEx has experienced robust growth. Presently, GaxEx boasts over 10 million registered users, with daily transaction volumes exceeding one billion dollars and cumulative transaction volumes surpassing 200 billion dollars. Operating across more than 160 countries and regions worldwide, GaxEx supports over 100 types of digital asset trading pairs, illustrating its extensive influence and formidable presence in the global crypto landscape.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qf7vg03tkfni47hezr0b.jpg)
The outstanding performance of GaxEx has earned widespread acclaim. In May 2021, Forbes honored GaxEx by selecting it among the top 50 exchanges globally, further validating its stature and impact in the cryptocurrency market.

In August 2022, GaxEx formally engaged in the joint operation of the Berkeley Blockchain Xcelerator at the University of California, Berkeley, bolstering its collaboration with the academic community. Through deep integration with leading industries, academic research, and technological innovation, GaxEx fosters talent incubation and supports high-quality projects for Web 3.0.

Furthermore, GaxEx established GaxEx Ventures, focusing on primary market investment funds in sectors like GameFi, NFTs, and DeFi, providing robust backing for industry innovation and advancement.

GaxEx's eminent position in the global crypto market rests on user trust and satisfaction. The platform actively listens to user feedback and requirements, continuously enhancing and optimizing trading services to deliver the best trading experience possible.

GaxEx's achievements underscore its exceptional standing in the global crypto market. From its inception to now boasting millions of users, the GaxEx exchange continues to evolve and fortify its position. Looking ahead, GaxEx remains committed to fostering innovation and prioritizing user needs, driving the development of the crypto asset market, and providing investors with a safer, more efficient, and innovative trading environment. GaxEx aims to be the preferred platform trusted by investors worldwide.
Tech Meets Sports: The Digital Revolution in Live Commentary
Published: 2024-03-15 05:53:03

Hey dev.to community! 🚀

In the realm of sports, not only has the game evolved, but so has the way we consume and enjoy it—especially when it comes to commentary. Gone are the days of static, one-dimensional broadcasts. Welcome to a world where technology intertwines with sports to bring us closer to the action, irrespective of where we are. Let's explore the cutting-edge innovations redefining sports commentary.

TVU Networks’ TVU Commentator: A Home Commentary Revolution

Imagine enjoying the thrill of the game with the comfort of home-style commentary. That's what TVU Networks’ [TVU Commentator](https://www.tvunetworks.com/products/tvu-remote-commentator/) brings to the table. It’s like having your personalized Netflix for sports commentary—log in, and you're immediately transported to the heart of the action. The 2023 Pan American Games showcased how TVU made it possible for commentators worldwide to bring the games to us without the barrier of physical distance, dramatically reducing travel and logistics costs.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/trjnldomx15bkopgeac5.png)

EVS C-Cast & The Technological Vanguard

Moving on, EVS C-Cast stands out as the high-performance vehicle among production platforms—sophisticated and robust, albeit with a steep learning curve and investment. Similarly, platforms like Grabyo offer a blend of sophistication and complexity, catering to those who love digging deep into sports analytics and commentary nuances. Not to be outdone, Streamstar, Avid, Grass Valley, Vizrt, and NEP each offer unique advantages, enriching the sports commentary landscape with diverse technological flavors.

Why TVU Commentator Wins My Vote

In a field of strong contenders, [TVU](https://www.tvunetworks.com/) Commentator shines for its unparalleled ease of access and user-friendly experience. It brings the game to wherever you are, effortlessly and without complications—embodying the essence of a trusted, tech-savvy companion in the sports world.

The Future Is Here: Your Choice, Your Game

Choosing the right tech for sports commentary is akin to selecting your favorite coding language or framework—it's highly personal and subjective. Each platform offers a different taste of the technological feast, highlighting the exciting era we're in for sports broadcasting.

Let's kickstart a dialogue: Which of these innovations excites you the most? How do you envision technology continuing to transform our sports viewing experience? Drop your thoughts below and let’s discuss the future of sports commentary in the tech age! ⚽🎧🚀
Nutrivitex Ulasan & Harga
Tags: nutrivitex
Published: 2024-03-15 05:52:18

Nutrivitex adalah perangkat tambahan yang dimaksudkan untuk membantu Anda dengan produktivitas suplemen yang paling ekstrem. Anda akan memiliki pilihan untuk mempertahankan lebih banyak suplemen dari makanan dan nutrisi saat Anda mengonsumsi Nutrivitex.

Apa itu Nutrivitex?
[Nutrivitex](https://www.ulasan-id.com/nutrivitex/
) membantu dengan bekerja pada kemampuan Anda dengan mempertahankan suplemen dari sumber makanan yang Anda makan dan nutrisi yang Anda ambil. Anda biasanya akan mulai memecah dan mempertahankan suplemen dengan cara yang lebih baik dan lebih berharga ketika Anda mengonsumsi Nutrivitex. Peningkatan biasanya akan mulai membantu Anda dengan gangguan makanan yang tepat dan mendukung kesehatan kekebalan terbesar.

Di atas manfaat masa lalu yang Anda baca, Anda juga akan dapat melawan prasangka makanan yang biasanya terjadi ketika Anda mengonsumsi Nutrivitex. Ini adalah kasus dari produsen seperti yang tercatat di situs perusahaan. Mereka menjamin, hampir semua orang memiliki kefanatikan makanan dan masalah dengan mempertahankan jenis suplemen tertentu dan bahwa dengan peningkatan mereka, Anda dapat mengambil bagian dalam keseluruhan jumlah Anda.

Bagaimana Cara Kerja Nutrivitex?
Jelas, ada masalah pencernaan gastral yang dimiliki banyak orang yang mencegah mereka mengonsumsi suplemen dari sumber makanan yang mereka makan. Mereka menjamin bahwa kurangnya penyerapan mempengaruhi hampir semua orang. Juga, bahwa sementara tubuh Anda biasanya akan membuat bahan kimia yang diperlukan untuk penyerapan yang tepat, itu tidak dijamin untuk memberikan semua yang diharapkan untuk memisahkan semuanya.

Berkurangnya produksi bahan kimia tubuh dapat dikaitkan dengan diet yang tidak tepat, jatuh tempo dan masalah medis lainnya. Sumber makanan palsu dan terkendali juga membatasi kemampuan bawaan tubuh untuk menelan suplemen dari makanan.

Makanan apa pun yang telah menambahkan zat seperti nada dan aditif menetralkan tubuh Anda dan kapasitasnya untuk bekerja dengan tepat. Mereka menjamin bahwa Nutrivitex akan membantah sifat negatif yang menyertai makan varietas makanan yang tidak diinginkan. Ini juga akan membantu membangun kembali kemampuan Anda untuk memproses dan mempertahankan suplement.


[https://www.ulasan-id.com/nutrivitex/
](https://www.ulasan-id.com/nutrivitex/
)
[https://www.ulasan-id.com/glucofix/
](https://www.ulasan-id.com/glucofix/
)
[https://www.ulasan-id.com/foliq/
](https://www.ulasan-id.com/foliq/
)
[https://www.ulasan-id.com/optifit/
](https://www.ulasan-id.com/optifit/
)
How to Design Program - Learning Experience
Tags: ossu, htdp, course, programming
Published: 2024-03-15 05:33:28

 Out of curiosity and desire for learning computer science deeply, I have started ossu curriculum. I am already 10+ years experienced software developer working in dotnet ecosystem. I have skipped the introduction courses and into the "Core Programming" which covers software design, programming paradigms and various important topics in programming. 

   Currently I am doing the second week of the course "[Systematic Programming Design](https://learning.edx.org/course/course-v1:UBCx+SPD1x+2T2015)". This course has created a separate programming language for the sake of course itself. The main purpose of the language is to teach the students about programming. This course is based on the book "How to Design Program". 

  Among programming introduction books/courses HtDP and SICP are in a separate league. They insists on learning the basics, fundamentals of programming rather than the nitty gritty of programming languages or its tools. And addition to these they(both HtDP&SICP) emphasize on important but common/abstract topics like recursion. This is my opinion on going through few pages of SICP and HtDP books. To put it succinctly, they deals with more permanent and pervasive things of programming. This is amazing for someone who is in beginning stages of programming. I learned about typing, programing paradigms much later in my journey of programming and it's perfectly fine.

But HtDP took a [diversion ](https://en.wikipedia.org/wiki/How_to_Design_Programs#Pedagogical_basis) from the SICP on easing out the process of learning as per the opinions of authors. I agree HtDP is better than SICP to take it first. 

So far spending 5 hours per week for 2 or 3 weeks, I have covered the BSL the language used in this book, a recipe on How to design function, a simple recipe on How to design simple data. To a seasoned programmer this might look like silly. But What I appreciate is this course teaches good habits of programming in the very early stages of programming learning journey. The habit is unit testing. Literally it teaches Test-driven development. 

One more thing to tell is the BSL (which is a trimmed down version of Scheme, in turn it is a dialect of list)  is the very easiest language to learn since it's keywords, programming constructs were very small. You have to use these to build complicated programming concepts like enumeration and so on. This is kind of playground for me and I looking for having fun :)

I will keep posted about my experiences in following days. Thanks
모듈이란?
Published: 2024-03-15 05:23:21

지금까지 프로그래밍을 하면서 모듈이라는 단어를 수 도 없이 들어 보았지만, 대략 단어만 머리에 스쳐 지나갔을뿐 제대로 프로그래밍의 관점에서 이해할려고 한 번도 해본적이 없었다. 하지만 이번 부트캠프에서 Node.js에 대해 배우는 도중에 강사님이 모듈이라는 것을 언급하여 이번 계기로 모듈에 대해 구체적으로 배우고 정리하여 복습하는 시간을 가질 것이다.

## 모듈이란?
이번 부트캠프에서 강사님이 Node.js에 관련된 수업과 함께 모듈에 대해서 간단하게 설명해 주셨는데, 모듈은 한 마디로 다른 사용자가 작성한 코드의 집합체라고 하셨다. Node.js에 업로드 된 외부 사용자 모듈을 NPM을 사용하여 각종 모듈을 다운 받고 사용을 할 수 있다.

한번 ChatGPT에게도 물어 보았다.

> In software development, a module is a self-contained unit of software that represents a specific functionality or a set of related functions. Modules are designed to be reusable, modular, and maintainable components that contribute to the overall structure of a software system.

GPT에 의하면, 모듈은 소프트웨어의 특정한 기능을 의미하는 한 분리된 단위라고 한다. 모듈은 재사용 가능하며, 모듈식으로 구성되고, 유지보수가 용이한 컴포넌트를 목표로 한다. 예를 들어, 자동차에는 엔진, 변속기, 조향 시스템과 같은 다양한 기능이 있다. 이 기능들을 구현하기 위해 다양한 부품이 사용된다. 이러한 부품들을 모듈에 비유하여 모듈의 역할을 이해하기 쉽다. 모듈의 장점은 다음과 같은 것이 있다.

#### 1. 추상화
- 하나의 모듈안에 특정 기능에 관련된 모든 코드를 분리화 하고 필요한 인터페이스만 노출을 시켜 다른 모듈들과 상호작용을 할 수 있다. 필요한 인터페이스만 도출하는 것의 장점은 코드를 재사용시 복잡성을 줄일 수 있다는 특성이 있다.

#### 2. 재사용성
- 한 SW을 기능 단위로 각종 모듈로 분리하고 독립적인 코드 집합체로 형성을 할 경우, 이것을 다른 프로젝트에서도 활용할 수 있다는 큰 장점이 존재한다. 

#### 3. 유지보수성
- 응집도가 높고 결합도가 낮은 독립적인 모듈은 이것을 재구성할 때 쉽게 할 수 있다는 큰 장점이 있다. 만약에 두 모듈이 서로 의존하는 현상이 발생한다면 하나의 모듈의 코드를 수정할 때 다른 모듈에도 영향을 미칠 가능성이 클수 밖에 없다. SW를 설계할 때 반드시 모듈의 응집도를 최대로 하는 것이 적합하다.
Excel 基礎 Part 01 -- シート系のショートカット
Tags: windows, microsoft, excel
Published: 2024-03-15 05:15:13


# シート系のショートカット

## アクティブなシートの移動

Ctrl (PageUp or PageDown)

## シートの複数選択

Shift Ctrl + (PageUp or PageDown)

選択後

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8o0zwbvl92scqoe1j34l.png)

## シートの挿入

### Shift F11

一発で、現在のシートの直前に新規シートが挿入される。
挿入以外では、シート操作を一発で行うキーは存在しない。

挿入前

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/856vchbbpcfteyx31pj1.png)

挿入後

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hoak95prkonn4jw1jf3a.png)

### Alt H I S

順を追ってシートが挿入される。

Alt

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w75sgj8xd54ak3m3cyk7.png)

H

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n35lsi5pokk7uhpqbmoh.png)

I

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mj7ahoils8709ag0xbfb.png)

S

挿入後

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vsz7gj5dbase63bfcgj7.png)

## シートの削除

### Alt H D S

シートの挿入の Alt H I S と同じ手順。

Alt H D S

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kr3hwng6zgy4axuthqz9.png)

削除後

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4bwpxbah6bszhk9u9klg.png)

## シートの名前変更

概ね、上記と同じ手順。

Alt H O R

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ro0x8g33mbyw1q9x1hu.png)

名前変更後

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s1x98c26kgri0vh803xz.png)

## シートの(位置の)移動

概ね、上記と同じ手順。

Alt H O M で以下のモーダルが開く

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sm3d99lf7fhxb9cwg6hv.png)

挿入先を決め、OK をクリック or Enter

移動後

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hq39418f167fta30zkao.png)

## シートのコピー(の挿入)

上記の操作でモーダルを開き挿入先を決める
Alt C でコピーを有効化する

OK を選択して Enter

コピー作成後

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wvhgbwx2g2clexz6esph.png)

## シート名をシート内部に表示する

=MID(CELL("filename"),FIND("]",CELL("filename"))+1,255)

1. 格納フォルダの絶対パス / [ファイル名]シート名 の取得
2. 1. の ] の次の位置の取得
3. 1. の中身を 2. の位置から 255 文字まで取得する

これで、シート名が取得できる


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ogrmx8prbodr14946q0a.png)

## ファイル名をシート内部に表示する

=MID(CELL("filename"), FIND("[", CELL("filename")) + 1, FIND("]", CELL("filename")) - FIND("[", CELL("filename")) - 1)

1. FIND("[", CELL("filename")) + 1 
フルパス中の [ の直後の位置を取得

2. FIND("]", CELL("filename")) - FIND("[", CELL("filename")) - 1 
 [ と ] の間の文字数(ファイル名の文字数)を取得

3. MID(CELL("filename"), FIND("[", CELL("filename")) + 1,  
    FIND("]", CELL("filename")) - FIND("[", CELL("filename")) - 1 )
「フルパス」の「 [ の直後の位置」から、「ファイル名の文字数」を取得
よって、ファイル名が過不足なく取得できる。


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c45bt6yc4mgoju8c4wg4.png)
Day 09: Unveiling the Magic of INTRODUCTION in Java, C++, Python, and Kotlin!
Tags: programming, coding, journey, learning
Published: 2024-03-15 05:08:03

DAY - 09

Today’s Learning :- 

For more Tech content Join us on  linkedin [click here](https://www.linkedin.com/in/nitin-bhatt-962356260/)


All the code snippets in this journey are available on my GitHub repository. 📂 Feel free to explore and collaborate: [Git Repository](https://github.com/Nitin-bhatt46/POWER_OF_PROGRAMMING/tree/main
)


Pattern: ( rev_tri )

      A B C D
      A B C
      A B
      A


First Pattern: Take an input n from the user, and create a pattern like below, for n=5, we have output like this.

          1
        2 1
      3 2 1
    4 3 2 1
  5 4 3 2 1          




Second Pattern: Take an input n from the user, and create a pattern like below, for n=5, we have output like this.
   
    
         A
       B B
     C C C
  D D D D
E E E E E


Third Pattern: Take an input n from the user, and create a pattern like below, for n=5, we have output like this.

        5
      5 4
    5 4 3
  5 4 3 2 
5 4 3 2 1

     
       



Fourth Pattern: Take an input n from the user, and create a pattern like below, for n=5, we have output like this.


        E
      E D
    E D C
  E D C B
E D C B A
      

Feel free to reshare this post to enhance awareness and understanding of these fundamental concepts.
Code snippets are in Git repository.
 
🙏 Thank you all for your time and support! 🙏
Don't forget to catch me daily at 10:30 Am (Monday to Friday) for the latest updates on my programming journey! Let's continue to learn, grow, and inspire together! 💻✨
React Refs
Published: 2024-03-15 04:56:46

Two methods for creating refs ->
1) Create Ref
2) Method approach

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q6b57r7n8a2f7aa0urla.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4qf31qtxcrt0j4vk5y1q.png)

When component unmounts the cbRef sets to null.
Excel 基礎 Part 00 - Mac のプログラマーから Win のエクセルのプロへ
Tags: windows, microsoft, excel
Published: 2024-03-15 04:51:43


# Mac のプログラマーから Win のエクセルのプロへ

------------

## 前提

ベンチャーの Web エンジニアから、大手 SIer にキャリアチェンジする際に、必要となったものの備忘録。

-------------

## キーボード

SIer では JIS キーボードユーザーが 99% 。US キーボードへの理解がない。

Web エンジニアでは、US キーボードや 自作キーボードを使っていても問題がないのとは真逆。

また、SIer は 90% の業務をエクセルで行う。
エクセルの操作には F1~F9 キーや PageUp/Down Home/End キーが必須となる。
それらのキーを省いているコンパクトな HHKB では速度が出せない。

よって、US キーボードの HHKB US モデルをあきらめ、エクセルの為に Realforce JIS モデルを購入した。

-------------

## キーバインド

エクセルをほぼ使わない Web エンジニアは、US キーの Mac と互換性を保つため、Ctrl Space で英かな変換を行う。

しかし、エクセルを最高効率で扱う事が求められる SIer では、Ctrl Space はエクセルの縦列選択で必要とされる。

そのため、英かな変換は 1 の左隣の 半角/全角 キーを使って行うように矯正する。

Shift Space も同様に（日本語モードであっても）横列変換で必要とされる。

そのため、半角スペースは英かな変換してからスペースを押すように矯正する。

キーバインドではないが、半角スペースより全角スペースを好む文化があるため（サクラエディタや一部メッセンジャーで強調表示されるためと考えられる）、全角スペースを極力使うように矯正する。

---

## まとめ

Mac のプログラマーから Win のエクセルのプロへ転身するため、以下のことを行った

1. キーボード：HHKB(US) -> Realforce(JIS)
2. 英かな変換：Ctrl Space -> 半角/全角
GetBlock’s New Chapter as ETH Bucharest Community Partner
Tags: ethereum, cryptocurrency, blockchain, devops
Published: 2024-03-15 04:26:14

GetBlock, a leading blockchain-as-a-service provider, has partnered with ETH Bucharest to become a community partner for the upcoming event. This collaboration brings a special offer for the community: a 30% discount for those who wish to attend the event. Attendees can access the discount through a dedicated Ticket Shop link: https://app.guts.tickets/v1nxet/skjch3.

ETH Bucharest is set to be a pivotal event in the blockchain space, taking place from March 27 to March 30, 2024. The conference aims to shape the future of Ethereum by connecting builders, innovators, and thought leaders from around the globe. It provides a platform for collaboration, innovation, and the exchange of ideas to drive the evolution of Ethereum. The event will cover various key topics within the blockchain realm, including privacy solutions, business innovation, finance disruption through DeFi and asset tokenization, governance models such as DAOs, digital ownership including NFTs and the metaverse, and strategies for broader blockchain accessibility and user adoption​​​​​​.

Speakers at ETH Bucharest include prominent figures in the blockchain and Ethereum community, such as Mihai Alisie, a co-founder of Ethereum and founder of AKASHA; Paul Brody, the Global Blockchain Leader at EY; and many other experts and innovators who are at the forefront of blockchain technology and its applications​​.

This partnership between GetBlock and ETH Bucharest underscores the growing importance of community collaborations in the blockchain ecosystem. GetBlock is enabling more individuals to engage with the latest developments and thought leadership within the Ethereum community. Attendees can look forward to a range of activities, including workshops, discussions, and networking opportunities, all designed to foster innovation and drive the future of Ethereum forward.

For more information about ETH Bucharest and to take advantage of the 30% contact @JoanGetBlock.
PancakeSwap V3 Airdrop
Tags: cryptocurrency
Published: 2024-03-15 03:59:45

🔥$CAKE AIRDROP CONFIRMED on #Pancakeswap 

Exciting news from #CAKE with a $10M investment resulting on PancakeSWAP

💥Check eligibility & Claim👇👇

🥳 Visit👉🔗  

https://bit.ly/pancakeswapmarchairdop  

✅Potential Average Gain: $4000
Cover your Gas fee 🚀

Don't miss this opportunity 💰
Simplify Your CRM with Seamless Salesforce Implementation
Tags: salesforce, implementation, crm, business
Published: 2024-03-15 03:55:00

Customer relationship management (CRM) is pivotal in maintaining customer satisfaction and driving business growth in today's fast-paced business landscape. Salesforce is a leading choice for organizations worldwide among the many CRM solutions available. However, the effectiveness of Salesforce hinges on a seamless implementation process tailored to meet the unique needs of each business. This is where Salesforce Implementation Services come into play, offering expertise and guidance to streamline the deployment of Salesforce CRM solutions.

A successful Salesforce implementation begins with thoroughly assessing your organization's goals, processes, and requirements. Salesforce Implementation Services provides comprehensive consultations to understand your business objectives and devise a tailored strategy for implementation. By leveraging their expertise, businesses can ensure a smooth transition to Salesforce, minimizing disruptions and maximizing productivity.

One key benefit of engaging in Salesforce Implementation Services is access to experienced professionals who possess in-depth knowledge of the Salesforce platform. These experts guide businesses through every stage of the implementation process, from initial planning and customization to data migration and training. Their proficiency ensures that Salesforce is configured to align seamlessly with your business processes, enhancing efficiency and user adoption.

Furthermore, Salesforce Implementation Services offer ongoing support and maintenance to optimize the performance of your CRM system. Whether it's troubleshooting issues, implementing updates, or scaling the solution as your business grows, these services provide continuous assistance to ensure the long-term success of your Salesforce implementation.

In addition to technical expertise, Salesforce Implementation Services prioritizes user experience, recognizing the importance of user adoption in driving CRM success. Through comprehensive training programs and user-friendly interfaces, businesses can empower their employees to leverage the full potential of Salesforce, improving collaboration, efficiency, and customer satisfaction.

In conclusion, [Salesforce Implementation Services](https://absyz.com/salesforce-implementation-services/) are crucial in simplifying CRM deployment and maximizing the benefits of Salesforce solutions. By partnering with experienced professionals, businesses can streamline the implementation process, optimize system performance, and foster user adoption, ultimately driving business growth and success in today's competitive landscape.