HNHacker News
TopNewBestAskShowJobs

alquemist

244 karma · joined July 1, 2020

submissionscomments
alquemist··on “Less than one”-shot learning
Agreed, the idea is interesting and worthy of further exploration. For starters, does it scales beyond MNIST or 'tiny synthetic datasets'?
alquemist··on “Less than one”-shot learning
The title is misleading. The core technique still uses 60,000 images from MNIST, but 'distills' them into 10 images that contain the information from the original 60,000. The 10 'distilled' images look nothing like digits. Learning a complex model from 10 (later reduced to 2) 'distilled' number arrays is an interesting research idea, but it has little to do with reducing the size of the input dataset. Arguably the heavy lifting part of the learning process moved from training the model to generating the distilled dataset. There is also some unconvincing discussion around synthetic datasets, though it remains fully unclear how these synthetic datasets have anything to do with real world scenarios.

> In a previous paper, MIT researchers had introduced a technique to “distill” giant data sets into tiny ones, and as a proof of concept, they had compressed MNIST down to only 10 images.

alquemist··on ARM chips have an instruction with JavaScript in the name
That is very true, thanks for clarifying. It is one of the main reasons it is hard to build 'good enough' VLIW compiler, though I haven't paid attention to the field in >10 years. OOO = 'out of order' :)
alquemist··on ARM chips have an instruction with JavaScript in the name
On top of my head:

* Apps eventually degenerate in a mess of interconnected components triggering events on each other. Building UIs felt more like writing Verilog than writing functions. Nothing like chasing event ordering bugs through library components. With React I never saw 'enqueue a new event for component X' anti-pattern. All callbacks flow from children to parents in a fairly regular manner.

* Related, there is no need to manually manage repaint events in React. Visual updates happen automagically. See, for example, https://stackoverflow.com/questions/952906/how-do-i-call-pai... for a hair pulling session related to manual repainting.

* On the ergonomics side, having a markup language allows for terse but readable definitions of component trees. I see 2020 Qt has introduced a markup language, this was not the case circa 2005.

* Hooks give an extra layer of niceness. Declaring a component is as easy as declaring a function. Local state becomes almost as simple as declaring a local variable.

* The inspector capabilities of modern browsers are very handy when debugging layout and styling issues.

alquemist··on ARM chips have an instruction with JavaScript in the name
Regarding gotchas, it's bearable. I only have a couple on my short list: == vs === and xs.includes(x) vs x in xs, and only the latter is not reducible to a trivial rule of thumb. TS is helpful in this regard, possibly there are more in plain JS.

Regarding performance, modern JS is plenty fast, but it's not in the 'terrible' category. It's memory usage, perhaps ;) https://benchmarksgame-team.pages.debian.net/benchmarksgame/.... For performance critical code JS is not the answer, but good enough for most uses, including UIs.

Regarding UI paradigms, I'm not sure what the problem is, or what significantly better alternatives are. I did MFC/C++ in '90s and C++/Qt in the '00s, and both were vastly inferior to modern browser development. React+StyledComponents is a wonderful way to build UIs. There are some warts on the CSS side, but mostly because Stackoverflow is full of outdated advice.

alquemist··on ARM chips have an instruction with JavaScript in the name
> in Itanium's case at least partially because it was hard to write compilers good enough to exploit its VLIW design

This is half true. The other half is that OOO execution does all the pipelining a "good enough" compiler would do, except that dynamically at runtime, benefiting from just in time profiling information. Way back in the day OOO was considered too expensive, nowadays everybody uses it.

alquemist··on ARM chips have an instruction with JavaScript in the name
We are no longer in 2005. Javascript, especially in its Typescript flavor, is a perfectly capable modern language.
alquemist··on How to Hide from a Drone
From Garmin website, first category (wearables), first item:

https://buy.garmin.com/en-US/US/p/702902#specs: CONNECTIVITY Bluetooth®, ANT+®, Wi-Fi®.

From Garmin website, featured items:

https://buy.garmin.com/en-US/US/p/711488: CONNECTIVITY Bluetooth®

https://buy.garmin.com/en-US/US/p/707174/pn/010-02427-02: CONNECTIVITY Bluetooth®, ANT+®

https://buy.garmin.com/en-US/US/p/713363: CONNECTIVITY Bluetooth®, ANT+®, Wi-Fi®

Older school hiking GPS:

https://buy.garmin.com/en-US/US/p/699779: WIRELESS CONNECTIVITY yes (Wi-Fi®, BLUETOOTH®, ANT+®)

The weighting scale apparently has no wifi, so that's drone safe. Though not quite portable.

alquemist··on A Short Story About SQL’s Biggest Rival
top - max value in the group

top3 - max 3 values in the group

alquemist··on A Short Story About SQL’s Biggest Rival
Nice! Should be easy to do max instead of count. Then top instead of max. Then top3 breaks the model.
alquemist··on A Short Story About SQL’s Biggest Rival
Assuming we key a and b by y.d and generalizing b to sets, we are reaching the limits of the relational model: there is no good way to represent multiple sets associated with a given key, we need independent tables to do so. Neither cross product nor null padding is a good way to represent the schema {y, a[], b[]}.

      y.d |  a   |  b
    -------------------
      y0  |  a0  |  b0
      y0  |  a0  |  b1
      y0  |  a1  |  b0
      y0  |  a1  |  b1
      y0  |  a2  |  b0
      y0  |  a2  |  b1

    
      y.d |  a   |  b
    -------------------
      y0  |  a0  |  b0
      y0  |  a1  |  b1
      y0  |  a2  |  null
alquemist··on A Short Story About SQL’s Biggest Rival
There are a handful of examples on Wikipedia: https://en.wikipedia.org/wiki/QUEL_query_languages. One example:

    retrieve (a=count(y.i by y.d where y.str = "ii*" or y.str = "foo"), b=max(count(y.i by y.d))) 
Not a particularly clear 'jumps at you' obvious semantic:

* Are a and b aggregation functions or window functions? If aggregations, how do they compose if the 'by' scopes are different?

* What does max(count(... by ...)) mean? What is the aggregation (window?) scope of max?

* How would an outer where clause compose? What is the evaluation order?

alquemist··on A Short Story About SQL’s Biggest Rival
> … The language (SQL) is not very composable. This is a fact that most SQL users are not aware of. The relational algebra that SQL is based on is absolutely composable but SQL is not due to the inherent limitation of the language (as it was designed to be natural language-like). When you write "select x from a where z", you are actually building something along the lines of "from a" => "where z" => "select x" in the algebra and you can actually compose each portion separately. If you are familiar with dplyr, Spark or pandas you would get this instantly.

Hmmm. Not a big lover of SQL, but this is a bit imprecise. While the unit of composability is slightly smaller for from=>where=>select (expression) vs select+from+where (subquery), in practice they both encode the same fundamental compositional principles, based on relational algebra. Any from=>where=>select query can be translated into a select+where+from query almost 1:1, if only via:

    from t ::= select * from t
    q => where p ::= select * from q where p
    q => select xs ::= select xs from q 
Sometimes the select+where+from ends up more verbose, sometimes there is more brain twisting to grok a given select+where+from query, but that's not a composition limiting factor. Granted, the readability of SQL is sometimes lacking, but it is fully capable to compose recursive relational algebra queries.
alquemist··on A web of trust for NPM
Not sure how a new language can help with an ecosystem problem. In the old days, people write your own code and relied on a vendor provided standard lib, for example C++ stdlib, Java platform or Python's batteries included. Since software is expensive, to save time and money people started to rely on 3rd party libraries, conveniently delivered by package repositories, for example CPAN, PyPI or npm. A new language will be subject to the exact same cost and delivery deadline pressures. If anything, newer languages tend to have ecosystems even more dependent of 3rd party modules. The PL problem is largely solved, the ecosystem problem is not.
alquemist··on A web of trust for NPM
Brainstorm: Could it help to run 'coverage' through the web of dependencies and shake out all the code that is not explicitly exercised by an app test? Is that technically feasible? Is that cost effective?
alquemist··on Pixel 5
Not sure what's wrong with the page. It looks slick, polished and expensive. Solid marketing material.
alquemist··on Google/Fitbit will monetise health data and harm consumers
First line of the abstract: "The European Commission is conducting an in-depth investigation of the Google/Fitbit deal.". They are perusing a specific legal angle to investigate Google/Fitbit.
alquemist··on The campaign against plastic is harming the planet and the public
Given how prevalent plastic is, my suspicion is that glass is more expensive than plastic. Single use glass seems like a waste, though I haven't run the numbers.

Unless we can get to reusable glass. Living in US and walking the aisles of the local supermarket, I don't see how that's possible. The glass-packaged foods come from all around the world, with each company apparently intent on having its own distinctive glass shape. As 'recyclable' material ends up in the landfill more often than not for cost reasons, it seems a monumental task to build a 'reverse distribution' path to send back glass containers thousands a miles away to their original producer for reuse.

alquemist··on Social Cooling (2017)
Even in the best of circumstances, being subjected to the highlights of 100 other people will make your life feel miserable in comparison. Amazing vacation locations at the best time of day, gorgeous food from the best angle, amazing health and fashion with the best lightning. That's before we go into likes hunting and what that does to the reward paths in your brain. Social media as a concept is deeply unhealthy. At least the traditional celebrity cult, already rather weird in its American incarnation, had some degree of psychological distance between self and the professionals. With social media, everyone is caught in the celebrity game.

Right now is a great time to delete your accounts. The only better time is yesterday.

alquemist··on The campaign against plastic is harming the planet and the public
Thanks. While I wrote the OP I had 'reusable standardized glass jars' as a possible end goal in mind. I'm heartened to hear this goal is feasible. The question remains on how to move the status quo from 'myriad shape plastic containers' as is common in US to 'reusable standardized glass jars' as apparently is common in Germany. This was also common in the country of my childhood due to poverty: there was a single type of yogurt period, thus standardization was trivial, plastic was rare and glass was expensive, thus reuse. In particular as recycling around here is a sad joke. People are harangued to perform the ritual separation of 'recyclable' stuff, which then the garbage company either sends thousands of miles offshore to unclear fate, or just transports it exactly to the same landfill as the regular garbage. Forget about reuse.

https://www.theguardian.com/us-news/2019/jun/21/us-plastic-r...

alquemist··on The campaign against plastic is harming the planet and the public
While this article is off base, there is a distinct lack of leadership in demonstrating effective ways to solve the problem. There is way too much plastic used for disposable packaging, from foods to toiletries to the infamous heat sealed plastic clamshells. What does an ideal zero plastic life look like? Is it even possible to conduct such a life in the modern world?

For example, yogurt. Ubiquitous. Comes in nice little plastic cups, which will, at best, end up in a landfill. Suppose there is a wide agreement in society to phase these plastic cups out:

* Do we ban yogurt?

* Do we use recyclable glass instead?

* Do we use recyclable glass, and only dispense yogurt if you bring a recyclable container for an exchange?

* Do we use recyclable glass, only dispense in exchange for a recyclable container, and standardize container shape such that the recycling actually recycles, as opposed to sending the "recycled" container to a landfill anyways?

* Do we limit the amount of yogurt containers one can buy in a given timeframe?

* Do we create a heavy tax on the container, say 10x the price of the content?

Life is short and people may get overwhelmed by too many details. Problem which compounds if there is too much choice. Almost always better to have a standard recipe to follow, than having to figure out a recipe on a case by case basis.

alquemist··on What makes a good REPL? (2017)
Similar strategy works via 'run test' in an IDE. Never needed a REPL.
alquemist··on Mark in the Middle
Going further back, the Protestant Reformation was enabled by the spread of the printing press. In its wake, the 30 Years War. Upon utter exhaustion of the parties involved, the Peace of Westphalia set the stage for the modern nation states.
alquemist··on Use long flags when scripting (2013)

    --r<TAB>ecursive
alquemist··on Signs of Life discovered on Venus and atmosphere
We've put old rocks under the electronic microscope. That's how we identified billion year old cyanobacteria fossils. While there is no readily available comprehensive record of who searched for microfossils by looking at what old rocks, with or without a microscope, it's not like it's a new idea.

https://ucmp.berkeley.edu/bacteria/cyanofr.html

alquemist··on AresDB: Uber's GPU-Powered Open Source, Real-Time Analytics Engine
Not a big fan of AresDB because of the glaring IO issues. That being said, pushing 'lack of join operator was never a problem' is textbook Sapir–Whorf. 'We've trained our captive users to never ask a question that requires a join, or use convoluted workarounds if they absolutely must do so, and we are proud of it' just leaves a bad taste. I wouldn't be surprised if Pinot were to add join support in the near future...
alquemist··on Signs of Life discovered on Venus and atmosphere
> And then there’s all that plastic. Studies have shown that increasing amounts of plastic “marine litter” are being deposited on the seafloor everywhere from coastal areas to deep basins, and even in the Arctic. Wind, sun, and waves grind down large-scale plastic artifacts, leaving the seas full of microscopic plastic particles that will eventually rain down on the ocean floor, creating a layer that could persist for geological timescales.

Sandstones. Sandstones originate as far as hundreds of million years in the past. Occasionally they harbor fossils, which are indeed rare. But a lot of sandstone is made of sanded up organic material which we can readily identify, even if we can't point to the specific organism they originated from. We only need a tiny industrial-related grain of sand (ceramic, glass, metal, plastic traces) to point to a past civilization. Nobody ever noticed such a grain of sand.

alquemist··on Signs of Life discovered on Venus and atmosphere
> Was There a Civilization on Earth Before Humans? [...] Gavin and I don’t believe the Earth once hosted a 50-million-year-old Paleocene civilization.

Betteridge's Law confirmed. We can track down fossils billions of year back by observing the way they shaped the encasing rocks, and not once have we noticed a ceramic shard, a metal bit or the silhouette of a plastic object.

alquemist··on Signs of Life discovered on Venus and atmosphere
The core observation is that organisms with an ability to model the Universe, even if imprecisely and in a tiny space-time neighborhood, increases the chances of survival. See the ubiqutous living beings with a nervous system. The hypothesis is that increased precision and/or size of the prediction bubble is correlated with survival fitness, which, in the limit, gives raise to beings with a God-like ability to predict the Universe. It's a relatively simple inductive argument.
alquemist··on Fusion is not 20 years in the future.It’s 50 years in the past–and we missed it
There is a lot of water out there.

* Total ocean volume: 1.3e18 cubic meters, 1.8e21 oil barrels equivalent [1]

* Current oil consumption: 35,442,913,090 barrels per year [2]

* Oil share of total energy consumption: 34% [3]

* Number of years of reserves at current consumption levels: 17,577,561,935 years.

Assumptions:

* Consumption levels are flat, definitely false.

* Energy cost of retrieval: 0, definitely false.

* Retrieval rate: 100%, definitely false, as the concentration dilutes over time.

[1] https://ngdc.noaa.gov/mgg/global/etopo1_ocean_volumes.html

[2] https://www.worldometers.info/oil

[3] https://en.wikipedia.org/wiki/World_energy_consumption

← PreviousPage 3 of 4Next →