22 January 2021
Preview of 'AWS announces forks of Elasticsearch and Kibana'

AWS announces forks of Elasticsearch and Kibana

"I do not get why people are coming down on AWS here. Elastic made the software available under the Apache License. That gives AWS the right to offer this service. Maybe they did not have right to trademarks, there are courts to settle that.AWS contributes improvements to the project. This is just about Elastic and their business model. They could have not made it open source and it probably just would not have been widely used and successful. It is up to Elastic to come up with a business model that works, not blame others if it is not."

"AWS are the good guys here. Elastic built a popular product off the work of countless open source contributors. That's how they became a market leader in this product space. It's how open source works. The people who contributed to the product did so with no expectation of reward except that their efforts would remain open source.Elasticsearch got popular, and now Elastic wants to reap all the rewards and make money off the product. They're free to do that, and create restricted-license or closed-source versions for future enhancements. But the community doesn't have to buy into that and continue to contribute to what is no longer truly an open source product. AWS is forking it and continuing with the original, truly open source license.This is pretty much exactly what happened to MySQL, and now we have MariaDB, which is a better and truly open source product.AWS does plenty of things worth criticizing, and one can even criticize them in this particular instance for not working with Elastic to provide more support to whatever it was they were asking for. And Elastic may very well have a legitimate gripe about trademarks. But yanking the Apache license out and moving to a more-restrictive license is not the right solution, and is not what everyone who contributed to building the product signed up for.You can't create an open source project, wait for it to gain market dominance, decide to be less open source, and expect the community to continue contributing.Elastic shot themselves in the foot and now they can either revert their decision or get left behind as the community moves on to what will ultimately end up being the better product."

"While it's great that AWS has indeed contributed fixes to upstream Elasticsearch, they link to 9 PRs that are generally on the trivial end of the scale. (Though I don't doubt the PR that adds a missing synchronized keyword might have been gnarly and time consuming to debug, and that diff size does not necessarily correlate to importance)For a project AWS was making hundreds of millions in revenue on four years ago (as per an ex AWS employee), patting your own shoulder for such a trivial amount of contributions is a bit disingenuous. They might have contributed more, but if there was something significant, they probably would have mentioned.Notable new features like "ultrawarm" they did not attempt to contribute upstream, nor open source at all: https://aws.amazon.com/about-aws/whats-new/2020/05/aws-annou..."

Preview of 'Rust for Windows'

Rust for Windows

"This is really cool. Kudos to Microsoft for really getting open source lately. I wrote an app (which failed miserably) called zenaud.io . When I started writing the app, Apple was hands-down a better developer experience. Now, it's the exact opposite -- MacOS is increasingly painful, throwing up more and more roadblocks and constricting their platform ever more. And Visual Studio is better than Xcode IMO.Also, as a C++/Python dev - it's increasingly hard not to notice the awesome momentum Rust has garnered."

"Rust needed a GUI and Microsoft provided one. They seem to be very focused on giving developers what they need, but only to a point. I've been doing some system glue stuff and while it's nice that powershell has ssh an scp they are missing some options I want. I was going to use curses with python (batteries included!), only to find out it's not supported on windows.It almost feels like a strategy - be standard enough to bring people in, but idiosyncratic enough to lock them in.I'll be using gtk-rs thank you very much."

"I was curious how this worked: The previous iteration of this only worked for WinRT API, and this new crate seemed to also work by generating code from WinMD files. But WinMD files only contained definitions for WinRT/COM APIs, so how could this possibly work?Well turns out, microsoft started a project to also generate Win32 API information in WinMD file, to generate APIs from them automatically for all native languages! See win32metadata[0]. This could make interfacing with win32 APIs a lot more convenient!https://github.com/microsoft/win32metadata"

Preview of 'Ask HN: Anyone know any funny programming jokes?'

Ask HN: Anyone know any funny programming jokes?

"One of my all time favorites. Can’t remember where I first read it (Quora?), but it’s currently my top Google hit for “balloon programmer project manager joke”. [0]============A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts:"Excuse me, can you help me? I promised my friend. I would meet him half an hour ago, but I don't know where I am."The man below says, "Yes, you are in a hot air balloon, hovering approximately 30 feet above this field. You are between 40 and 42 degrees North latitude, and between 58 and 60 degrees West longitude.""You must be a programmer," says the balloonist."I am," replies the man. "How did you know?""Well," says the balloonist, "everything you have told me is technically correct, but I have no idea what to make of your information, and the fact is I am still lost."The man below says, "You must be a project manager""I am," replies the balloonist, "but how did you know?""Well," says the man, "you don't know where you are or where you are going. You have made a promise which you have no idea how to keep, and you expect me to solve your problem. The fact is you are in the exact same position you were in before we met, but now it is somehow my fault."[0] https://www.reddit.com/r/ProgrammerHumor/comments/2rn8qx/i_h..."

"(Not my joke)At a recent real-time Java conference, the participants were given an awkward question to answer: "If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?" Among the forest of raised hands only one man sat motionless. When asked what he would do, he replied that he would be quite content to stay aboard. With his team's software, he said, the plane was unlikely to even taxi as far as the runway, let alone take off."

"This is an oldie (I first heard it in the 80s) but is one of my all time favorites. While it can be told about any two classes of people it really applies to a lot of code I encounter: A physicist is showing a thermos to her friend, a programmer. "It's amazing", she said. "You put a cold drink inside and regardless of how hot it is outside the drink stays cold". The programmer is suitably impressed. "But that's not all", she continued. "You can put a *hot* drink inside and no matter how cold it is outside the drink stays hot". Now the programmer is perplexed. Plaintively he asks, "But how does it know?" I think of this whenever I read code that contains a gratuitous state variable that explains the type or content of some data structure rather than make the data structure self-explaining. Even more annoying when it's a class.Having to coordinate two variables is a recipe for bugs down the road. Seems like it should be a beginner's mistake but I see it all the time in "non beginner" code."

Preview of 'New Intel CEO rehiring retired CPU architects'

New Intel CEO rehiring retired CPU architects

"This is an encouraging move.My secondhand understanding was that Intel was losing top talent due to pressure to pay closer to median industry compensation. Top engineers recognized they were underpaid and left the company.I've been part of a similar downhill slide at a smaller company in the billion dollar revenue range. To be blunt, once the [mediocre] MBAs start realizing that the engineers are getting paid more than they are, the pressure to reduce engineering compensation is strong. Frankly, there are plenty of engineering candidates on the market who are happy with median compensation. Many of them are even great engineers and great employees.However, being a top company in a winner-take-all market requires the top engineers. The only way to attract and retain them at scale is to offer high compensation. I'm hoping that's part of what's happening here."

"A bit off topic but I remember when Intel set up a special career fair presentation for my major.I forget the specific role the manager was hiring for, but it sounded like a quality/reliability engineer. Basically run a bunch of tests, identify and analyze errors on newly manufactured equipment.I immediately lost interest when the manager said the role would either work until 9 PM or start the next day at 4 AM due to an important (daily?) 7 AM meeting where the results would be presented. Ontop of that, it was required that you be on call during every weekend and most holidays. You would be required to do this for your first two years as an entry bachelor degree worker. Entering masters level students wouldn't need to be on call.After that, he mentioned this role would pay ~$65,000 USD. Bonus < $5000. To live in the bay area. Then he bragged to us about the ability to buy intel stock at a 15% discount or something like that.The manager presented in a room with fully qualified people to work at any FANG/Graphics/Aerospace company.I sold all my intel stock the next day [late 2019], it made up most of my portfolio at the time. I just did not see how intel would attract talent if it over-worked and under-compensated entry level employees like that. Compared to the FANG employee getting free meals, game rooms, huge salary, etc."

"In my estimation, Intel has four categories in which it is being outperformed by key competitors:1. TSMC/Samsung - fabrication2. AMD/Amazon-Graviton - Cloud Server3. Apple-M1/AMD - Laptop4. Nvidia/Amazon - Cloud ML/DL AcceleratorIntel has made giant blunders in the past (e.g. Itanium [1], Atom [2], WiMAX [3]) but I'm not sure that any of these past challenges were equivalent to the current four-front war. I would not count Intel out at this point but it will be several years before we know if they were able to right the ship.[1] https://en.wikipedia.org/wiki/Itanium[2] https://en.wikipedia.org/wiki/Atom_(system_on_a_chip)[3] https://en.wikipedia.org/wiki/WiMAX"

Preview of 'Still alive'

Still alive

"For anyone who hasn't yet had the pleasure, Scott's (fiction) book Unsong is magnificent. It's one of the best books I read last year, and I read constantly.http://unsongbook.com/Ebookhttps://github.com/JasonGross/unsong_scraperSample:“I AM BUSY. I AM TRYING TO FIX CONTINENTAL DRIFT.”“I…didn’t know it was broken.”Uriel’s face became more animated, his speech faster.“IT HAS BEEN BROKEN FOR FIVE WEEKS AND FIVE DAYS. I THINK IT BROKE WHEN I RELOADED NEW ZEALAND FROM A BACKUP COPY, BUT I DO NOT KNOW WHY. MY SYNCHRONIZATION WAS IMPECCABLE AND THE CHANGE PROPAGATED SIMULTANEOUSLY ACROSS ALL SEPHIROT. I THINK SOMEBODY BOILED A GOAT IN ITS MOTHER’S MILK. IT IS ALWAYS THAT. I KEEP TELLING PEOPLE NOT TO DO IT, BUT NOBODY LISTENS.”"

"I'm glad that Scott is back (and that Substack will make it easy for him to get paid for his work).That said, some of the best things about Slate Star Codex were stumbling on the archives, going down a rabbit hole of old LessWrong posts, the links in the blogroll. Substack is much worse than a standard WordPress blog when it comes to that sort of casual reading and creating a permanent home for posts that are timeless. [1]I'm all for creators being paid for their work, I just hope that SSC doesn't lose anything that made it special with the new platform.[1] Applied Divinity Studies / Nintil on Substack: https://nintil.com/substack-milquetoast"

"I particularly liked the emotional end to this post, and I'm very glad he ended it with such a strong and positive tone.Online communities are able to connect people that, before the Internet, would have had a very difficult time finding the right peers for them. Some communities adjacent to SSC (and some near HN) have helped me find some amazingly smart and cool people, and I'm very thankful that they exist (and that Scott can continue blogging as well), and if anything I hope we can encourage significantly more niche community building on the Internet, and with many more modalities than blogs, forums, and comments (which SSC indeed has).His notes about people being afraid to express themselves, have open discussions, be honest, and share with one another are pretty saddening however, and I hope that we can progress towards a better area here, even if progress sometimes seems slow or impossible."

Preview of 'Raspberry Pi Pico and RP2040 Microcontroller'

Raspberry Pi Pico and RP2040 Microcontroller

"I got some hands-on time with the Pico and made a video for it [1], with a tiny project I decided to try out with MicroPython.It was the first time I'd ever tried MicroPython, and I have to say I'm a huge fan. As a dev who came from PHP/Javascript into Java and Python (heh, not quite the same thing but that's how life was), I find MicroPython a lot more intuitive than the Arduino language or raw C.I also learned that Adafruit maintains their own flavor, CircuitPython [2].Definitely worth trying out if you haven't, and know any Python![1] https://www.youtube.com/watch?v=dUCgYXF01Do[2] https://circuitpython.org"

"Some high level info on the Pico [1]: - New RP2040 microcontroller with 2M Flash - Micro-USB B port for power and data (and for reprogramming the Flash) - 40 pin 21x51 'DIP' style 1mm thick PCB with 0.1" through-hole pins also with edge castellations - Exposes 26 multi-function 3.3V General Purpose I/O (GPIO) - 23 GPIO are digital-only and 3 are ADC capable - Can be surface mounted as a module - 3-pin ARM Serial Wire Debug (SWD) port - The power supply achitecture is pretty simple (you can power the unit from micro-USB, external supplies or batteries) - Buy price is $USD 4.00 - MicroPython & C++ SDK - Pinout Diagram: https://files.littlebird.com.au/Shared-Image-2021-01-21-17-39-47-GVzHd.png - When using MicroPython, the programming model is similar to other boards where you have to unplug and plug back in the board. I hope this is ok on the Micro-USB port. - The isn't currently a version with header pins, so you'll have to add your own, or get one from a Reseller who will mode them for you (like this one [2]). The burried the lede is that Raspberry Pi have created their own silicon (just like that other fruit company). They call their Microcontroller the "RP2040":It boasts some impressive specs: - Dual-core cortex M0+ at up to 133MHz - On-chip PLL allows variable core frequency - 264K multi-bank high performance SRAM - External Quad-SPI Flash with eXecute In Place (XIP) Source:[1] I've had access to prerelease HW and work at: https://raspberry.piaustralia.com.au/products/raspberry-pi-p...[2] Maddy (with her steady hands) has hand modded 100 of these: https://raspberry.piaustralia.com.au/products/raspberry-pi-p..."

"I bet that future Raspberry Pi boards will have a RP2040 or successor chip onboard, to do the bit banging/realtime jobs on the I/O port.Or they will even integrate it into their SOC.Shame though, that they didn't make the IO ports 5V capable. It's nowadays pretty common for microcontrollers that are meant for industrial and automotive use to have a separate supply for the I/O ports, that can go up to 5V, independent from the core/peripheral voltage.The main use is to drive (logic-level) MOSFETs directly, interface to 5V buses like SENT, CAN, etc. without having to use level shifters."

Preview of 'Update: YouTube-dl reinstated thanks to EFF (2020)'

Update: YouTube-dl reinstated thanks to EFF (2020)


"> There is one thing that has been and is always going to be counterproductive, especially in such situations: blind actionism. Many people flooded the Internet (read: forums, Reddit, bug trackers of projects), inciting panic and suggesting to move to some other “free” hosted platform. This is clearly not a solution. Any hosting platform will sooner or later have to comply with such a request. It can become very expensive if you end up in court."

">Regarding GitHub, it is sad that they took down the repository at all. It’s a well-known pattern: platforms rather comply with such requests than risking litigation, requiring projects to invest time and money to fund lawyers themselves (or hope for an association such as the EFF to pick up their case). The moment they published the request and took down the repositories, many experts immediately raised concerns that the request itself is illegal. It remains questionable why GitHub’s legal team didn’t recognize this.ok... am I crazy? I thought when someone sends a DMCA request to you, the platform, that you are required to take the content down and wait for a counter notice from that contents author. The legality of the message is not your problem. You receive the DMCA, you take the content down, if you get a counter claim, you put it back up, the two parties go to court.If that's correct, then can you really criticize github for following an odious law? Whether we like it or not, they are bound by these requirements."

Preview of 'Retiring Tucows Downloads'

Retiring Tucows Downloads

"Wow, nostalgia, it's been years since even hearing about Tucows. Tucows was a huge part of my childhood from 10 to 18 years old. Good run and great early repository for software. Thanks Tucows."

"tucows and download.com were the "app stores" of the web before the walled gardens of the big companies today. You could distribute your app to one of these sites and have it be automatically syndicated to thousands of other download sites. This is how distributed web worked. We're making the web more centralized and it's not just social media and youtube."

"The article doesn't link to the Tucows Downloads Archive, for whatever reason it only links to the archive.org homepage.Here's the direct link: https://archive.org/details/tucowsIt also appears that the archive wasn't manually reviewed; some items are just screenshots, and others are unrelated to software at all.Example (mildly nsfw): https://archive.org/details/tucows_71077_Sung_Hi_Lee_2"

Preview of 'Show HN: Virtual breadboard in the browser, inspired by Ben Eater's 6502'

Show HN: Virtual breadboard in the browser, inspired by Ben Eater's 6502

"Check out my homemade 8bit CPU! Code and schematics: https://github.com/vascofazza/8bit-cpu"

"My goodness -- this is impressive. I've just started dabbling in software development, and I can only imagine the time it must have taken to write this. A real labor of 'hard soft' love!"

"Dumb question, when you first load it are you able to just push play? Guess don't see if it needs a battery or something to run. Maybe assumes rails have power."

Preview of 'Serverless SQLite'

Serverless SQLite

"This is really clever. I've been wanting to try the WASM version of SQLite for something - this is a really smart usage of it.My https://datasette.io/ project is built around a similar idea to this: the original inspiration for it was Zeit Now (now Vercel) and my realization that SQLite read-only workloads are an amazing fit for serverless providers, since you don't need to pay for an additional database server - you can literally bundle your data with the rest of your application code (the SQLite database is just a binary file).If you want to serve a SQLite API in an edge-closest-to-the-user manner for much larger database files (100MB+) I've had some success running Datasette on https://fly.io/ - which runs Docker containers in a geo-load-balanced manner. I have a plugin for Datasette that can publish database files directly to Fly: https://docs.datasette.io/en/stable/publish.html#publishing-..."

"https://www.sqlite.org/serverless.html(first published 2007, before the more recent misuse of the term began)"

"I've also experimented with this, unfortunately the 50ms CPU time isn't enough for datasets larger than 1.5MB. And the wasm init add at least 100ms to each request even when "hot" in cache.Also, out of a cost perspective, running a VM with SSD for cheap with SQlite will give much more requests than a CF worker for much less.Adding writes to this is also very limited due to the max 1sec write per KV key limit."

Fork me on GitHub