#Log-Structured Merge Tree
Explore tagged Tumblr posts
pixeldesiregames · 11 days ago
Text
Merge, Magic, and Mayhem: Why EverMerge Is My New Fantasy Fix
Tumblr media
If there’s one thing I can’t resist—besides a full-glam mirror selfie—it’s a game that gives me control, sparkle, and a touch of magic. EverMerge: Merge Puzzle Game doesn’t just deliver that. It practically throws a tiara on my head, hands me a wand, and tells me to merge my way to fantasy domination.
Now let me be clear, I’ve played a lot of puzzle games. And most of them try to hook you with surface-level cuteness or quick rewards. But EverMerge hits different. It’s got depth, attitude, and an entire world begging to be pieced together by a boss like me. This isn’t your basic match-3. This is a sprawling, ever-evolving kingdom-building game where merging isn’t just a mechanic—it’s the whole vibe.
You start with a foggy map, mysterious trees, and a whole lot of mess. But once you start merging? Boom. Magic. That tiny log becomes a campfire. Three mushrooms turn into a cottage. Eventually, you’re unlocking entire structures, mythical characters, and areas you didn’t even know existed. It’s the perfect blend of control and surprise. And baby, I live for it.
What makes EverMerge stand out in the sea of puzzle games is how alive it feels. There’s always something to do. Always a timer ticking. A chest unlocking. A reward spinning. A mystery item just waiting for that last piece to merge. It’s like managing a royal concert stage—chaotic, glamorous, and wildly satisfying when everything clicks.
Tumblr media
The characters? Ugh, obsessed. You’ve got sassy fairy tale legends like Cinderella, Peter Pan, Puss in Boots—but with their own modern twist. Cinderella’s not waiting for a prince; she’s crafting potions and rocking a pixie cut. They all have quests and storylines, so you’re not just merging for points. You’re unlocking charm, sass, and a bit of drama. Yes, queen.
The art style leans into bold and bright fantasy with a hint of cheekiness. The animations are snappy, the effects glittery, and the sound design gives you that satisfying “pop” with every successful combo. You can literally hear your progress—and trust me, there’s nothing more addictive than that subtle chime of a merge going perfectly.
Now let’s talk strategy. Because behind the cute colors and characters is a real brain game. Managing limited space on your merge board becomes a full-on test of foresight. Do you merge three now for a quick reward? Or save up to merge five and maximize value? What do you keep, what do you sell, and how do you prioritize when every second feels like a countdown to your next big unlock?
That level of decision-making is what separates casual puzzle games from ones that have me wrapped around their digital finger. EverMerge never punishes you, but it always teases you with something just out of reach. One more item. One more combo. One more hour that you swore you weren’t going to spend on your phone tonight. Yeah, I’ve been there. More than once.
Resource management is another layer. You’ve got energy to balance, tools to craft, and items to harvest. You don’t just get what you want—you work for it, plan for it, and savor it when it finally unlocks. And honestly? That makes the success even sweeter. Because I didn’t just build this fantasy empire. I earned it, darling.
And let’s not ignore how beautifully EverMerge handles progression. Some puzzle games hit a wall fast. But this one keeps unfolding. New zones. Seasonal events. Limited-time merges. Character stories. Bonus drops. It always keeps me coming back with something fresh. It’s like the K-pop comeback of mobile games—constant reinvention, nonstop glam.
Now is it perfect? Not quite. Energy can run low at times, especially when you’re deep in the merge zone and want to keep going. But that’s what pacing is for. It forces me to take a break, sip some tea, reapply my gloss, and come back fresher. Or maybe I’ll just watch an ad or two to speed things up. No shame in my game.
The in-app purchases are there, but they’re not aggressive. You can absolutely play for free and still thrive—though if you’re the type to drop a few coins for that extra sparkle, there are plenty of tempting offers. I may or may not have bought a unicorn-themed bundle. For research purposes.
At the end of the day, EverMerge: Merge Puzzle Game is the kind of beautifully chaotic, fantasy-fueled adventure that fits perfectly into my life. It’s smart, sexy, and gives me that perfect mix of control and surprise. It scratches the same itch as outfit planning or stage choreography—organizing the mess into something fabulous.
So if you’re looking for a new puzzle game obsession, something magical and strategic with just enough glam to make you feel like royalty, I highly recommend falling into the EverMerge spiral. Trust me, this dream world knows how to keep a girl like me hooked.
And now, if you’ll excuse me… I’ve got a golden pumpkin that’s one merge away from becoming a luxury estate.
— Minji
0 notes
nusaibaakter2779 · 3 months ago
Text
特殊数据库的数据结构与优化策略
在现代数据管理中,数据库已经成为各类应用系统的核心组成部分。从传统的关系型数据库到新兴的图数据库、时序数据库等,数据结构和优化策略在数据库的性能表现中扮演着至关重要的角色。不同类型的特殊数据库,因其面临的应用场景和数据类型的差异,往往采用不同的内部数据结构和优化策略,以确保在 电话号码库 特定场景下达到最佳的性能表现。本文将探讨一些特殊数据库的数据结构和优化策略,包括时序数据库、图数据库和全文搜索数据库等,并分析它们如何通过精心设计的数据结构和优化手段提升系统的效率。
1. 时序数据库的数据结构与优化策略
时序数据库(Time Series Database, TSDB)主要用于存储和管理大量的时间序列数据,广泛应用于物联网、金融监控、设备监测等领域。时序数据具有时间顺序性,并且数据量庞大,因此对数据库的存储和查询效率提出了高要求。
Tumblr media
数据结构:
时序数据库通常采用以下几种数据结构来存储数据:
时间戳索引:由于时序数据是按时间顺序生成的,时间戳是查询和检索数据的核心索引。通过���用B树或LSM树(Log-Structured Merge Tree),时序数据库能够高效地根据时间戳对数据进行插入和查询。
列式存储���时序数据通常涉及某些特定的列(例如传感器的读数、温度、湿度等),而不是行式存储。列式存储方式有助于提高查询性能,尤其是在需要扫描大量数据的分析任务中。列式存储优化了IO性能,减少了不必要的磁盘读取。
压缩算法:时序数据库的数据往往具有高度的时序相关性,因此可以通过压缩技术(如差分编码、Run-Length Encoding等)有效减少存储空间需求。通过减少存储量,可以降低磁盘IO负载,提高性能。
优化策略:
数据分区与分片:为避免单一节点的数据过载,时序数据库通常采用数据分区和分片策略。例如,将数据按时间范围(如按天、周或月)划分为多个分区,每个分区可以分布在不同的存储节点上。这样可以降低查询延迟,并提高数据的读写并发性能。
数据预聚合与压缩:时序数据库可以通过对大量数据进行预聚合处理(如求和、平均等),将频繁查询的指标数据提前计算并存储,从而减少查询时的计算量。此外,数据压缩技术可以有效节省存储空间,同时减少磁盘I/O负载。
2. 图数据库的数据结构与优化策略
图数据库(Graph Database)是专门用于存储和处理图数据结构的数据库,常用于社交网络分析、推荐系统、知识图谱等领域。图数据的特点是节点和边的高度关联性,这要求图数据库能够高效地处理这些复杂的关系数据。
数据结构:
邻接表与邻接矩阵:图数据库中最常用的数据结构是邻接表和邻接矩阵。邻接表通过存储每个节点的邻居节点来表示图,而邻接矩阵则使用一个二维矩阵表示节点之间的关系。对于稀疏图,邻接表比邻接矩阵更节省空间,而对于密集图,邻接矩阵则可能更加高效。
B树与Trie树:为了加速节点查询,许多图数据库使用B树或Trie树来索引图中的节点。这些数据结构能够提供快速的插入、删除和查找操作,尤其在处理大规模图数据时,能有效提升查询效率。
优化策略:
索引与路径优化:图数据库通常会为节点和边建立多种索引,优化节点之间的路径查找速度。例如,可以根据节点属性、关系类型或节点间的最短路径建立索引,以加速图的遍历查询。
并行处理与分布式存储:图数据库通常需要处理复杂的查询,如深度优先搜索(DFS)和广度优先搜索(BFS)。为了提高查询效率,很多图数据库采用并行计算和分布式存储策略,将图数据���散到多个节点上进行处理,利用多核CPU或多台机器的计算资源加速查询过程。
图计算与分析优化:针对复杂的图分析任务,如最短路径计算、社区检测等,图数据库采用专门的图计算算法,优化这些计算任务的执行速度。例如,使用图卷积网络(GCN)等深度学习算法进行图数据的分析。
3. 全文搜索数据库的数据结构与优化策略
全文搜索数据库专门用于处理和检索大规模文本数据,如网站内容、文档管理系统等。它们的目标是提供高效的文本查询能力,包括模糊查询、短语匹配、全文索引等。
数据结构:
倒排索引:全文搜索数据库最常用的数据结构是倒排索引。倒排索引将每个单词与包含该单词的文档进行映射,使得在查询时能够快速定位包含特定单词的文档。每个词条会记录出现的位置、频率等信息,从而支持高效的文本检索。
Trie树与B树:为了提高查询性能,一些全文搜索系统还会使用Trie树或B树来加速前缀查询和自动补全功能。Trie树可以有效支持前缀匹配,而B树则有助于对索引进行排序和范围查询。
优化策略:
分词与标准化:为了提高查询效率,全文搜索数据库通常会对输入文本进行分词和标准化处理。分词将文本分解为独立的词语,标准化则包括去除停用词、大小写转换和词干提取等操作,从而减少索引的冗余和提高搜索的准确度。
索引压缩与分片:全文搜索系统会使用压缩算法减少倒排索引的存储空间,并通过分片技术将数据分布到多个节点上进行存储。这样可以在保证查询效率的同时,有效降低存储成本。
缓存与预处理:全文搜索数据库通常会使用缓存机制,将常用的查询结果存储在内存中,从而减少对磁盘的访问。通过预处理和缓存热门查询结果,系统能够在高并发情况下仍然保持高效的响应速度。
总结
特殊数据库的优化策略和数据结构设计直接影响到数据库的性能和应用效果。时序数据库通过时间戳索引、列式存储和数据压缩来处理大规模的时序数据;图数据库通过邻接表、邻接矩阵和并行计算优化图查询;全文搜索数据库通过倒排索引、分词和分片技术提高文本数据的检索效率。通过选择合适的数据库数据结构和优化策略,企业能够提升数据库的响应速度、减少存储需求,并在高并发的环境下维持系统的稳定性和高效性。
0 notes
souhaillaghchimdev · 3 months ago
Text
Understanding Algorithms and Data Structures
Tumblr media
Algorithms and data structures are fundamental concepts in computer science and programming. Understanding these concepts is crucial for writing efficient code and solving complex problems. This guide will introduce you to the basics of algorithms and data structures and why they matter.
What Is an Algorithm?
An algorithm is a step-by-step procedure for solving a specific problem or performing a task. It takes an input, processes it, and produces an output. Algorithms are essential for tasks such as searching, sorting, and data manipulation.
Characteristics of a Good Algorithm
Correctness: The algorithm produces the correct output for all valid inputs.
Efficiency: The algorithm runs in a reasonable amount of time and uses resources effectively.
Finiteness: The algorithm terminates after a finite number of steps.
Generality: The algorithm can be applied to a broad set of problems.
Common Types of Algorithms
Sorting Algorithms: Organize data in a specific order (e.g., Quick Sort, Merge Sort, Bubble Sort).
Searching Algorithms: Find specific data within a structure (e.g., Binary Search, Linear Search).
Graph Algorithms: Work with graph structures (e.g., Dijkstra's Algorithm, Depth-First Search).
Dynamic Programming: Solve complex problems by breaking them down into simpler subproblems.
What Are Data Structures?
A data structure is a way to organize and store data in a computer so that it can be accessed and modified efficiently. Choosing the right data structure is crucial for optimizing the performance of algorithms.
Common Data Structures
Arrays: A collection of elements identified by index or key.
Linked Lists: A linear collection of elements, where each element points to the next.
Stacks: A collection that follows the Last In First Out (LIFO) principle.
Queues: A collection that follows the First In First Out (FIFO) principle.
Trees: A hierarchical structure with nodes connected by edges (e.g., binary trees).
Graphs: A collection of nodes connected by edges, used to represent networks.
Hash Tables: A data structure that stores key-value pairs for efficient retrieval.
Choosing the Right Data Structure
Choosing the right data structure depends on the problem you're trying to solve. Consider the following factors:
Type of data: Is it linear or hierarchical?
Operations needed: Will you need to search, insert, delete, or traverse data?
Memory constraints: How much memory do you have available?
Performance requirements: What are the time complexities for different operations?
Time and Space Complexity
Understanding the efficiency of algorithms is crucial. Two important concepts are:
Time Complexity: Measures the time an algorithm takes to complete as a function of the input size (e.g., O(n), O(log n)).
Space Complexity: Measures the amount of memory an algorithm uses as a function of the input size.
Conclusion
Algorithms and data structures are essential tools for every programmer. Mastering these concepts will enable you to write efficient code, solve complex problems, and build robust applications. Start by practicing simple algorithms and data structures, and gradually work your way up to more advanced topics.
0 notes
zdenvs3000w24 · 1 year ago
Text
Mother Nature's Mixtape
Imagine yourself by a serene lake, where the water mirrors the sky and carries the sound of a gentle breeze. As the wind weaves through the trees, it brings with it distant melodies, blending with the symphonies of the ecosystem. In these moments, music and nature merge, where nature reflects music just as music reflects nature. 
Tumblr media
This is a picture I took from a hiking trail in Milton!
Howard Gardner’s work on multiple intelligences shed light on the diverse ways individuals interact with the world around them. Through his theory, Gardner illuminated the rich tapestry of human potential, categorizing different intelligences that manifest in various degrees within each individual (Beck et al., 2018). Among these intelligences lies the musical domain which he describes as a realm of individuals who have a sensitivity to rhythm, pitch, meter, melody, and tones and can potentially come in handy as a tool for interpreters (Beck et al., 2018). But, what if the theory of multiple intelligences, specifically the musical domain, extends beyond humanity alone? 
Music in nature expresses mixtures of joy, sorrow, and desires that we perceive as mere symphonies, blissfully unaware of the secrets it whispers. Consider the deep melodies of humpback whales, echoing through the depths of the ocean. Their sounds, reminiscent of human compositions, reveal a striking similarity in structure and form (Gray et al., 2001). Like our own musical traditions, whale songs follow patterns of rhythm, tone, timber, and melodies (Gray et al., 2001). Now some believe that musical instruments are exclusive to humans, given their intricate design and usage in human culture. However, this assumption can be challenged when observing the behaviors of certain birds, such as the palm cockatoo of Northern Australia and New Guinea (Gray et al., 2001). Palm cockatoos use “instruments” like twigs to drum on hollow logs as part of their courtship ritual (Gray et al., 2001). These behaviors illuminate the diverse ways in which creatures engage with musical expression, expanding our understanding of music’s origin and universality. 
On the other hand, nature in music reveals itself both explicitly and implicitly. It can show itself through compositions, mimicking or taking inspiration from the elements of nature. Some music might transport listeners to a natural setting, evoking emotions or memories of specific landscapes or experiences. From the lens of interpretation, music can be a powerful tool. It possesses the ability to evoke profound emotions within listeners, to anchor words and information in one’s memory, and to transport individuals into vivid mental landscapes, bringing the outdoors to life within the sanctuary of one’s mind  (Beck et al., 2018).
A song that does just that for me is Counting Stars by OneRepublic. While the song itself doesn’t explicitly evoke images of nature, it reminds me of memorable family road trips. I recall us heading to a cottage nestled amid lush forests and serene lakes. The morning sun painted the landscape in golden hues, while the crisp breeze greeted us through rolled-down windows. As we journeyed mile by mile, the song played softly in the background, harmonizing with the tranquil beauty outside. It was a refreshing change from the city life in Toronto that I’m accustomed to, and it created memories of tranquility and a sense of adventure.
References:
Beck, L., Cable, T. T., & Knudson, D. M. (2018). Interpreting cultural and natural heritage: for a better world. Sagamore Venture. 
Gray, P. M., Krause, B., Atema, J., Payne, R., Krumhansl, C., & Baptista, L. (2001). The Music of Nature and the Nature of Music. Science, 291, p. 52-54.
0 notes
tutort-academy · 2 years ago
Text
How to Ace Your DSA Interview, Even If You're a Newbie
Are you aiming to crack DSA interviews and land your dream job as a software engineer or developer? Look no further! This comprehensive guide will provide you with all the necessary tips and insights to ace your DSA interviews. We'll explore the important DSA topics to study, share valuable preparation tips, and even introduce you to Tutort Academy DSA courses to help you get started on your journey. So let's dive in!
Tumblr media
Why is DSA Important?
Before we delve into the specifics of DSA interviews, let's first understand why data structures and algorithms are crucial for software development. DSA plays a vital role in optimizing software components, enabling efficient data storage and processing.
From logging into your Facebook account to finding the shortest route on Google Maps, DSA is at work in various applications we use every day. Mastering DSA allows you to solve complex problems, optimize code performance, and design efficient software systems.
Important DSA Topics to Study
To excel in DSA interviews, it's essential to have a strong foundation in key topics. Here are some important DSA topics you should study:
1. Arrays and Strings
Arrays and strings are fundamental data structures in programming. Understanding array manipulation, string operations, and common algorithms like sorting and searching is crucial for solving coding problems.
2. Linked Lists
Linked lists are linear data structures that consist of nodes linked together. It's important to understand concepts like singly linked lists, doubly linked lists, and circular linked lists, as well as operations like insertion, deletion, and traversal.
3. Stacks and Queues
Stacks and queues are abstract data types that follow specific orderings. Mastering concepts like LIFO (Last In, First Out) for stacks and FIFO (First In, First Out) for queues is essential. Additionally, learn about their applications in real-life scenarios.
4. Trees and Binary Trees
Trees are hierarchical data structures with nodes connected by edges. Understanding binary trees, binary search trees, and traversal algorithms like preorder, inorder, and postorder is crucial. Additionally, explore advanced concepts like AVL trees and red-black trees.
5. Graphs
Graphs are non-linear data structures consisting of nodes (vertices) and edges. Familiarize yourself with graph representations, traversal algorithms like BFS (Breadth-First Search) and DFS (Depth-First Search), and graph algorithms such as Dijkstra's algorithm and Kruskal's algorithm.
6. Sorting and Searching Algorithms
Understanding various sorting algorithms like bubble sort, selection sort, insertion sort, merge sort, and quicksort is essential. Additionally, familiarize yourself with searching algorithms like linear search, binary search, and hash-based searching.
7. Dynamic Programming
Dynamic programming involves breaking down a complex problem into smaller overlapping subproblems and solving them individually. Mastering this technique allows you to solve optimization problems efficiently.
These are just a few of the important DSA topics to study. It's crucial to have a solid understanding of these concepts and their applications to perform well in DSA interviews.
Tips to Follow While Preparing for DSA Interviews
Preparing for DSA interviews can be challenging, but with the right approach, you can maximize your chances of success. Here are some tips to keep in mind:
1. Understand the Fundamentals
Before diving into complex algorithms, ensure you have a strong grasp of the fundamentals. Familiarize yourself with basic data structures, common algorithms, and time and space complexities.
2. Practice Regularly
Consistent practice is key to mastering DSA. Solve a wide range of coding problems, participate in coding challenges, and implement algorithms from scratch. Leverage online coding platforms like LeetCode, HackerRank to practice and improve your problem-solving skills.
3. Analyze and Optimize
After solving a problem, analyze your solution and look for areas of improvement. Optimize your code for better time and space complexities. This demonstrates your ability to write efficient and scalable code.
4. Collaborate and Learn from Others
Engage with the coding community, join study groups, and participate in online forums. Collaborating with others allows you to learn different approaches, gain insights, and improve your problem-solving skills.
5. Mock Interviews and Feedback
Simulate real interview scenarios by participating in mock interviews. Seek feedback from experienced professionals or mentors who can provide valuable insights into your strengths and areas for improvement.
Following these tips will help you build a solid foundation in DSA and boost your confidence for interviews.
Conclusion
Mastering DSA is crucial for acing coding interviews and securing your dream job as a software engineer or developer. By studying important DSA topics, following effective preparation tips, and leveraging Tutort Academy's DSA courses, you'll be well-equipped to tackle DSA interviews with confidence. Remember to practice regularly, seek feedback, and stay curious.
Good luck on your DSA journey!
0 notes
huaxxian · 4 years ago
Text
Stone Skipping || CH1 ; 𝘩𝘦 𝘸𝘩𝘰 𝘭𝘪𝘷𝘦𝘴
Tumblr media
In the midst of their pleading, rickety lines overcame [name]'s vision. They were wild and quickly spread throughout the darkness that encased them, spreading hope within the depths of their heart. Light seeped through these cracks, and before they knew it..
The darkness was no more. 
First, it was their eye. Their actual sight had returned. From what [name] could tell, the stone pieces were cracking and surely falling off from their body. Then, they looked around the environment. Unlike only-Senku-knows-how-long ago, nature had completely taken over the area they were in. The plants were lush and green, the trees so tall that they practically reached the sky, the vines grew over and into anything they could grasp, there were no signs of buildings or any man-made structures. Instead, what greeted them besides green, green, and even more green, were two pairs of beady little eyes staring at their form, in what [name] could gather, to be perplexity. They were curious, but at the same time, were keeping their distance.
Monkeys, their mind helpfully supplied. Monkeys that have most likely never seen a human, or a bipedal for that matter, in what I could only assume to be a very long time. 
Deciding to move, they tried to wriggle their fingers, but to no use. It was still stuck, so they left it be for now. Instead, they inspected the pieces of stone gathering around their shoulders, and slowly but surely turned their head, accelerating the process. It's working. More pieces of stone fell from their head and hair, until finally, most of them had already fallen. [name]'s head and neck being free for the most part, they turned it to the side to look for any of her friends. 
Unfortunately, no one could be seen. 
[name] frowned. Not much better than being in that darkness. 
Alright, that's enough. I shouldn't stay stationary for too long. They fought against the restriction caused by the stone, successfully freeing their hands. Then, their arms followed, their upper half, and last but not least, their lower half. They slid down to the floor, sighing. The school uniform as well as the lab coat had completely disappeared from their body, leaving them open. [name] would be more embarrassed, if it weren't for the state of the world they were in.  It shouldn't matter as much as it did before
Still, prioritizing clothes should be pretty high on the list. 
The teenager stood up, walking over to a patch of vines and leaves nearby. They took some and placed them on their body, acting as temporary clothes. It's been so long that their feet had been merged in the ground, and upon their movement, had left heavy footprints. 
Out of nowhere, the loud screeches of other monkeys echoed throughout the forest, making [name] look towards their general direction. The ones that were staring them down a while ago had ran away at the sound, returning the screeches. I should avoid that area, who knows what's there that made them run away in fear. Instead of going towards there, they chose to continue forward. Statues surrounded the teen from all sides, all varying in sizes. Adults and children, all frozen in the very same state they were in prior. Most look to be running away, or at the very least, must have been trying to before they got petrified. Several of them had missing body parts ranging from arms, to legs, to even pieces of their head. Their hands reached out, their expressions horrified, their mouths open to call for help.
But no one came. 
They stopped, head tilting to the side. To their left, they see a person sitting down on what it seems to be tree's huge roots. He was extremely muscular. His abs showed easily, and his whole body was buff. He leaned on his knees, while his long hair was left covering his expression. They weren't close enough to see the rest, but they didn't need to. They already knew who he was, after all.
Shishio Tsukasa, the strongest high school primate. 
Or at the least, that's who he was towards the others. 
However, to [surname] [name], he wasn't that. 
He was only the kind acquaintance who had helped the [hair color]-haired student during his spare time in the library. 
Taking note of the male's location in their head, they returned their gaze forward and journeyed once more. They passed by more statues, more broken pieces, more people frozen in time. More monkeys stayed in the trees and watched the teen carefully, not making any other move or noise. The only thing that [name] could pick up that had continued to change was the lessening of green. The plants, grass and trees were still abundant; however, as they moved further away from their origins, more land began to show itself compared to before.
The statues, just like her feet had been submerged in the dirt, had merged with the mountainside. 
Least to say, it wasn't a pleasant sight. [name] immediately frowned and looked away, not wanting to focus on them any more than they already have. 
Petite hands carefully pushed aside vines that had obstructed their vision, and lo and behold, the next scene made [name] smile and hold a chuckle to themselves.
"I'm going to build everything back up from zero.. A scientific civilization advanced enough to go back to space..!" 
There he was, the man of the hour, kneeling down on one knee. He held a stick in his right hand, and on his left, he held down a log. Like them. his body was covered by a patch of leaves and vines. It seems that they hadn't taken notice of them quite yet. They watched as he spun the stick against the log repeatedly, but to no result. 
Sen-chan's getting frustrated.. 
This time, they couldn't help the chuckle that escaped their lips. 
The sound immediately made Senku stop, and slowly, he turned around. His eyes widened, and the look of disbelief as well as the smallest relief in his red eyes was evident as he called out their name. They smiled at him softly, moving towards his side, just as they had done all those years ago, in the Science Clubroom.
"Sen-chan.. it's been a long while." 
Senku smirked in response, waving offhandedly. "Yeah. Now help me out, won't you?"
◇─◇──◇─────◇──◇─◇
The taller of the two slumped down to the ground, groans of exhaustion escaping his mouth. [nickname] and I alone can't manage this for very long. The brute strength moron Taiju could do this, and even the handicrafts club's ultra skillful Yuzuriha could manage this no problem. [nickname] probably could spark it up by twisting this stick too, but how am I gonna do it especially with this humid air?! He called for his friend, only to receive no response. Speaking of that shortie..
He looked around. All he did was slump down to rest, and the [hair color]-haired teen was already gone from his sight. Where'd they go? 
Groaning once more, he moved to stand up, but was immediately pushed back down by familiar petite hands. "Rest, Sen-chan." [name] smiled, patting his head affectionately. "We can't have the scientist running out of fuel." Reluctantly, he did as they wished, watching as they sat down on the ground as well. They adjusted their position for a few moments, before bringing out.. a flower crown? 
Senku deadpanned, not able to hold back his grumpy retort. "Out of all the things you could have made, you made a flower crown. Really, [nickname]?" They laughed in response as they placed it on his head and fixing his hair. "I just wanted to know what your reaction was gonna be if I showed that first, Sen-chan. That's not just all I did, don't worry.." With a smile, [name] moved aside to show the objects sitting on the ground behind them, making Senku's smirk from earlier return.
Different kinds of rock have different uses. Chert is hard as hell, which makes it perfect for making a small knife out of. 
"Already way ahead of me, huh?" 
We'll investigate everything, and experiment with it all!
Taking the objects in his hold, he turned back to the teen. They stood, smiling and waiting for his next move. They were ahead of him, as if they shared the same brain he did. As if they were already connected to begin with. 
I don't have claws or fangs. All I have is my steady, straight-forward ingenuity and them.
[nickname], the jack of all trades, but master of none, my friend and assistant.
◇─◇──◇─────◇──◇─◇
"Will you do the honors?" 
Not bothering with a reply, [name] neared the log and with barely any difficult, twisted the stick quickly. Smoke began to appear, so they stopped, buried it into a pile of leaves, and blew, watching as the fire slowly but surely spread. Senku, with the use of the axe that the shorter had made, quickly cut down more pieces of wood, before adding them to the lit up pile. A grin spreading on his face, he stared it down along with the [hair color]-haired teen. 
There are a surprising number of animals that use tools. Crows, racoons, orangutans. But, of all species in this world.. there is only one that uses science! 
"Generating heat from the oxidation of gas released from cellulose. In other words.. combustion." 
[name]'s eyes stayed on the flames. The gradient colors sought their attention and refused to let it go from their grasp. It danced along with the calm whispers of the wind. Not turning their head, they spoke, "Sen-chan, you have a goal don't you?" For once, their voice had wavered, uncertainty seeping through. So much uncertainty that he couldn't help but detest the sound of it. 
It was strange and illogical, especially considering he had wanted an inkling of emotion to show through aside from just that dead smile. But now.. the sight was detestable. Nonchalantly, he faced them, turning his whole body. He picked at his ear using his pinky and replied, "Of course I do. I'm going to restore the civilization from before, and then I'll proceed with my end-goal."
The same smile appeared on their face.
Senku supposed it was better than hearing doubt and uncertainty. 
"I figured you'd say that." Turning their head, the small smile he had gotten used to.. was gone. 
Instead, what replaced is a genuine grin, full of hope, happiness, and whole-hearted belief. "I have no doubt that you'll reach that goal. No, I'll ensure it. Ishigami Senku will reach his goal, and I will utilize myself so." 
[name]'s whisper barely audible to his ears, but despite that, their voice and words echoed like a broken record throughout his head, unending. Yet, despite the determination and positivity it was supposed to bring, it brought a bit of the unexpected. His stomach did flips and flutters, dread and apprehension seeping in his bones.
 Stop wording it like that, he wanted to say. I don't like it.
He couldn't bring himself to do that, and instead, faked a grin in return.
◇─◇──◇─────◇──◇─◇
Since then, the two had worked together for days on end. On the way, they had achieved not only clothing, but a decent settlement up on the tree. It wasn't anything fancy, however, it wasn't too shabby either. 
"Kukuku, the birth of every boy's dream treehouse! Now, we've finally collected all the necessities for survival." Senku spoke triumphantly, staring up at the building they had made. [name], a flower-crown adorning their head, adjusted their matching skirt from beside him, smiling. "Sen-chan did a good job.." 
He chuckled dryly, "You say that as if you didn't do half of the stuff we needed to do without me saying anything." His smirk was stripped from his face as he continued blankly, "Now then.. It's about time. My 'ignoring all fatigue would be most logical' switch is at its limit.." With that, he collapsed completely, expecting to land harshly on the ground, but was pleasantly surprised to land on [name]'s arms instead. They adjusted his body gently, making sure that he was comfortable as they smiled down at him, shaking their head in amusement. They pat their skirt before sitting down, relaxing.
Senku, too tired to complain, just let his body lay in their hold. Damn it, even with [nickname] here.. Just surviving is taking every ounce of energy out of me. Let alone time for science progress.. I can't just let them do all the work. They'll get burnt out too, as much as they try to hide it. His nose scrunched at the thought. That'd be a bad scenario. If worst comes to worst for me, at least [nickname] will be able to cover in my stead. But if it happens to them instead, I wouldn't be able to do the same. I'm lucky that they could even catch animals often while doing manual labor. 
If there was at least one more person.. someone with lots of physical strength and stamina. Someone who wasn't either of us.
"You know, Sen-chan, we both started from the area we got petrified in, right?" This time, [name]'s smile was knowing. "Perhaps we should pay Tai-chan a visit?" Senku smirked up at them for the nth time, "You just read my mind." They carefully pulled him up, dusting his shoulders and skirt as they did. 
A few minutes of walking later, they watched as Senku walked again towards the hand reaching out from the ground. He begins digging, making [name] follow suit. Slowly but surely, they uncovered the statue, revealing it to be Taiju. This was the very same expression he had three millennia ago when he had gotten petrified. [name] assumed that he was protecting Yuzuriha just as Senku had tried to, but got separated just as they had.
[eye color] eyes softened as they see the quick relieved expression that passed by his face.
He stared down at their friend in silence, smirking not too long after. "Kukuku," he snickered, "Now there's a face I was so sick of seeing, I never thought I'd want to see again." [name] shook their head in amusement. What a lie, Sen-chan. "It's been a good long 3,700 years, hasn't it, you big clumsy oaf?" 
Senku repeatedly tapped on the face of Taiju's statue, beaming innocently. "And now it's time for Senku's Investigation Lab to begin! C'mon, you oaf.. What's it gotta take to get you to revive like [name] and I did?" Wait.. speaking of [nickname], red eyes glanced over at the shorter's form, who merely sat on their knees, looking at the sky. I haven't asked for the details of their revival yet. 
Sensing the male's stare, [name] instantly turned their head to him and tilted their head. What is it? They seem to be asking. "About your revival.. I haven't asked about the details yet. Mind telling me?" Was it dark for you as it was for me? Were you keeping yourself conscious 24/7? I was holding on for my goal, but how about you..? What on Earth could have kept you going so much that you ended up going as far as to wait 3,700 years just as I had done? 
"It was dark." His eyes snapped back to their body, finding them to be looking at the sky once more. "I hated it there, because I was alone and it felt cold. I was really lonely." He wasn't usually keen on affection, but.. Senku couldn't help but feel sad, and gave their shoulder a pat. They didn't sound saddened, and somehow, that alone was enough to make him feel sympathy. [nickname].. Softer than he had intended, he asked again, "What kept you going?" 
The tiny frown and the smallest of shrugs is what he received, and the taller couldn't help but feel aghast. "I'm not sure. I just imagined seeing you guys on the other end of the road.. and somehow, that alone was enough. I knew you were going to be alive even back then, because that's just how Sen-chan is." Senku snickered, "You're not wrong there. Your assumption, as illogical as it would be for other people, is ten billion percent correct." 
He turned back to Taiju and waved offhandedly, as if shooing away the [hair color]-haired teenager's worries away from them. "Don't worry about it now. Let's make that a temporary goal of ours, and I'll help you out. That's the least I can do for you, considering you did most of the manual labor to get us where we are right now." 
[name] smiled thankfully. "What are your possible theories, Sen-chan?" The taller of the two stared at the ground in thought. "I have quite a few." 
◇─◇──◇─────◇──◇─◇
Not long after he had explained, they walked back to Senku's spot of origin. The two had figured that it was an external source, and so, here they were, standing in front of a cave. Just like everything else, the entrance of the cave was overrun with vines and roots from the tree above, but fortunately enough for them, the opening was not occupied to the point of no enter. 
The stone pieces closest to our heads had fallen first, with further pieces laying on top of them. In other words, when we had revived, it started from my head first. There must be some kind of key behind that direction! Red eyes widened as he caught sight of dripping from above. "Nitric acid.." Mumbled the shorter, making Senku nod in acknowledgement.
The male faced his [hair color]-haired friend. "Do you have any body parts that are still left petrified?" They nodded to his question, exposing their shoulder behind their clothing, revealing one medium-sized covering of stone. "Geez, you were doing manual labor even with a stoned shoulder? You should have told me." [Name] cheekily grinned at his grumbled response, replying, "No use grumbling about that now," with a giggle. "Besides, it only aches. It doesn't hurt like a wound or bruise would." 
Senku rolled his eyes. Sometimes, he gets exasperated at the cheekiness of his friend. Honestly, the male turned back towards the dripping nitric acid. "Should I try it out with my shoulder?" They were surprised to receive a shake of his head. "No, it's better if you don't. If it goes wrong, you'll most definitely get affected negatively. That'll hinder our efforts and progress, not to mention you'll likely to get hurt." Instead, the scientist plucked a few strands of hair from the back of his neck, where small pieces of stone had stuck. 
[name] watched as Senku walked forward towards the nitric acid and holding the hair strand out. Upon contact, the stone immediately burst into pieces. The grins on the two's faces matched as they made eye-contact. Immediately, the assistant rushed off to get a jar they had made and handed it to him, watching as the nitric acid started piling up within. 
Not too long after they had placed the jar underneath it, the nitric acid had been filled almost completely, and Senku rushed to take it from the younger's hold. He splashed it on Taiju's face and sit down criss-cross, waiting. [name], after patting their skirt, sat on their knees beside him. They waited in silence, expecting the third person of their quartet to wake up. 
.
.
.
.
.
.
.
.
.
Nothing. 
Senku looked at the statue in confusion. Deciding to wait a bit more, he started whistling familiar songs out of boredom, [name]'s humming harmonizing with it. 
.
.
.
.
.
.
.
.
.
Senku's face started contorting weirdly, making the shorter of the two of them choke and laugh. "Sen-chan, your faces are still as weird as ever." He grumbled in response, saying, "Don't laugh at me." This only proved to make them chuckle more. 
After a short snickering fit, they turned serious once more, facing the statue of Taiju. "It isn't that easy then.. Something between us and him must be different." They shared a nod. Senku rushes back to their investigation lab, leaving [name] behind. The said teenager quickly took out more jars and placed them on the ground. They placed the first one under it before backing away, looking around for something to do. 
Now that they look closely, there were flowers here too. 
Taking it into their hands, they started skillfully weaving a flower crown. Occasionally, they'd get up and take replace the jar before going back to their sitting position and continuing the flower crown. With all the jars filled and covered with animal cloth, they carefully balanced it within their hold, walking ever so slowly back to their destination. 
By the time they arrived, Senku had multiple birds on the floor. Tiny amounts of nitric acid were noticeable on them just as much as there were on some statue's heads, making it evident that he had been experimenting with the amount they had gathered prior. Senku sat criss-cross on the floor, frustrated with the lack of progress. Why did the nitric acid only work on us? He pressed his two fingers on the side of his forehead. It didn't have a single effect on Taiju, the swallows, or any of the statues I tested it on.. But why?!
What's the difference between them and us? Think! Even just a hypothesis is fine! Think! Thi—
clink, clink, clink 
His thoughts, interrupted by the sounds of three jars gently being put down, caught his attention, making his red eyes dart over to [name]. They stared at him, blinking slowly. Their presence immediately brought an idea to his head, and soon, he sat up hurriedly, escaping to the cave of nitric acid they had found. What he left behind was a smiling [name], having pieced together his string of thought. 
I've figured it out! 3,700 years.. that whole time, we were both still fully conscious! 
The brain burns about 400kals a day. Over three thousand and seven hundred years, that comes out to over two trillion joules of energy.
[name] hummed, sitting down and looking down on the sky.
E=mc² is the foundation of science. Energy can never be created from nothing!
He breathed heavily, but did not stop, not until he had arrived at the entrance of the cave, staring. 
That means.. that if Senku-chan / [nickname] and I can get rid of that something, then he/we can undo the petrification!
For now, the of us have got to experiment. It doesn't matter what. We just have to keep experimenting!
[name] sighed, picking at their fingers. There would only be one conclusion that they would resort to until Senku is able to recover their friends back.
On the other side, Senku poured the rest of the remaining nitric acid to bigger containers, sweat increasing by the second. I really wanted to try nital, the standard industrial corrosive agent.. Damn it, I don't have any alcohol.. It's so frustrating! 
"Just believe, Sen-chan.."
A smile. 
Another whisper lost to the wind. 
Keep experimenting.. Keep experimenting.. Keep experimenting! The phrase repeated itself in his head like a chant, beckoning him, tempting him, no, making him do it. 
Senku bit harshly into his thumb swiping it on his collar right after. Don't forget.. No matter how much this petrification seems like fantasy.. 
"No matter how long," they mumbled. "Sen-chan will achieve it. I believe in him, and I'm sure they do too." They dusted off their skirt after they moved from their position. A short walk towards the cave, they see Senku struggling with Taiju in his hold. "There is not enough manpower around here, even with you and me, [nickname]." Senku panted out.
"That's why you gotta hurry up and eat that nitric acid to wake up already! The hell's taking you so long, you scruffy-headed scatter-brained oaf? Your little sibling will collapse if they continue to work this hard unsupervised!" He stepped not too harshly on Taju's head, making [name] shake their head. "That's an exaggeration, Sen-chan," they grumbled.
"Is not," he replied right back. 
They rolled their eyes in reply, making Senku snicker. 
"Besides," he turned back to the statue, "I know you want to wake up too! For the past three thousand and seven hundred years, you've wanted it.. because you're just like me and [name]. You can't stand to give on anything, especially with a goal!"
Senku grit his teeth and continued, "I believe in you. [name] believes in you. We both believe in you, and we'll wait as long as it takes.. because neither of us can't do this without you." 
Various emotions showed on his face, from sadness to want. The shorter of the two placed a hand on his shoulder, smiling before speaking in sync, 
"Come back, Taiju!"
Tumblr media
40 notes · View notes
gslin · 6 years ago
Text
Mark Callaghan 花五分鐘介紹 LSM trees
Mark Callaghan 花五分鐘介紹 LSM trees
實做 MyRocks 的 Mark Callaghan 花五分鐘在 CIDR 2019 上介紹 LSM tree:「Geek code for LSM trees」。
翻了一下發現 CIDR 是兩年辦一次,跟之前遇過的 conference 不太一樣…
投影片在「Diversity of LSM tree shapes」這邊可以看到,在五分鐘內講完的前提下規劃出的重點…
View On WordPress
0 notes
spaceiplier · 6 years ago
Text
SPACEIPLIER: Homestuck
((THIS IS A JOKE. IT’S JUST A JOKE. IT'S NOT CANON. HAPPY HOMESTUCK DAY.))
A young man stands in his bedroom. It just so happens that today, the 28th of June, 3516, is this young man's birthday. Though it was twenty-five years ago he was given life, it is only today he will be given a name!
What will the name of this young man be?
ENTER NAME.
SALLY MCSAGGYTITS
TRY AGAIN, SMARTASS
TRY AGAIN.
MARK FISCHBACH
EXAMINE ROOM
Your name is MARK. As was previously mentioned it is your BIRTHDAY. A number of CAKES are scattered about your room. You have a variety of INTERESTS. You have a passion for REALLY TERRIBLE MOVIES. You like to program computers but you are NOT VERY GOOD AT IT. You have a fondness for PARANORMAL LORE, and are an aspiring AMATEUR PILOT. You also like to play GAMES sometimes.
What will you do?
Mark: Quickly retrieve arms from drawer.
Your ARMS are in your SPACE CHEST, pooplord!
Remove CAKE from SPACE CHEST.
Out of sympathy for Mark's perceived lack of arms, you pick up the CAKE for him and put it on his BED.
Mark: Quickly retrieve arms from SPACE CHEST.
You retrieve your FAKE ARMS from the chest. You use these for HILARIOUS ANTICS.
You CAPTCHALOGUE them in your SYLLADEX. You have no idea what that actually means though.
There are other items in the chest.
Mark: Examine contents of chest.
In here you keep an array of humorous and mystical ARTIFACTS, each one a devastating weapon in the hands of a SKILLED SPACEFARER or a CUNNING PRANKSTER.
You are neither of these things.
Among the ARTIFACTS are: TWO (2) FAKE ARMS [CURRENTLY CAPTCHALOGUED IN YOUR SYLLADEX], ONE (1) PAIR OF TRICK HANDCUFFS, ONE (1) STUNT BLASTER, ONE (1) PILOT’S HELMET, ONE (1) PAIR OF BEAGLE PUSS GLASSES, SEVERAL (~) SMOKE PELLETS, SEVERAL (~) BLOOD CAPSULES, and ONE (1) COPY OF COLONEL SASSACRE'S DAUNTING TEXT OF SPACE FRIVOLITY AND PRACTICAL JAPERY, and ONE (1) COPY OF HARRY ANDERSON'S "WISE GUY", BY MIKE CAVENEY.
Some of this stuff may come in handy at some point. For now, you decide to just take the SMOKE PELLETS.
Mark: Captchalogue the smoke pellets.
You stow the SMOKE PELLETS on one of your CAPTCHALOGUE CARDS in your SYLLADEX.
You still aren't totally sure what that means, but you are starting to get the hang of the vernacular at least.
You have two empty CAPTCHALOGUE CARDS remaining.
Mark: Equip fake arms.
You aren't totally sure if "EQUIP" is a verb copasetic with the abstract behavioral medium in which you dwell, but you give it a try anyway.
Unfortunately, you cannot access the FAKE ARMS! Their card is underneath the one you just used to captchalogue the SMOKE PELLETS. You will have to use the pellets first in order to access the arms. But this is probably unadvisable, since you'd just make your room lousy with smoke!
Your SYLLADEX'S FETCH MODUS is currently dictated by the logic of a STACK DATA STRUCTURE. You were never all that great with data structures and you find the concept puzzling and mildly irritating.
But with any hope, perhaps you will advance new, more practical FETCH MODI for your SYLLADEX with a little more experience.
Mark: Examine Space Sleuth Poster.
Is it even possible to get any more hard boiled than that? You really doubt it. This poster was one of your wisest purchases.
There is a nice spot on the wall next to it. You've been meaning to hang another poster there soon.
Mark: Read note on drawer.
“HAPPY BIRTHDAY SON
I AM SO PROUD OF YOU”
This note is rich with the aromas of MOTHERLY HERBS AND SPICES.
Beside the note is a ROLLED UP POSTER.
Mark: Take poster.
Another BIRTHDAY ARTIFACT. You wonder what is printed on the poster.
You'll need some way to hang it on your wall.
Mark: Acquire hammer and nails. They will come in handy.
You first place the HAMMER into your SYLLADEX.
But now all of your CAPTCHALOGUE CARDS are full. You wonder what will happen if you try to take the NAILS
You guess it doesn't hurt to try.
Mark: Take nails.
You captchalogue FOUR (4) NAILS into the top card, and push all the ARTIFACTS down a card.
The FAKE ARMS are pushed entirely out of the deck!!!
Oh well. They're probably completely useless anyway. But you probably don't want to do that again, unless you want to drop the SMOKE PELLETS and suffer the consequences.
In any case, you now feel like you have gathered enough things to get down to business and do some really important stuff. The next thing you do will probably be exceptionally meaningful.
Mark: Squawk like an imbecile and shit on your desk.
This is the dumbest idea you've had in weeks!!!
STUPID STUPID STUPID.
And yet the polished surface of your desk...
It beckons.
Mark: Combine the nails and hammer.
You MERGE the top two cards.
The HAMMER and NAILS are now captchalogued on the same card and can be used together.
Mark: Use hammer/nails on poster.
You use the HAMMER and NAILS card IN CONJUNCTION with the card beneath it.
Mark: Nail poster to wall.
You use the HAMMER, NAILS, and POSTER on the blank space on the wall.
It's glorious. Exactly what you wanted. Your mom really came through this time.
Mark: Examine Con Space poster.
PUT THE KHARAPIN BACK IN THE BOX.
I SAID, PUT THE KHARAPIN BACK IN THE BOX.
WHY COULDN'T YOU PUT THE KHARAPIN BACK IN THE BOX?
Mark: Examine Deep Impact poster.
Morgan Saorman's genteel, homespun mannerisms were perfect qualities for a president residing over a crisis.
STARS RISE. PLANETS FALL. HOPE SURVIVES.
WOW.
Films about impending apocalypse fascinate you. Plus, a Velm president??? Now you've seen everything!
Mark: Examine calendar.
You've marked your birthday, the 28th of June. Another day you marked was supposed to be the arrival date for the highly touted SBURB BETA LAUNCH.
It's been three days already. It's starting to become a sore subject with you.
Mark: Eat cake.
You are sick to death of cake!!! You've been eating it all day. And you have no intention of clogging your SYLLADEX with it either. The CAKE stays put for now.
You hear a notice from your COMM. Someone is messaging you.
Mark: Examine incoming message.
You pick up your COMMUNICATOR. This is where you spend most of your time. You decorated your screen with some rather handsome WALLPAPER which you made yourself. You are really proud of it.
Your COMMUNICATOR is also littered with various PROGRAMMING PROJECT FILES. You are so bad at programming sometimes you wonder why you even bother with it.
Your PESTERCHUM application is flashing. Someone is trying to get in touch with you.
Mark: Open Pesterchum.
Only one of your CHUMS is logged in. He's sent you a message.
Mark: Open message.
-- turntechLizardhead [TL] began pestering ectoPilot [EP] at 16:13 --
TL: hey so what sort of insane loot did you rake in today EP: i got a little monsters poster, it's so awesome. i'm going to watch it again today, the applejuice scene was so funny. TL: oh hell that is such a coincidence i just found an unopened container of apple juice in my closet it is like fucking scarlix day up in here EP: ok thats fine, but i just have one question and then a word of caution. have you ever seen a movie called little monsters starring howie mandel and fred savage? TL: but TL: the seal on the bottle is unbroken TL: are you suggesting someone put piss in my apple juice at the factory EP: all im saying is don't you think monster howie mandel has the power to do something as simple as reseal a bottle? EP: try using your brain numbnuts. TL: why did the fat kid or whoever drank it know what piss tasted like TL: i mean his reaction was nigh instantaneous EP: it was the 15th day in a row howie mandel peed in his juice. TL: ok i can accept that TL: monster B-list celebrity douchebags are cunning and persistent pranksters TL: also fred savage has a really punchable face TL: but who cares about this lets stop talking about it TL: did you get the beta yet EP: no. EP: did you? TL: man i got two copies already TL: but i dont care im not going to play it or anything the game sounds boring TL: did you see how it got slammed in game bro???? EP: game bro is a joke and we both know it. TL: yeah TL: why dont you go check your mail maybe its there now EP: alright. Mark: Look out window.You see the view of your yard on VENTOS BETA from your window. Hanging from the tree is your TIRE SWING. In a kid's yard, a tree without a tire swing is like a proper gentleman without a monocle. That is to say, HE CAN HARDLY BE CONSIDERED A TERRIBLY PROPER GENTLEMAN AT ALL. And there beside your driveway is the mailbox.
105 notes · View notes
hydrus · 5 years ago
Text
Version 394
youtube
windows
zip
exe
macOS
app
linux
tar.gz
source
tar.gz
I had an ok week mostly cleaning code.
The bug from last week where subscriptions that had incomplete file queues were unable to start is fixed. I apologise, this was a typo that was not caught by my code checker or my testing routine.
autocomplete cleanup
The tag autocomplete code has seen many updates and expansions over time, and the code had become a mess of hardcoded hooks and logical duct-tape. This week I went into it and pulled all the text parsing and results caching code out to single separate dedicated objects. Essentially most of the big changes this week are all behind the scenes, and you can check the changelog for more detailed info, but multiple small bugs and odd situations with autocomplete entry are now fixed.
A user recently contributed code that parses system predicates from text input. Now I have this nice new parsing system, I hope to integrate this new feature soon.
If you encounter new bugs or certain complicated wildcard lookups that do not work, please report them--it is now much easier for me to fix this stuff and support new search types.
environment changes
If you patch my source code, please note that the source structure has changed. The single flat directory of py files is now split into some basic subdirectories. This is one more step forward in getting the structure more manageable, and I expect to do more in future cleanup weeks.
full list
autocomplete cleanup:
the text you type into tag autocomplete is now parsed in a unified object. all the variants of empty text, invalid text, valid text, namespace text, and wildcard text are all tested and fetched in one simple location with better code
autocomplete results caching is now a unified object that tracks and filters results in one location. wildcard searches are now never cached by accident, and switching from tag cache to system predicate cache and to non-initialised cache is instant and more reliable
when an autocomplete, either in a search page or a context that manages tags, has results include multiple sibling variants of the typed text, they are now all elevated to the top of the list. the ideal is at the top, the entered text is next, and any known siblings follow
the search character 'collapse' that ensures quote marks and hyphens and other odd characters are unified across tags now applies uniformly to all non-complicated-wildcard search tags, with namespace not collapsed and subtag always collapsed
when entering an explicit wildcard search, both strict and autocomplete versions (whether they end with an asterisk) are now displayed
the way tag results are filtered is now more accurate for some unusual wildcards
it is now more difficult to slip cpu-killer search tags (weird asterisk combinations) through
the quick-broadcast that happens when the user hits enter before any results have started loading now uses the unified object and chooses a safer and more reliable broadcast value. the test whether to do the quick-broadcast is also more reliable, particularly in unusual situations where a recent search was cancelled or delayed. note that for many users, the cache and search tech is fast enough that this very rarely triggers
searching with a wildcard below the autocomplete threshold can no longer trigger a full search, nor an invalid exact-text search
namespace count merging is now unified across db tag fetches and media fetches
include current/pending buttons now filter down to media-based tag autocomplete counts
namespace tag autocomplete queries will no longer show up some unusual siblings below the 'anything' tag
deleted a whole bunch of old a/c and caching code
added comprehensive unit tests for the new parsed autocomplete text object
added comprehensive unit tests for the new predicate results cache object
.
the rest:
fixed a stupid typo bug in the new domain checking code that was stopping subscriptions with incomplete file queues from starting. I apologise for this
network error responses 502 (Bad Gateway) and 503 (Service Unavailable) are now treated as a retryable. the 503 is assuming it is not a CF challenge page. if they fail all retries, they are considered a network infrastructure error
all other misc 5xx http responses are now treated as instant network infrastructure errors and will be logged in the new domain health tracker
the exit splash screen now opens a bit earlier, so you now shouldn't have any momentary uncertainty where no windows are open
clients that start minimised to system tray _should_ be better about restoring splitter positions on first show
the various 'management panels', the panels on the left of main gui pages, now have smaller minimum width where available. the gallery and watcher panels are still the widest, which is a limitation of the current list tech. when it gets better column sizing code and selection memory, this will improve
fixed an issue loading gifs with some OpenCV versions
brushed up some running from source help
deleted the Py2To3 script that attempts to detect a legacy python 2 install
improved all the gui files' import order
cleaned up and refactored some subscription code
added a bunch of type hints to edit panel code
misc code cleanup
.
environment updates:
did second step of hydrus project structure improvement--now the project is split into subdirectories for core/client/server/misc and some client subdirs. work here will continue
linux build gets some new libraries, cv is up to 4.2.0
it isn't important, but hydrus is now built in python rather than directly from command line. my build scripts now include cloudscraper and the new hydrus source code tree in the build as they are, rather than hardcoded copying
next week
I would like to catch up on small jobs and bug fixes. I feel pretty exhausted due to IRL stuff, so I want to take my foot off the throttle a little. I hope you are hanging in there and staying healthy.
1 note · View note
fs-geek · 7 years ago
Text
The Log-Structured Merge Tree (LSM-Tree)
The Log-Structured Merge Tree (LSM-Tree)
Tumblr media
The Log-Structured Merge Tree Patrick O’Neil, Edward Cheng, Dieter Gawlick, Elizabeth O’Neil in Acta Informatica, June 1996, Volume 33, Issue 4, pp 351–385. This paper does not relate to non-volatile memory, but we will see Log-Structured Merge Trees (LSMTs) used in quite a few projects.  From the abstract: The log-structured mergetree (LSM-tree) is a disk-based data structure designed to provide…
View On WordPress
0 notes
kevin-roozrokh · 2 years ago
Text
Understanding Big O Notation and Its Application in Search Algorithms | Google vs Amazon vs Microsoft
https://medium.com/@kroozrokh/understanding-big-o-notation-and-its-application-in-search-algorithms-google-vs-amazon-vs-microsoft-c92ef6d2a1e5
Exploring Big O notation to these search algorithms: Google, Amazon Elastic Search, and Microsoft SPTAG
Introduction: In today’s digital age, search algorithms play a vital role in helping users find relevant information quickly and efficiently. Behind the scenes, companies like Google, Amazon, and SPTAG (Space Partition Tree and Graph) employ sophisticated search algorithms to power their search functionalities. In this blog post, we’ll delve into the concept of Big O notation and its relevance to these search algorithms. We’ll explore how Big O notation relates to the search algorithms used by Google, Amazon Elastic Search, and SPTAG. Additionally, we’ll provide a list of common search algorithms, along with their Big O complexities and usage in various companies.
Understanding Big O Notation: Big O notation allows us to analyze the efficiency of algorithms by measuring how their performance scales with input size. It provides an upper bound on the worst-case time complexity of an algorithm. By examining the Big O complexity, we can determine how quickly an algorithm’s execution time increases as the input grows larger.
Big O Notation in Search Algorithms: 1. Google Search Algorithm:  Google employs a highly complex search algorithm that takes into account various factors like keyword relevance, page rank, and user behavior. The search algorithm used by Google is not publicly disclosed. However, given the enormous scale of Google’s search index, it is safe to assume that their algorithm utilizes efficient data structures and indexing techniques, resulting in a complexity of O(log n) or better.
2. Amazon Elastic Search Algorithm:  Amazon Elastic Search is a scalable and distributed search service used for querying large volumes of data. It employs the Apache Lucene search library, which implements an inverted index-based search algorithm. The complexity of the search algorithm used by Amazon Elastic Search is typically O(log n) or better, as it leverages data structures like B-trees and optimized indexing techniques.
3. SPTAG (Space Partition Tree and Graph) Algorithm:  SPTAG is an open-source approximate nearest neighbor search algorithm developed by Microsoft. It is designed to efficiently search high-dimensional vector spaces, commonly used in applications like recommendation systems and image search. SPTAG utilizes spatial partitioning techniques and graphs to perform fast and accurate searches. Its complexity can vary depending on the specific implementation and data set characteristics but is typically O(log n) or better.
List of Common Search Algorithms and Their Big O Complexities: 1. Selection Sort:  — Big O Complexity: Ω(n²)  — Usage: Selection sort is a simple comparison-based sorting algorithm. Although not commonly used for large data sets, it can be suitable for small arrays or as a teaching tool. Companies may use it for educational purposes or in scenarios where simplicity is preferred over performance.
2. Merge Sort:  — Big O Complexity: Ω(n log n)  — Usage: Merge sort is an efficient divide-and-conquer sorting algorithm. It is widely used in various applications where stability and predictable performance are crucial. Companies like Netflix, LinkedIn, and Spotify employ merge sort for their data processing and sorting needs.
3. Bubble Sort:  — Big O Complexity: Ω(n)  — Usage: Bubble sort is a simple comparison-based sorting algorithm that repeatedly swaps adjacent elements if they are in the wrong order. It is primarily used for educational purposes and small data sets due to its relatively inefficient performance compared to other sorting algorithms.
4. Linear Search & Binary Search:  — Linear Search:  — Big O Complexity: Ω(n)  — Usage: Linear search is a simple search algorithm that sequentially checks each element in a list until a match is found. It is suitable for small, unsorted lists or when the data is not organized in a way that allows efficient searching.
- Binary Search:
- Big O Complexity: Ω(log n)  — Usage: Binary search is a fast search algorithm that requires the data to be sorted. It repeatedly divides the search space in half, eliminating half of the remaining elements with each comparison. Binary search is widely used in various applications, including search engines, databases, and efficient retrieval of sorted data.
Conclusion: Understanding Big O notation is crucial for software engineers, especially when dealing with search algorithms. Companies like Google, Amazon, and Microsoft utilize sophisticated search algorithms with efficient time complexities to power their search functionalities. By grasping the concept of Big O notation and the complexities associated with various search algorithms, engineers can make informed decisions about algorithm selection and optimization. Whether it’s sorting data, performing searches, or building recommendation systems, a solid understanding of Big O notation is vital for designing efficient and scalable solutions.
Written by Kevin K. Roozrokh Follow me on the socials: https://linktr.ee/kevin_roozrokh Portfolio: https://KevinRoozrokh.github.io Hire me on Upwork: https://upwork.com/freelancers/~01cb1ed2c221f3efd6?viewMode=1
0 notes
Text
The 7 C’s Of Outdoor Play
The goal of Seven Cs is to help people design outdoor play spaces that support the curiosity and development of the children while merging and integrating these qualities while playing outdoors. ( The 7 C’s : Outside Criteria. Written by: Susan Herrington, Chandra Lesmeister, Jamie Nicholls, Kate Stefiuk) 
Tumblr media
The 7 Cs includes character, context, connectivity, change, chance, clarity, and challenge.
Character: Is the overall design of the outdoor play space. Early childhood educators want to make sure they take this opportunity to create a vision for what they hope their play space will look like and brainstorm together to help create the architectural character for the yard. 
Context: Refers to the background in which your yard is set in. This could mean the trees, near by roads, ponds, grooves in the ground, logs etc surrounding the play yard. Educators need to be observant when looking to either add or embellish the context around their yard and understand the importance it adds to a child’s learning opportunity. 
Connectivity: This category indicates the physical, visual, and cognitive connectivity of the play space itself. This is a very important aspect for educators to work with. Children are able to learn immensely when able to make connections especially when outdoors. If a child is able to make a connection involving the seasons of the year to an animal perhaps about to hibernate, that can open a pathway to an inquiry all based on the nature surrounding them. 
Change: Involves a range of different spaces designed in the play yard and how the whole play space changes over time. The educators should ensure that a range of spaces accommodate different amounts of children and their inquires and that the materials of the spaces actually change themselves overtime.
Chance: One of the most amazing aspects to outdoor learning environments is the ability for instant interactive learning. Children are able to change the space and provide open ended flexible learning opportunities while outside. Their curiously can manipulate and leave a large impression on the play space which is a wonderful mark educators can look back afterwards and reflect on the learning completed. 
Clarity: It is important when laying out the play area to think about the geography of its layout and if there could be any obstructions of play. The main goal during outdoor learning is everything should be the classroom, however if there is a large play structure occupying the space, this could cause children to loose sight of their play because of the obstruction. 
Challenge: An educators role when creating an outdoor learning environment is to make sure the materials and objects placed out for the children are challenging enough to promote learning and possible problem solving amongst peers. Without the educators determining the types of challenge that the play space provides, studies have found that a lack of challenges throughout the play yard has been the primary reason for increases in bullying. 
Sources from: ( The 7 C’s : Outside Criteria. Written by: Susan Herrington, Chandra Lesmeister, Jamie Nicholls, Kate Stefiuk) 
https://www.scribd.com/document/338979560/7Cs
http://outdoorplaybook.ca/learn/play-research/the-7-cs/
1 note · View note
alltheloveinthegalaxy · 7 years ago
Text
Beast of Burden Chapter 3
Ch. 3 Momentary Peace
Hey y’all. We out here. This one is explicit, so younglings, be warned...er go away. Hope ya enjoy! Please leave a comment if you have any suggestions or requests for the story even. I love feedback :) 
Rey breathed Ben’s air as she rocked against him, controlling the rhythm of his hips with hers as she moved on top of him. Guiding her hips with his large hands, he gazed up at her. 
His breath was ragged as he sputtered grunts of effort for her. He reached up to take her enticingly enlarged breasts in his hands, her nipples swollen and pink. 
“Ah!” She winced. 
“Sorry!” He was horrified, releasing her. 
“No, no, it’s okay,” she whispered, lowering herself to his face to brush her lips against his.
“I keep hurting you,” he murmured against her lips as they maintained a steady rhythm. Sweating and merging together. Rey’s belly was now an obvious spectacle without her cloak and tunic on to hide it and even that barely did the job. 
“No, it feels so good Ben, please don’t stop,” she whisper-moaned into his ear. He marveled at her, admiring each and every new change in her body. He loved the sight of her slightly protruding belly rubbing against him as she received him.
“Oh Ben, yes!” Rey screeched. “Oh stars Ben, right there!” 
She rolled onto her back after they shared an orgasm that shook them both to the core as they prayed with the Force to never end. 
Her head spinning, she basked in the feeling. Ben rolled over and kissed her stomach. 
Rey and Ben had not seen each other for over a month as both of them had to return to the opposite sides of the war to act as if nothing was going on — as if Rey wasn’t carrying Ben Solo’s child. 
But here they lay, in their secret hiding flat on Takodana — a secluded structure in the woods where Maz had promised their privacy and safety. Beams of sunlight streaked their bed. It was 3 in the afternoon and they had been at it since, well, probably around 7 am. 
Rey’s libito had transformed into a beast of its own — but Ben didn’t seem to mind. Although he was starting to grow tired. His eyelids began to flutter open and closed as he drifted off in exhaustion. 
“You can’t go to sleep!” Rey said, playfully hitting him with her pillow.
“Ugh,” Ben sighed, turning away from her on his side. “You’ve worn me out. I can’t anymore today....And are you sure all of this activity is good for the- the-”
“Baby?”
“...Yeah.”
“Ben you’ve got to learn how to say that word. You’re going to be holding one in 5 months,” she chuckled. “Holding our baby.” 
“Okay, well whatever, you didn’t answer my question.”
“Maz said it’s perfectly fine,” Rey grinned, proudly. 
Ben covered his face with his hands in embarrassment. 
“You asked Maz?” He groaned. 
“Of course! Who else was I supposed to ask? Your mother?” She teased.
Ben rolled over onto his stomach and pulled the pillow over his head. Now she’d done it. 
“She took the news well...” Rey said softly, standing up to pull her robe over her shoulders. 
“What?” Ben pulled the pillow down slowly, to reveal his eyes. “What the kriff do you mean?” 
���Don’t swear at me Solo,” Rey mused, tying the robe closed and walking out of the room. 
Ben tossed the bedding aside and stood to follow her, still completely naked. 
Rey strode into the kitchen to boil water as Ben trailed after her. 
“Rey, what did you do?” Ben said, leaning against the cooler, towering over her and blocking her from opening it.
“Move please, I’m going to fix breakfast.” She smiled.  
“You don’t know how to cook and besides it’s 3 o’clock in the afternoon,” He pointed to a ticking wall clock. 
Rey folded her arms. 
“Okay, I told your mother that I’m pregnant.” 
Ben’s jaw dropped as he raised his hands up to gesture a “what the kriff” at her, although the words never left his lips. 
“She knows it’s yours, I told her everything.”
“Everything?” 
“Everything.” 
Ben swallowed and moved out of the way of the cooler, raising his arms in the air in surrender. 
“Don’t worry Ben, everything will be kept secret, for now. It’s going to be fine. We’ll sort out the details later.”  
He stormed out of the kitchen, trying to contain his anger and shock. He needed a moment to process this — or forget about it if that was possible. 
She chuckled, watching his naked backside stride out of the room, clenching his fists as he left.
When he reemerged 30 minutes later he wasn’t dressed his typical astringent First Order attire. Although his new garb wasn’t far off. He wore a jet black jedi - resembling tunic. Loosely fitted with long sleeves, the robe reaching his mid thigh was cinched with a tight thick belt at the waist. 
Rey’s eyes were on him, he had her attention. 
He wore his usual tall, tight fitting black boots with black loser fitting pants. Her lightsaber dangled from his belt as he walked passed her to pour himself a cup of caf from the pot she’d just made. His hair was still slightly wet from the fresher and his skin smelt of minty soap.
As she followed him with her eyes, Rey dropped the ceramic bowl of food she was attempting to prepare. It shattered on the tile floor, splattering a mismatched concoction of ingredients all over the ground. 
“Rey!” Ben reacted, spitting hot coffee back into his mug. 
“I’m sorry, you startled me,” she reasoned, kneeling down to clean up the mess. 
“How so? By the way this coffee is very burnt. Don’t worry about this, I’ll clean it up, go sit down.” He shooed her away with a flick of his wrist. 
“Where did you get those clothes?” Rey said, standing up with pieces of the broken bowl in her hands. Ben grabbed a broom to sweep up the food off the ground. 
“Maz left them here,” Ben said, unaffected. 
“They look like Jedi robes,” she pointed at him. “They’re nice...you look so...you look like a Skywalker...you look like a Solo.” 
He flushed with hues of red all over his face, neck and hands as he tried to ignore her. She walked away from him to place the broken pieces of the bowl in the garbage shoot. 
The open windows let the light of sunshine fill the tiny kitchen as the trees sang in the wind outside. Rey was happy to be back the midst of a lush forest — this time she wasn’t running away from Kylo Ren. She was defeating him, one day at a time, breaking down his walls to reveal a man who acted and looked more and more like Ben Solo with each passing day.
She sat down, gazing at him lovingly. 
“What are you doing with my lightsaber?” She asked.
“It’s technically mine.” He said, pouring her pot of caf down the sink and lighting the stove on to brew a new one. 
“It called to me,” she insisted. 
“I’m just borrowing it,” he said. “You can’t share?” 
Rey smiled sheepishly. 
“Are you going to make me breakfast?” She changed the subject, still admiring his new look. 
“Sure,” he said. “Whatever would you like, princess?” He asked sarcastically, still cleaning up debris from her spill. 
The word sort of slipped out of his mouth. It was something his father used to say to his mother when he was annoyed with her or teasing. 
Ben gritted his teeth, regretting his Freudian slip. Shit. What the kriff is happening to me? He winced, shaming himself and rolling his eyes as he turned his back to her to grab an arm full of vegetables out of the cooler.
Rey sort cocked an eyebrow at him, also taking note of the out of character remark.
“Princess?” Rey laughed. “Are you joking?”
“Yes,” Ben blushed. 
“Since Leia is technically a princess, would that make you a prince?” She blurted clumsily after skimming through his thoughts. She took a sip of caf. 
“No.” he shot. “Get out of my head.” 
“A prince,” she trailed off. “I never thought about that before...”
“Stop it.” 
“You started it.” 
“What do you want to eat, Rey?”
“I would like three eggs, rye toast, hashbrowns, pancakes from that Takodana mix, crispy potatoes and ooh there was some left over beef from last night’s stew and—”
“Yes, I got it, you’re hungry.” Ben almost argued with her, to insist that she eat something a little more nutritious but buttoned his lip as he remembered her her life as a starved scavenger. 
He’d make her whatever her heart desires. And he’d dressed in those ridiculous Jedi robes just to make her smile — and also because they were clean. 
Rey drew a luxurious breath, finally washing her partner’s sweat off of her under the warm pressure of the stone fresher. She could see Ben outside through a tiny window as she peeked at him on her tip-toes. 
He was aggressively slicing wood with the blue blade of her repaired saber for the old wood burning stove that would keep them warm tonight. Perhaps he was training simultaneously. 
She felt her stomach twist. Oh maker, not again. She hoped she wouldn’t vomit. As her pregnancy advanced, so did her nausea, which seemed to be getting worse by the day. She closed her eyes and tried to breathe deeply, as Maz had recommended.  
As she turned the shower off and reached for her towel to wrap around her, she felt the ground rumble beneath her feet. 
Woah...now I’m really going to be sick.
Ben’s senses kicked into high alert after a ripple in the ground knocked the pile of wood he was so carefully stacking, to the ground. 
That was no earthquake. That was a ship landing. 
The all too familiar sounds of TIE fighters zoomed above the trees. First, panic set in and then, an eery calm. 
They were here. The First Order. Whether or not they knew he was there was not apparent but he didn’t have time to sit around and wait for them to find him. 
Jumping over the pile of logs, he sprang toward the cabin, throwing the door open and hurrying to their sleeping quarter. 
“Ben, they’re here-” 
“I know!” Ben said. “Where are my clothes?” 
“They’re in that wash bucket over there, I figured they needed to be cleaned,” she said, biting her nails. 
“Kriff,” he muttered, digging his lightsaber out of a black box. 
“What are we going to do? Do you think they could find us out here?”
“Yes,” he said. “Get dressed now. Take this, you’ve got to get far away from here,” he said, handing her the lightsaber as he clipped his own to his belt. Rey tugged on her usual clothing as quickly as she could, her hair still wet.
“Do you think Hux suspects—” 
“I don’t know.” 
An explosion sounded outside, shaking the cabin and knocking Rey into him as as she tried to contain a scream.
“Rey,” he grabbed her hands, bringing them to his chest. “You’re going to have to run. On foot.” 
It wasn’t the prospect of running that scared her but the worry that the First Order may have figured their scheme out — that she might never see Ben again. 
“What about you?”
“it’s better if they don’t see us together,” he insisted. “You’re going to have to trust me.”
She swallowed hard, staring into his eyes. But her confidence in herself did not waiver. 
“Okay,” she said, determined. 
“I’ll come back for you, sweetheart,” he said, clipping her lightsaber to her belt for her and kissing her forehead. “I promise.” 
And with that, she ran out of the cabin and into the woods. She ran as far as her legs would take her through the Takodana forest. 
To be continued...
40 notes · View notes
storiesfromcolt · 7 years ago
Text
Fame, Fortune, and glory
(Still working out organization on tumblr. It’s a little rough at the moment.)
Corrin Carter wiped his forehead, his hand falling to his side slick with sweat. Mexican jungles had a propensity to cause that. In his hand he gripped a small, leather bound journal full of scribbles, maps, and diagrams. Its author was the famous explorer Francisco Pizzaro, the Spanish Conquistador of 1532. If the conquistador could be believed, the journal’s scribbles and drawings would lead Carter straight to the fabled El Dorado, the Incan city of gold. With no small amount of luck, that is. The venture had already taken its toll on the treasure hunter, costing him a few relationships, nearly his weight in gold, and he had even managed to get on the bad side of Rafe Matthews, an antiques tycoon with a practical army of armed guards at his beck and call. Rafe often played the role of a completely legal and slightly stuck-up man with a passion for antiquities. That whole role was largely a façade to fund his less legal excursions to find these antiquities and treasures. Long story short, Corrin found himself crossing paths with him enough to peeve the dealer into a harsh rivalry. Now, a few hundred dollars after he started this chase, Carter found himself in the middle of nowhere with little more than a map and an ever-shrinking sense of confidence.
           “Corrin?” Carter swiveled his head, snapping out of his reverie. His older brother, Hector Carter stood behind him, his brow furrowed quizzically. “You back on earth?” Carter shook his head. “Yeah, sorry. Just… thinking.” Hector had been the only person so far that believed Corrin’s outlandish ideas, let alone followed him. The two had always been close since childhood, camping, fishing, exploring together. In a way, they never outgrew that. They just went from chasing butterflies to chasing ancient treasures. Corrin stuffed the journal into his back pocket again, then turned to survey the tangle of trees and vines in front of them. “The journal says it’s this way. I think. Maybe.” Hector let out an audible sigh of frustration. Corrin shrugged apologetically and continued on.
           The two continued their trudge through the jungle, the nearly ancient journal acting as their only guide. It was a fairly uneventful slog, but that made it all the more unbearable. Every tree started to merge together, every rock formation became the same. Finally, the pair resigned themselves to a short break. Hector slumped himself against a protrusion of granite with a huff, while Corrin flipped through the journal manically as he paced, opening his mouth to start planning their next move when the roar of an engine cut him off. Turning his head towards the direction they had come, Corrin watched an armored half-track truck rumble towards them, with little regard for the foliage that stood in its path. Its hood displayed a bright blue logo, with Rafe Antiquities emblazoned front-and-center.
           “Ah, crap.” Corrin stood up, grabbing his brother’s arm to encourage him to get up as well. “Rafe? Aw, Corrin, you made friends.” Corrin ignored his brother’s sarcasm, pushing him away from the direction of the truck. “Yeah, it’s not a mutual thing. Just go!” The two dove down an embankment, sending Corrin into a puddle of muddy sludge. They listened with bated breath as the engine roared closer, then thundered past. Letting out a much-needed sigh of relief, Corrin helped his brother back up the embankment. The sudden jump had left his shirt and jeans caked in mud, with a throbbing pain in the back of his skull. He rubbed the back of his neck as he gazed down the half-track’s wake. “Well that’s just not fair.” Hector joined Corrin at his side, chuckling.
“Private army, huh?
Corrin nodded. “Yup. Antiques dealer. Doesn’t like me very much.”
“Even I could have told you that. But let me guess, they have guns.” Hector wiped mud from his face.
Corrin looked over at his brother. “Yeah. Lots of them. Are you up for it?”
Hector grinned. “Of course.”  The pair began trekking after the half-track with as much speed as their aching legs could manage.
           The Carters found the half-track stopped before a cluster of ruins that were unmistakably and extravagantly carved with Incan symbols. There were two stone pillars, around 6 feet high, with faces of animals and spirits glaring down at the men below. Corrin and Hector approached slowly, crouching behind a fallen log. The passengers of the vehicle had already dismounted and were scouring the area around the pillars. “We have to get around them.” Hector nodded in agreement, and the two started to move as quietly as they could manage. Eventually they made it to the pillars, where they hunched behind a jumble of debris. Ahead of them, the driver side door of the half-track swung open, another figure stepping out. He was tall but built fairly stocky. The sleeves of his button-up shirt were rolled to his elbows, and his eyes were rimmed with round glasses. As he stepped out of the vehicle, Corrin noticed the holster strapped to his right thigh, a trend carried throughout his band of mercenaries. Hector elbowed his brother, who was still staring at the newcomer, eyebrows furrowed in frustration. “That’s Rafe, right?” Corrin nodded, turning away from the scene. Hunched against the rubble, he looked around, eyeing anything that could help them get out of their current situation. What he found was even better.
           On a hill overlooking the pillars sat a massive stone structure, barely visible through the leaves and vines that encrusted it. Like the pillars, it was abundantly carved with massive Incan symbols. Corrin prodded his brother, pointing towards the building. “Looks like they’re missing something.” Hector followed his brother’s finger, his eyes falling upon the outer walls. With a chuckle, he considered the vines and rocks leading up to it. ‘Those vines are too weak, and there aren’t any good handholds in that rock. And with Rafe and his lackies watching, how do you plan on getting up there?” Corrin turned back around, careful to not be noticed by any of Rafe’s men. The half-track was too far away to give them any help, and the rock wall was sheer as far as Corrin could see. Then the pillars caught his eye. One was close enough to the rock wall that he could probably get to it if he could jump from high enough on the obelisk. He looked back towards his brother. “Cover me.” Hector reached for Corrin’s shoulder. “How do you expect me to-“
           Without giving Hector time to object any further, Corrin started towards the pillars, keeping himself low and out of sight. Hector eventually caught up, his face contorted in a mix of displeasure and excitement. “Little warning next time?” Corrin only shrugged, finally reaching the tall pillar. Rafe’s private army was keeping tabs on almost every part of the site, which would make it all the more difficult for the brothers to make their way up the pillar. Nevertheless, Corrin found a ledge on the pillar, pulled himself up, and started climbing. It was easier than he had thought. The deep carvings helped to give him plenty hand and footholds. “Alright. Halfway there.” Corrin muttered, his arms beginning to ache. As he reached and took another hold, there was a sickening crack, and the rock beneath his hand suddenly pulled apart. Half of his body pulled away from the pillar as the dislodged rock fell to the earth. With a restrained groan, Corrin pulled himself back into the pillar, pressing himself against the rock in a frantic endeavor to keep himself hidden. One of the mercenaries below hollered, but other than that it remained quiet. Corrin finally made it to the top of the pillar, bringing him eye-to-eye with the edge of the rock face. Mustering his strength, and counting a little bit on luck, he leapt from the pillar.
           He hit the shelf hard, his stomach colliding with the hard granite. Pulling himself up was more difficult than he thought it would be, since his arms were still raw, but he managed to get himself onto solid ground. Hector was close behind him, up the pillar and onto rock cliff. The two made their way inside the stone building. The inside was almost as dilapidated as the outside, with foliage reclaiming a majority of the once glamorous decorations. The ceiling and walls were still in decent shape, however, which made the interior fairly dark. Corrin looked around the room, taking in the walls, each of which were identical, save one that had a deep impression the shape of a keyhole. “Hey.” Corrin walked towards it. “What’s this?” As he strode closer, the depression seemed to deepen, seemingly the entire thickness of the wall. Corrin knelt, reaching out to touch the back of the shape. Hector crouched beside him, equally intrigued. Corrin’s fingers finally met with the material in the back of the hole, but it wasn’t what he was expecting. “It’s… it’s a plant, they’re vines. They must’ve grown over it. This is a window!” Corrin grabbed a fistful of the greenery and began pulling and tearing. The window was eventually revealed, and Corrin wasted no time in peering through it.
           The window was pointed directly at a hill a mile or two away from where the building was. A few small ruins dotted the landscape, with one large tower emerging from the ground at their heart. Its sides were caked in flora, from the foundation all the way to the rounded top of the cupola. “Hey, Hector, look at this. I think we found our destination.” Hector knelt before the window. “Okay, fantastic. More ruins. Haven’t seen enough of those recently.” Corrin sighed, pulling Pizzaro’s journal from his pocket. “Not just any ruins. Pizzaro wrote about this. See? We’re close. If we can just-” His explanation was cut off by the noise of two engines below the rock face, and footsteps just outside the building. Corrin shoved the journal into his pocket, urging his brother to get up. The treasure hunter hurried to the door, just as a uniformed man with the Rafe Antiquities logo on his shoulder stepped in his way. Carter’s face met with the butt of a rifle, sending him back, sprawling on the floor. Hector backed up, helping his brother to his feet.
           “Carter, when will you stay out of my way?” Rafe Matthews stepped through the door of the ruined building, followed by a pair of soldiers who forced the brothers back to their knees. Corrin looked up at the man, chuckling. “You’re going to have to be more specific. There’s two of us here now.” His sarcasm was responded to by another gruff hit to the back of the head., sending him to the ground in a heap again. Rafe leaned closer to Corrin, unholstering his handgun and gripping the handle. “Well, then, Corrin, tell me what you found and give me the journal, or we won’t have to worry about there being two of you much longer.” Corrin sighed, climbing to his feet, his hands held up in surrender. “Alright, fine. The journal’s in my pocket. Just grab it.” Rafe sneered, walking behind Corrin and bending down to take the small book. Corrin smirked himself, allowing a curt remark of Rafe’s distractibility. “Well. That was easy.” He quickly brought his elbow around, catching Rafe in the jaw. Hector took his lead, shoving one mercenary to the wall. The last remaining guard lunged for Corrin, who ducked, kicking the disoriented henchman to the ground.
           The Carters bolted from the building to find that two more cars, smaller silver jeeps, had joined Rafe’s convoy. They had brought extra manpower, making the area below a hive of people. As soon as Corrin and Hector had reached the edge, the soldiers below opened fire on them. Bullets whizzed and ricocheted around them as they jumped from the edge and landed behind the cover of a large log. Corrin grabbed his brother’s arm. “Go for the jeep!” Hector nodded, taking off towards the closest vehicle. Corrin, on the other hand, ran the opposite direction towards one of the standing pillars. If they wanted to get the jeep out of there, they’d need to shrug off some attention that they had drawn to themselves. Corrin placed his shoulder to the stone, pushing his weight into it. The historian inside of him cringed as he pushed, but the projectiles flying past his head straightened his priorities. With one final push, the pillar fell, sending mercenaries scrambling out of the way. As the dust settled, Hector turned the ignition in one of the jeeps pulling it alongside him. Corrin had just enough time for him to throw himself into the back.
           As the two brothers sped towards the tower in the distance, Corrin again pulled the journal from his pocket. He found it to have a deep channel through the cover, made by a stray bullet during the firefight. Corrin smiled to himself, running a finger through the groove. Oh well, he thought. He wouldn’t be needing it anyway. If Pizzaro was right, then the Carter brothers were one small step away from finding the legendary city of gold.
           The uneven terrain, lack of an established road, and the Jeep’s tattered suspension rattled both of the treasure hunters’ bones as they proceeded towards their next destination. Distantly behind them, the engine of another vehicle roared to life. Rafe had apparently recovered from the calamity moments before. Corrin turned to study the tower before them, which seemed to stay ever far away. “C’mon, Hector. Pedal to the metal!” Hector ignored him, his gazed fixed intensely at the monolith protruding from the hill in front of them. After what seemed like ceaseless time driving, Hector slowed the jeep down, pulling it close to the entrance of the tower. Corrin anxiously sprang from the car and walked hurriedly into the structure. The inside was mostly hollow and unadorned, save for a spiraling staircase that led to the top. Hector joined his brother, marveling in the ancient construction. “Well, whaddya say we get climbing?” Corrin nodded, hesitantly taking the first step up the dilapidated staircase.
           The top of the tower was capped with a large stone covering, held up by pillars. Corrin gawked at the scene in front of him as he took the last step. A vast, seemingly endless sea of trees and hills sprawled in front of him. The blue sky above the canopies of trees was interrupted by a massive thunderhead, flashes of lightning gleaming amidst the dark gray gloom. The air was already damp, and a clammy wind blew through the exposed lookout. Turning away from the awe-inspiring scene, Corrin found a large turntable in the middle of the rotunda, with two large handles sprouting from either side. Hector emerged from the stairwell, out of breath from the climb and mumbling what Corrin could only assume were frustrated obscenities. “Come on, wheezy. Give me a hand with this.” Corrin grabbed one handle as Hector lumbered to the other. “Corrin, haven’t you ever thought about if this doesn’t work? I mean, this tower’s ancient and hardly stable.” Corrin fastened his grip on the shaft in his hands. “Well, only one way to find out, isn’t there?” Begrudgingly, Hector began to push one way while Corrin forced the turntable the other.
There were a series of clicks followed by a loud rumbling and the droning sound of rock grinding on rock. Suddenly excited, Corrin turned around feverishly for the source of the noise. The cliff face behind them had started moving, a portion of the wall sliding down into the earth to reveal a large cavern within. Below them, a new silver jeep entered the scene, with Rafe gripping the wheel with white knuckles. In his excitement, Corrin didn’t notice the sound of the vehicle below him, the sound of a new magazine being loaded into a handgun, or even his own brother’s shouting as he reached for him. That was, until there was a loud discharge from the ground and pain ripped through his shoulder. Corrin fell forward, tumbling off of the tower with just enough time to grab the ledge with his right hand. His left shoulder felt like it was on fire, any small movement sparking pain throughout his whole arm. Hector flung himself to the ground, grabbing his brother’s arm and hauling him to relative safety. “Shall I prove my point more?” Rafe inquired threateningly. Corrin pulled himself to his knees to find Rafe below them, handgun still pointed at the top of the tower. Rafe grinned at the brothers, his smile twisted in a mix of arrogance and self-proclaimed victory.
Corrin and Hector stumbled down the last steps of the tower, back into the open air of the jungle. They were curtly pat-searched by Rafe as he began ranting. “Corrin and Hector Carter, I will admit. You have been a thorn in my side for far too long. I think it’s high time we remove that thorn, eh?” Rafe’s other hand reached down to his handgun, a sickening click sounded as he pulled the slide, raising it straight to Hector’s heart. Corrin jumped in front of his brother, right hand raised. “Hold on, Rafe. Hold on. Hear me out.” Corrin reached into his back pocket, taking out what was still in tact of the journal. “You don’t have El Dorado yet. There are still more puzzles. And this is the only way that you’ll solve them.” Staring Rafe in the eye, Corrin threw the journal to the ground, straight into a puddle of mud. The pages were instantly soaked, inside and out. “And we’re the only ones that saw that journal.” Rafe let out an unsettled sigh as he holstered his weapon. “Well then, Brainiac. Why don’t you go show us where these puzzles are?”
The group approached the newly uncovered cavern, Hector and Corrin in the front, with Rafe in the back. The cavern wasn’t as deep as it appeared. What it lacked in size it made up for in adornment, with lavish carvings, furnishings, and of course, gold. In the center of the room, pressed against a wall was a large rectangular box made of stone. The muzzle of a gun prodded Corrin in the back. “Open it.” Shooting a disgruntled look at the antique dealer, He stepped forward, gripping one side of the lid. Hector took the other. With a straining groan, the lid was pulled off and set on the floor. Anxious despite the circumstances, Corrin peaked into the box; And laughed. “What? Carter! What’s in the box.” Rafe was getting upset, his had drawing closer to the handgun at his side. Corrin grinned at the man, leaning against the box. “Do you know what El Dorado means, Rafe?” Rafe furrowed his brow, marching to the edge of the stone container.
Inside was a skeleton, a small sprinkling of gold dust near his shoulders, and a single Incan gold coin. “It means the golden man, genius.” Corrin pointed at the skeleton. “There’s the man.” He took the single coin from the coffin. “And here’s the gold.” Rafe stared at the body in shock. “This is… no, this isn’t real. Carter, do you think I’m a fool?” With a fluent motion, Rafe had his gun squared at Corrin’s chest again, his finger twitching on the trigger guard. With his other hand, Rafe reached down, pulling the skull from the casket. “This, if you can tell, is not a city of gold.” Corrin opened his mouth, a sarcastic remark at the ready, but was cut off by a new rumbling noise. Suddenly, the light inside the cavern shifted, a shadow darkening the area in front of the doorway, and it was growing. The large stone slab rose slowly from the ground, inch by inch.
“Corrin!” Hector called, his voice echoing around the small room. Corrin nodded, suddenly swinging his right arm forward, catching the shocked Rafe by surprise. With another swift movement, he wrenched the gun from his hand, using the butt of the handle as a weapon in itself for another blow to the antiques dealer. Rafe quickly recovered, spinning Corrin around and sending a clenched fist into his still bleeding left shoulder. The hit sent Corrin to the hard rock floor, the gun skittering out of his hand. Hector slammed into his adversary’s back, both of them falling to the ground. Corrin slowly stood back up, reclaimed the handgun, and began backing up towards the door, which had only about five feet of clearance. Defeated, Rafe pulled himself to his knees, an accusing finger pointed straight at Corrin. “Is it worth it, Corrin? All of this work, for a dead body and some gold dust? Answer!” Corrin shook his head, backing up to the moving slab of rock. Hector pulled himself up and was hanging a hand over the edge to help his brother. Ignoring Rafe’s demand, Corrin threw the gun away, gave one last look at his adversary, and hauled himself over the door.
Corrin Carter wiped his forehead, his hand falling to his side slick with sweat. Stuffy airplanes had a propensity to cause that. Hector lowered himself into his seat beside Corrin, handing him a small cup filled with whatever cola the airline had stocked. Corrin kept his gaze in front of him, staring at the single gold coin that sat on the fold-out tray. With a sigh, he picked it up, sliding it into his pocket dejectedly. Hector pushed his little brother’s head to the side playfully. “Come on, Corrin. You did find it. So what if it wasn’t what Pizarro had in mind?” Corrin nodded, chuckling. “I guess you have a point. Besides, this coin alone will probably fetch a whole fifteen dollars at a pawn shop.” The brothers chuckled, recounting the adventure that had just come to a close, and smiled as the ideas of new possibilities and opportunities for adventure began forming in each of their minds.
4 notes · View notes
globalmediacampaign · 4 years ago
Text
Which Version of MySQL Should I Use for MyRocks?
As database footprints continue to explode, many companies are looking for ways to deal with such rapid growth.  One approach is to refactor traditional relational databases to fit into a NoSQL engine, where horizontal scalability is easier.  However, in many cases, this is in no way a trivial undertaking. Another approach that has been gaining interest is the use of MyRocks as an alternative storage engine to the traditional InnoDB.  While not for everyone, in certain use cases it could be a potential solution.  As with so many things open source, the next standard questions are: which version should I use?  Any differences with the engine if I use MyRocks with MySQL 5.7 vs 8.0? In this post, I wanted to touch on this and give some high-level thoughts on MyRocks when it comes to the version of MySQL. Engine Overview At a high level, RocksDB is an embedded key-value database with data stored in a log-structured merge tree (LSM).  MyRocks is an abstraction layer that allows RocksDB to serve as a MySQL storage engine.  With RocksDB as the underlying storage layer, there are numerous advantages including faster replication, better compression, and faster data loading. In contrast, InnoDB is B-Tree based structure.  MySQL was designed using a plugin architecture that separates the storage engine logic from the main server functionality.  This allows users to choose which storage engine they want based on their use case.  Historically, this was the MyISAM storage engine.  In recent years, InnoDB replaced MyISAM as the defacto standard and later the default engine. Which Engine is Better? Choosing which engine to use is very use case-specific.  Even at Facebook, where MyRocks was first developed, it was not meant to be a universal replacement for InnoDB.  Features like gap locks remain absent from MyRocks.  If a workload is dependent on gap locking, it will be a non-starter with the MyRocks engine. Also, data access patterns should dictate the engine choice.  If the workload is write-intensive with limited range scans, it may be a good fit for MyRocks.  If you have a traditional OLTP workload with several reporting access patterns, InnoDB would remain a better option.  As mentioned in MyRocks Engine: Things to Know Before You Start: “MyRocks is not an enhanced InnoDB, nor a one-size-fits-all replacement for InnoDB. It has its own pros/cons just like InnoDB. You need to decide which engine to use based on your application’s data access patterns.” Which Version of MySQL Should I Use? Assuming you have done your research and found MyRocks would be a good fit, the next choice is which version to use.  Facebook runs MyRocks on a heavily patched, internal version of MySQL 5.6.  Percona Server for MySQL includes MyRocks in both 5.7 and 8.0.  So what are the differences? At a high level, the MyRocks/RocksDB code is essentially the same in all three versions.  Percona Server for MySQL uses the upstream version of RocksDB and only changes the linked version when Facebook MySQL updates the version.  This is due to the fact that it inherits the integration testing between RocksDB and MyRocks from Facebook. As such, the biggest differences are based solely on the server version and not the server version and MyRocks combination.  If your infrastructure is already running with MySQL 5.7 in production and not ready to finalize a move to 8.0, there would be no discernible difference running the MyRocks engine with your current version.  MyRocks running on Percona Server for MySQL 5.7 is stable and shouldn’t be discarded as an option.  You should still plan to upgrade to 8.0, but there shouldn’t be any unique challenges in the process compared to using InnoDB.  It would just require the standard upgrade process and significant testing. Moving forward (as 5.7 approaches EOL in 2023), you can expect to see fewer enhancements with MyRocks on Percona Server for MySQL 5.7.  Most new active development will be done against 8.0 while 5.7 will remain primarily in extended support, which includes critical bug fixes and security fixes only. Conclusion With all the version combinations and options, it can be overwhelming to pick the best option for your organization.  For a new deployment, I would recommend starting with MyRocks on MySQL 8.0.  With an existing MySQL 5.7 deployment (while you should be actively working towards an upgrade to 8.0), MyRocks is a viable and stable option as well.  The biggest driver for MyRocks should be space concerns combined with the workload.  As nice as it would be to say MyRocks is the silver bullet that works for everything, that just isn’t the case.  You can always reach out to the Professional Services team at Percona and let us help you determine if MyRocks would be a good fit for your team! https://www.percona.com/blog/2021/04/06/which-version-of-mysql-should-i-use-for-myrocks/
0 notes
irarelypostanything · 4 years ago
Text
Metaphors for Coding - Job Interviews
When Steven was 16, he was gassed, gagged, and taken to a single room with sterile white walls and one-way glass: On the other side were his friends and family, and Steven was told to watch them die.  To show how serious they were, they shot his previous neighbor - a kindly man who plowed their driveway and always had the best Halloween candy - in the chest.
“If you want the killing to stop,” explained the job interviewer, “solve this coding challenge.”  On the side opposite the one-way glass was a whiteboard, three differently-colored markers, and a can of LaCroix.
“But I don’t want to work at your company!”
“Hold that thought.”  The interviewer exited the room, shot one of Steven’s friends, and returned.  The neighbor was still bleeding out.
“You were saying?”
“If I solve your challenge, what will happen to them?”
“Depends on if you solve it correctly.  I enjoy watching people in pain - that’s why I became a job interviewer.  Notice that I didn’t shoot either of those two in the head...that would be too quick.  Murder isn’t like movies portray it.  When given a fatal shot somewhere other than the head, people don’t die instantly.  I enjoy the sound of agonized screams, and the smell of blood is like roses to me.  I like to do it slowly.”
“Makes sense.”  Steven turned around.  “You want me to implement a sorting algorithm?”
“Correct.”
“Is selection sort okay?”
For so much as suggesting that, the interviewer shot Steven’s ex-girlfriend in the right kneecap.
“Can I just store values in a vector and make a call to std::sort?”
The interviewer shot Steven’s ex-girlfriend in the other kneecap.
“What made you like this?”
“When I was a baby, a notorious serial killer sawed off my mother’s head and made me spend two days soaking in her blood before the police arrived.  By the time I was 18, I had job offers lined up by Google, Amazon, and Palantir.”
“Also makes sense.  Surprised two days was enough for Palantir, though.  How about merge sort?”
“Go ahead.”
Steven wrote two functions - mergesort and merge.  He finished and replaced the marker.
“Let’s see...right off the bat, you have mergesort(array, helper, low, middle) and mergesort(array, helper, middle, high).  That line of code look okay to you?”
“Yeah.  Recursively sort both the left half and the right half.”
The interviewer killed both of Steven’s parents.  “It was supposed to be middle+1.  Otherwise there’s some overlap going on, don’t you think?”
“Ah.”
“Other than that, good job.  Another candidate solved the problem without any syntax mistakes, though, so you fail.  Now I’m going to kill everyone else.”
“Why?”
“They’re witnesses.  It’s the old question - how many people do you have to kill to cover up the first murder?  Murder all the way down, if you ask me, but I’ll give you an option.  Kill yourself, and no one else has to die.”
“Why?”
“More interesting.  I am a devout Christian.  I believe that people who kill themselves burn for eternity.  The thought of your soul burning forever would give me more joy than killing the rest of the people you love.  What do you say?”
“I think what you’re saying makes sense.  If the amount of pain you inflict on my afterlife is infinite, then that’s more pain than the number of years times the number of people you are taking away.”
“Sounds good.”  The interviewer handed Steven the gun.
“Oh, damn it,” said the interviewer, just before Steven shot him.
*****
Now Steven was 26 and their plane was about to crash.  Jerry said the impact would likely be in approximately eight minutes and 53.719 seconds.
“I don’t know,” said Roger, “that story sounds incredibly made up.”
“The point is,” said Steven, “interviewers are the lowest form of humans.  They exist solely to ask you arbitrary bullshit and feel morally superior because you didn’t remember page 147 of Cracking the Coding Interview.  Shouldn’t they just be asking about concepts?”
“You have to memorize the code for merge sort to really understand the concepts.”
“I strongly disagree.”
“This plane will crash in eight minutes!” shouted Jerry, from the other side.
“We know!” Steven shouted back.  “God, that guy is such an idiot.  Anyway, where were we...right, the car problem.  Optimally park cars in lots for minimum distance.  Poorly defined inputs.  An interviewer who acted like it was a perfectly reasonable question.”
“Maybe we should deal with the crash?”
“Maybe.”
Their altitude was dangerously low.  The control console was flashing so many warnings that they could not scroll up and see all of them; they had no choice but to modify the debugging level to ERROR.
“This aircraft is about to pass through the Amazon cloud.  Looks like there’s a lot of activity.  Brace yourself.”
The plane rapidly descended into gray lightning and fog.  In those flashes, Steven caught a glimpse of operating systems that never were and never would be.
“Good.  We’re through the Amazon cloud.  On the count of three, I need you to activate the load balancer.  1...2...3!”
“Deploying!  It’s not working, though.  Aircraft is too heavy...can we drop the payload?”
“No.”
“Okay.”
“I need you to pull out all the stops.  Maintain structural integrity...deploy dispensable resources like the landing gear, fuselage bottom, and idle processes we had dedicated to mining bitcoin.”
“Done!”
“Console reporting that the left engine is on fire.  Use Task Manager to put out the fire in the left engine!”
“The left engine is dead now!”
“Yup, that’s what happens.  Easier to just kill the process than actually fix it.”
“Right engine is now on fire!”
“Talk about a bad day.  The probability of both of them failing is like 1/65536.”
“How Task Manager is on fire!”
“Use Task Manager to kill Task Manager.  Our best bet now is to land in that field over there, right next to the forest of binary trees.”
“On it.”
“As instructed,” said Roger, now talking to the box, “the value of our lives is less than the value of the aircraft.  Even if we do not survive, we will use our last moments alive to provide you with crash data, so that someone may recover this aircraft and figure out what went wrong.”
“Saving a copy of all log files now,” said Steven.
“Sending a bunch of pictures of various parts of the aircraft now,” said Roger.
“Hey, you know what would really help us right now?”
“What?”
“Solving merge sort on a whiteboard.”
0 notes