Tuesday, 28 July 2020

Show HN: Go-fileserver – Share files from PC to mobile over WiFi via QRCode https://bit.ly/303Zzem

Show HN: Go-fileserver – Share files from PC to mobile over WiFi via QRCode https://bit.ly/3349x1m July 28, 2020 at 02:37PM

Show HN: oso – Open-Source Policy Engine for Authorization https://bit.ly/2P3ViRK

Show HN: oso – Open-Source Policy Engine for Authorization https://bit.ly/306FOCT July 28, 2020 at 04:10PM

Launch HN: QuestDB (YC S20) – Fast open source time series database https://bit.ly/30Ub7A3

Launch HN: QuestDB (YC S20) – Fast open source time series database Hey everyone, I’m Vlad and I co-founded QuestDB ( https://bit.ly/3hH7dkP ) with Nic and Tanc. QuestDB is an open source database for time series, events, and analytical workloads with a primary focus on performance ( https://bit.ly/3jNnS8d ). It started in 2012 when an energy trading company hired me to rebuild their real-time vessel tracking system. Management wanted me to use a well-known XML database that they had just bought a license for. This option would have required to take down production for about a week just to ingest the data. And a week downtime was not an option. With no more money to spend on software, I turned to alternatives such as OpenTSDB but they were not a fit for our data model. There was no solution in sight to deliver the project. Then, I stumbled upon Peter Lawrey’s Java Chronicle library [1]. It loaded the same data in 2 minutes instead of a week using memory-mapped files. Besides the performance aspect, I found it fascinating that such a simple method was solving multiple issues simultaneously: fast write, read can happen even before data is committed to disk, code interacts with memory rather than IO functions, no buffers to copy. Incidentally, this was my first exposure to zero-GC Java. But there were several issues. First, at the time It didn’t look like the library was going to be maintained. Second, it used Java NIO instead of using the OS API directly. This adds overhead since it creates individual objects with sole purpose to hold a memory address for each memory page. Third, although the NIO allocation API was well documented, the release API was not. It was really easy to run out of memory and hard to manage memory page release. I decided to ditch the XML DB and then started to write a custom storage engine in Java, similar to what Java Chronicle did. This engine used memory mapped files, off-heap memory and a custom query system for geospatial time series. Implementing this was a refreshing experience. I learned more in a few weeks than in years on the job. Throughout my career, I mostly worked at large companies where developers are “managed” via itemized tasks sent as tickets. There was no room for creativity or initiative. In fact, it was in one’s best interest to follow the ticket's exact instructions, even if it was complete nonsense. I had just been promoted to a managerial role and regretted it after a week. After so much time hoping for a promotion, I immediately wanted to go back to the technical side. I became obsessed with learning new stuff again, particularly in the high performance space. With some money aside, I left my job and started to work on QuestDB solo. I used Java and a small C layer to interact directly with the OS API without passing through a selector API. Although existing OS API wrappers would have been easier to get started with, the overhead increases complexity and hurts performance. I also wanted the system to be completely GC-free. To do this, I had to build off-heap memory management myself and I could not use off-the-shelf libraries. I had to rewrite many of the standard ones over the years to avoid producing any garbage. As I had my first kid, I had to take contracting gigs to make ends meet over the following 6 years. All the stuff I had been learning boosted my confidence and I started performing well at interviews. This allowed me to get better paying contracts, I could take fewer jobs and free up more time to work on QuestDB while looking after my family. I would do research during the day and implement this into QuestDB at night. I was constantly looking for the next thing, which would take performance closer to the limits of the hardware. A year in, I realised that my initial design was actually flawed and that it had to be thrown away. It had no concept of separation between readers and writers and would thus allow dirty reads. Storage was not guaranteed to be contiguous, and pages could be of various non-64-bit-divisible sizes. It was also very much cache-unfriendly, forcing the use of slow row-based reads instead of fast columnar and vectorized ones.Commits were slow, and as individual column files could be committed independently, they left the data open to corruption. Although this was a setback, I got back to work. I wrote the new engine to allow atomic and durable multi-column commits, provide repeatable read isolation, and for commits to be instantaneous. To do this, I separated transaction files from the data files. This made it possible to commit multiple columns simultaneously as a simple update of the last committed row id. I also made storage dense by removing overlapping memory pages and writing data byte by byte over page edges. This new approach improved query performance. It made it easy to split data across worker threads and to optimise the CPU pipeline with prefetch. It unlocked column-based execution and additional virtual parallelism with SIMD instruction sets [2] thanks to Agner Fog’s Vector Class Library [3]. It made it possible to implement more recent innovations like our own version of Google SwissTable [4]. I published more details when we released a demo server a few weeks ago on ShowHN [5]. This demo is still available to try online with a pre-loaded dataset of 1.6 billion rows [6]. Although it was hard and discouraging at first, this rewrite turned out to be the second best thing that happened to QuestDB. The best thing was that people started to contribute to the project. I am really humbled that Tanc and Nic left our previous employer to build QuestDB. A few months later, former colleagues of mine left their stable low-latency jobs at banks to join us. I take this as a huge responsibility and I don’t want to let these guys down. The amount of work ahead gives me headaches and goosebumps at the same time. QuestDB is deployed in production, including into a large fintech company. We’ve been focusing on building a community to get our first users and gather as much feedback as possible. Thank you for reading this story - I hope it was interesting. I would love to read your feedback on QuestDB and to answer questions. [1] https://bit.ly/2BGmPps [2] https://bit.ly/39A8OpD [3] https://bit.ly/3g9UpD7 [4] https://bit.ly/3g9EHI3... [5] https://bit.ly/2YuxoVf [6] https://bit.ly/3f81m6z July 28, 2020 at 02:57PM

Show HN: I built a free alternative stock data platform https://bit.ly/307j9GI

Show HN: I built a free alternative stock data platform https://bit.ly/2StadHu July 28, 2020 at 02:48PM

Show HN: Twitter bot generates interactive transcript of any audio/video https://bit.ly/2EjY6Ii

Show HN: Twitter bot generates interactive transcript of any audio/video https://twitter.com/spext_it July 28, 2020 at 01:05PM

Show HN: An *Actually* Tiny Basic for Arduino https://bit.ly/3hKgEjr

Show HN: An *Actually* Tiny Basic for Arduino https://bit.ly/3jLBSze July 27, 2020 at 10:06AM

BBNaija: Tolanibaj And Ka3na Fight Dirty Over Food (Video)

Lucy’s tenure as ‘Head Of House’ has witnessed a serious fight over food, between BBNaija housemates, Ka3na and Tolanibaj. Tolanibaj asked for more food after eating earlier, and Ka3na asked her to wait a bit while she serves others who have not had breakfast at all. This provoked Tolani so much and she ended up […]

The post BBNaija: Tolanibaj And Ka3na Fight Dirty Over Food (Video) appeared first on Best9jamusic.



source https://www.best9jamusic.com.ng/entertainment/bbnaija-tolanibaj-and-ka3na-fight-dirty-over-food-video/

Show HN: New Dark Theme for Highlight.js https://bit.ly/303ssHs

Show HN: New Dark Theme for Highlight.js https://bit.ly/2BH8Mju July 28, 2020 at 11:56AM

Monday, 27 July 2020

Cassper Nyovest’s Mama is Proud of her Son – She can finally listen to his music

South African musician, Cassper Nyovest, expressed his overwhelming feelings of glee on Twitter after his mother listened to one of his tracks from his upcoming album, Any Minute Now. The award-winning rapper claimed that his mama finally gave him her stamp of approval, after she stated that she can listen to his music now due […]

The post Cassper Nyovest’s Mama is Proud of her Son – She can finally listen to his music appeared first on Best9jamusic.



source https://www.best9jamusic.com.ng/entertainment/cassper-nyovests-mama-is-proud-of-her-son-she-can-finally-listen-to-his-music/

Rachel Kolisi defends herself against Black Lives Matter criticism

Rachel Kolisi has publicly defended her stance on the Black Lives Matter movement, letting a critic know their arguments about “all lives matter” stinks of white privilege. The wife of Springbok captain, Siya Kolisi has become a star in her own right and has always been vocal about the Black Lives Matter movement, even defending […]

The post Rachel Kolisi defends herself against Black Lives Matter criticism appeared first on Best9jamusic.



source https://www.best9jamusic.com.ng/entertainment/rachel-kolisi-defends-herself-against-black-lives-matter-criticism/

Show HN: A read-it-later app to solve Pocket/Instapaper's endless list problem https://bit.ly/32ZNpVD

Show HN: A read-it-later app to solve Pocket/Instapaper's endless list problem https://bit.ly/3jJkRpj July 28, 2020 at 03:18AM

Show HN: Would You Survive the Titanic? https://bit.ly/2CT7sul

Show HN: Would You Survive the Titanic? https://bit.ly/30QIQKB July 28, 2020 at 01:54AM

Show HN: Your DevOps Control Plane, in Slack https://bit.ly/3jRFEaz

Show HN: Your DevOps Control Plane, in Slack https://bit.ly/3jRFEr5 July 27, 2020 at 06:04PM

Show HN: I collected 500 python & SQL questions from data science interviews https://bit.ly/2X2oMnA

Show HN: I collected 500 python & SQL questions from data science interviews https://bit.ly/2P6xOvb July 27, 2020 at 05:40PM

Show HN: Actuflow – stop procrastinating using a smartphone https://bit.ly/2CRB7nG

Show HN: Actuflow – stop procrastinating using a smartphone https://bit.ly/2OZsyd5 July 27, 2020 at 04:54PM

Excited mom celebrates her quadruplets on their 10th birthday (Photos)

An excited mom who gave birth to quadruplets has taken to social media to celebrate their 10th birthday. The mom Sofieye Abam took to her social media page share old and new photos showing how much they’ve grown. The excited mom also revealed on her page that her lovely kids turned 10 today, July 27, […]

The post Excited mom celebrates her quadruplets on their 10th birthday (Photos) appeared first on Best9jamusic.



source https://www.best9jamusic.com.ng/entertainment/excited-mom-celebrates-her-quadruplets-on-their-10th-birthday-photos/

“If we’re not talking about money count me out” – Churchill says as he snubs Tonto Dikeh’s message of forgiveness

Popular Nigerian Nollywood actress and philanthropist, Tonto Dikeh‘s ex-husband, Olakunle Churchill has snubbed her message of forgiveness. Recall that earlier today, Tonto Dikeh had taken to her Instagram page to reveal that she has forgiven her ex-husband, Olakunle Churchill. Revealing to her millions of followers that she has forgiven Churchill, she wrote; “YES, I SAID […]

The post “If we’re not talking about money count me out” – Churchill says as he snubs Tonto Dikeh’s message of forgiveness appeared first on Best9jamusic.



source https://www.best9jamusic.com.ng/entertainment/if-were-not-talking-about-money-count-me-out-churchill-says-as-he-snubs-tonto-dikehs-message-of-forgiveness/

Show HN: Plugin to transform WordPress into a GraphQL server https://bit.ly/2OXqzG7

Show HN: Plugin to transform WordPress into a GraphQL server https://bit.ly/3g1Bryn July 27, 2020 at 02:40PM

Show HN: GraphAV – A graph algorithms visualization tool built with React and TS https://bit.ly/333kK1Z

Show HN: GraphAV – A graph algorithms visualization tool built with React and TS https://bit.ly/3hDhLRW July 27, 2020 at 11:49AM

Mercy Eke goes spiritual on those posting sh*t about her, orders them to send her money

Big brother Naija 2019 winner, Mercy Eke, has gone spiritual on those posting sh*t about her on social media. In a new trend where people make videos ordering a particular person or people to send them money, Mercy ordered people posting sh*t about her to send her money. “Abracadabra, Abracadabra, stop posting sh*t about me, […]

The post Mercy Eke goes spiritual on those posting sh*t about her, orders them to send her money appeared first on Best9jamusic.



source https://www.best9jamusic.com.ng/entertainment/mercy-eke-goes-spiritual-on-those-posting-sht-about-her-orders-them-to-send-her-money/