skysight-inc/HackerNews huggingface dataset:
I don't do much ML (this kind of ML at least), so I know I'm not the target audience for these libraries. But I'd wish they were written in some language with static typing for IDE help. The API interface/tweaks-to-be-done for some of them is enormous, and mostly undiscoverable.

I mean, just looking at the "getting started, 30 seconds to Keras"[0], there are so many magic strings and options. Of course, if one is well-versed in this domain, they make sense. But it's hard to grasp, and Keras is supposed to be the high-level one.

[0]: https://keras.io/
You don't often need to debug, especially if the model can be checked on compile time. Think static types for programming. For Tensorflow all the data types and tensor dimensions are checked before loading any data, it the math is derived correctly then it is not necessary to even debug.

If data and model are mixed, it often resort to line-by-line debugging to zone out the real problem, which often takes more time.
I'm self-teaching in my late 20s after dropping out of a philosophy degree several times in a row. I hope you'll permit me to rant a bit, it's related to your comment and the article: the sheer amount of jank is absolutely unbelievable. The vast majority of it is written with selfish careerism in mind, not generous pedagogy. Much of it is vapourware advertisement for a paid course. Plenty of it ends up on the front page here nowadays which is a bit of a shame. Related: https://meaningness.com/geeks-mops-sociopaths

I've wasted about 6 months on distractions from following fashions and persuasive writing/videos, and now know a little bit of a bunch of popular languages and some CS and IT and already feel a bit burned out (as I'm stretched in so many directions - sorry for the mixed metaphor!).

In the past couple of weeks I've nuked my windows installation and have an Arch+i3 setup where I try to use CLI wherever I can. I've limited myself to following CS61A (the famous SICP course), HtDP, and I leaf through a book I have on Rust, typing out examples and steeping my brain in healthy confusion. The difference in my rate of learning is astounding: not because I'm suddenly better at research, but because I'm better at filtering. What an age to live in!
Sure you can. I live in such a place. Housing around $200k for 4br, 2ba, decent salary, etc.

I don’t know what your vision of cultural infrastructure is, but I feel culturally satiated.
Not necessarily, all it needs is for the legs to be spring loaded lightly. Anything enclosing the phone would simply stop the legs from deploying. Near an eye is a different matter though, the legs move faster than you can react to, and their shape is such that it could be a real problem. At a minimum they should be made from much softer material to begin to address that concern, and the 'top' legs (the ones most likely to deploy near your eye) should deploy after the bounce has been detected.
They might know advanced mechanics.
Hope they prosecuted those horrible data thieves! /s
It's that, + "middle class going broke after being conned by Trump University & the gig economy."
> “compared to other popular ORM frameworks such as Django and Hibernate, Rails has 2x more applications on GitHub with 400 or more stars than Django and Hibernate combined.”

As if the whole world was hosted on GitHub...
How do you value BTC? What is a fair price? $1m? $2m? $5bn? $10tn?

Do you have a valuation methodology?

My biggest issue with BTC is that it's subject to how the market feels about it. There's no cash flow. When I buy USD, I can by 2yr treasuries yielding ~2.5%.
The good news is that if you are using shallow clones, then you probably don’t have enough commits locally to need the commit-graph feature!
I recently had a hard drive failure on my primary HD in my mac pro (desktop, the old shape). The machine wouldn't boot into the OS at all.

I bought a new HD and ran the recovery tool which gave me an option to clone from another drive. I figured I might as well give it a try even though the old HD seemed completely dead.

After a couple of hours the machine rebooted using the new HD. The amazing part is not only were are my files perfectly intact, but the exact same applications I had open when the old HD died opened up automatically on the new HD.
At least they have implemented the second part of step 4...
Azure App Service Automation with CLI
It’s pretty universal thing...
> Then you suddenly have more complex and harder to maintain "magic" code than if you'd just written some simple-but-boring boilerplate and SQL from the start.

Not my experience at all. Rather you have your straightforward ORM code with maybe a couple of "magic" hint annotations here and there where you need them. Your non-performance-critical queries are plain and simple, your performance-critical queries are less plain but remain readable. Whereas if you write boilerplate SQL the whole time all your queries are "readable" in theory, but there's just so much of them that you can never actually understand more than a fraction and have no way of knowing which differences are important and which are accidents.

(Unless, of course, you throw away the whole ORM infrastructure at the first sign of a performance problem and insist that you absolutely have to run custom SQL directly, disable entity caches, and so on. But don't do that.)
How do you value BTC? What is a fair price? $1m? $2m? $5bn? $10tn?
Do you have a valuation methodology?

My biggest issue with BTC is that it's subject to how the market feels about it. There's no cash flow. When I buy USD, I can by 2yr treasuries yielding ~2.5%.
Ask HN: Raising your kids bilingual
Good day HN! I'm about to become a father pretty soon (first time!) and was wondering whether it would make any sense to try and raise my kid bilingually (Russian + English). The thing is that I am not a native English speaker myself, however I believe that I have a pretty strong speaking level (and good accent), as I communicate in English daily due to work. Also, we do not live in an English speaking country (but we do travel a lot). I've read about most common bilingual upbringing techniques (OPOL, etc.), however I found very few first-hand articles where people were actually raised bilingually by non-bilingual parents. I also have a slight fear that I will be missing out on sharing my native culture with my child, but on the other hand the situational upbringing method takes care of that. I would appreciate any advice on the subject, especially from parents and bilingually raised folks!
Thank you for this great teaching insight!
MSVC doesn't implement C99. A lot of platforms only have C89.
Tensorflow also does not work without needing to build urself for my 2010 or so cpu. So i ended up trying pytorch and i am glad i did. Liking it better than esoteric errors.
Simple != easy. It is easy to add another dependency, but you've just added another piece to the puzzle that needs to be maintained.
I totally agree, the lack of documentation via types and lack of smart autocomplete (which I rely on very heavily for API discovery) is not only why I never got into tensor flow, it's also why I never got into languages like python. I even went so far as to use typescript instead of Javascript.

I do believe c# has some machine learning libraries, but afaik they aren't anywhere near the level of tensor flow or keras.
Im sorry but if someone graduated with a CS degree and can't write an if-else, the teaching was not the problem. I knew a few people like this, but they had to cheat their way through & do 0 work on team assignments.

Students need curiosity & motivation to get to the fiz buzz level, not a specific intro language
Computers are fast. Correctness is more important than performance. Most businesses fail.

With an ORM you write the first working version of your product quickly, validate product-market fit, and maybe spend a small amount of time profiling and optimising eventually when you need to scale. That's a good tradeoff.
As an XPS 15 9560 owner who used to dual boot, I would highly recommend disabling Windows update as certain updates will ruin your Linux partition.

https://ubuntuforums.org/showthread.php?t=2364091
PG's view on this is, frankly, odd and kind of condescending.

No one is drawn to a particular website merely because of the stylesheet or UI, it's always because the content and the community interests them - vapid and mainstream that content may be. There would be no rush of mainstream users to Hacker News with a more modern layout, nor would mainstream users be repelled by its simplicity. Mainstream users don't come here because they don't even know the site exists and if they did, it would have nothing to interest them. Yet apparently PG thinks most web users are basically magpies drawn to shiny things.
It’s funny to hear someone say it is “very rigid beliefs” to disagree with dogmatically using auto everywhere just to get polymorphism by swapping header files, which is a far more drastic and brittle belief.

I have worked on systems deploying to embedded devices, so I am familiar with e.g. needing to suddenly change a bunch of code to cause some typedef to refer to int16 because a platform doesn’t support int32, and needing the codebase to be robust to the change. Whatever solution you pick, sacrificing localized explicit type info is not a good trade-off, and ability to read code and locally easily reason about types only gets more critical as the application gets more architecture or performance dependent.

Besides, many systems that need to achieve this same effect do so by either using discriminated union (std::variant) and multiple dispatch patterns, or by designing the different specific subtypes to fit into an inheritance hierarchy, so that switching things to use e.g. different integer precisions is a matter of using a different, specialized subtype. Forcing the use of auto everywhere and switching types by header files would be a nuclear option by comparison.
I'm a white western male I really shouldn't give any advice on the problems with racism...

I of course hope it would be OK to be honest and simply ignore those who are racist, but maybe being pragmatic the sad truth is that hiding it avoids racist prejudices... Still a nickname might work fine for anything but official things like applications.
aren't the quircks and pitfalls what you learn from? :D As soon as you learn these things exist, you have learnt a lot about the tediousness of programming and computers =D
Betting giant BetVictor leaked a list of its own internal systems passwords
I was also told that doing it the real way using Tensorflow would be the way to go and I agree with that sentiment if my problem was Google scale which it wasn't.

Use the right tool for the job. Keras can get you to a working model faster. However, I am not sure what the current situation is, but in the past it was not possible to dump and freeze Keras' Tensorflow graphs. This can be a problem if you want to embed a model in a non-Python application.

This attitude of "real deep learning engineers use Tensorflow"

Real engineers use whatever they need to use. But I think that you are overstating the difficulty of Tensorflow. Over the last 6 months, we have hired a couple of students for a research project. Since we standardized on Tensorflow, they had to implement new models in Tensorflow. All of them were up to speed in Tensorflow pretty quickly (they mostly do RNNs and seq2seq learning).
I compared many frameworks and find mxnet is the best choice for production if you care about development time and speed of the training.
This reeks of confirmation bias. The guy started with a stereotypical belief that rich people are really impressed by expensive watches, and by considering the times that he _just felt sure_ he was impressing people with his expensive watch, he felt able to conclude that his belief was correct.

On top of which, he kind of had to come to the conclusion that the watch makes a difference, in order to have an article to write. If he reported a negative result, he wouldn't get a lot of clicks for that.
The problem isn't "kids these days." The problem is relational databases. It's a profoundly non-intuitive and fundamentally broken model. Developers shudder away from SQL precisely because it is so alien from the problem they're trying to solve.

As for performance, note that even when you know exactly what you're doing it is hard to wring good performance out of relational databases. This is why companies spend hundreds of thousands of dollars a year to hire "Database Administrators" to design and "tune" their database. (What other piece of software requires a highly paid, full time expert?) The most complicated databases are so complicated that we get "Junior DBAs" and "Senior DBAs" and multiple levels of certification.

And let's not forget what happens at extreme scales. At the lowest latencies and the largest data sets relational dbs are simply impossible to use. This might never be a problem for most businesses who are processing a few hundred messages a second (if that) but it should be on the mind of any startup that hopes to one day have millions of customers.

In the long run memory will become cheaper, faster and persistent. (Let us pray.) When that happens most everybody will abandon the big mess that are relational databases and just manipulate objects in memory as the gods intended. Then the relational model just becomes something to scare grand kids with.
Ask HN: Looking for Recommendations on Affiliate Marketing SaaS
Hi,

We at http://draftss.com provide unlimited graphic design on subscription model and are looking forward to add referral/affiliate program on our website.

Any suggestions on what would be the best way to do this?
Technology can be used so that no matter the number of poor people that want to revolutionize, they will be defeated. You can pick out and get rid of the leaders before they even get a chance to get going, and even if they do, you have control of a very capable military and police force.

Resource depletion and pollution might be their formidable enemies.
This looks promising, can you expand on how this differs from clojure.spec and core.typed?
A thing to be very proud of
Absolutely. Most companies cut off the oxygen after a few months.

Expensive diagnoses like cancer or pregnancy are not good for the career.
Products should be taxed based on repairability.

This is where regulations excel, to manage incentives so that socially desirable outcomes become desirable for individual actors as well.
> Kind of reminds me of assembly programmers that thought C wasn't for l33t 10xx pwner programmers.

The problem with TensorFlow is mainly that you, as a user, have to build a data-dependency graph. This is something a C compiler can do very well, but Python is not so suitable for that.

So, in my view, TensorFlow chose the wrong substrate for their "more efficient" library. Instead, they should have developed their own language, where the whole data-flow graph determination could be implicit, and not a concern for the programmer.

However, computing a data-flow graph as-you-go (by the library, not the user), like (I think) is done in some libraries, is quite a good approach, since the overhead is quite small (percentage-wise) compared to the large tensor operations that can be performed in highly optimized code.
C has quirks that can make beginners conflate separate concepts into one - for example pointers==arrays, expressions can be used as instructions, there's nonobvious automatic type conversion going on. It's not a big deal, but why complicate things more than necessary?

I think Pascal is still a better first language than C, even if it's less useful in real life.
How much does a Chief Data Officer earn?
And then there are those that legitimately try really hard but still have difficulty with control flow logic and algorithms in their second year, so this is what they should be taught. You can't just ignore them. Skipping ahead to cache access, instructions, and registers in just their second year leaves them behind. There's tons to learn about programming in two years for even the best students that doesn't require intricate knowledge of the machine. Assembly is just not realistic for the majority of sophomores. Additionally, it would be a disservice to teach languages that don't align with industry attention. C is used perhaps 4 orders of magnitude more than LLVM IR.
Built and Deployed an Amber App in 2 Days
mxnet is not just fast for "some" applications. It consistently outperforms many frameworks especially in realm of compute intensive convolutions.
Good job, I made something similar (generate all strings from a regex) for https://namegrep.com.
For years I thought the same thing.

I didn't say much because I got tired of being called a Luddite, have eyes roll, or being told, "the last thing a consumer cares about is ease of repairability."

Then again I see people in Apple stores buying products like sheep.

I'm looking for a new car for a family member. I went to mechanics school--for a year, so I'm the one who gets stuck with vechicle stuff.

I really don't like the vechicles I'm looking at.

I'm looking at vechicles with just so many sensors, and three propiatiary computers. Salesman, "The technology on this vechicle amazing."

A few months ago, I didn't think it was a strange question to ask a salesman the price if the Factory Service Manual, or the availability of renting/buying a scan tool for the vechicle.

They all say the same thing, "Oh--no one works on their autos anymore?"

I like modern technology.

I don't like stuff that gimmicky, or is not repairable.
It's been said many times before, but as digital gold. Gold is worth about $8tn. That puts it at about an 80x multiple from where it is today. But let's be "conservative" and put a 20 to 40x estimate on it, from where it is.

It's obviously an assumption, not a sure thing. But the only thing that needs to happen is people sharing the belief that it is and/or can become digital gold, which is quite peculiar.

If large stable investors buy in (pension funds, endowments, etc) that will help massively to support price levels, after a period of value growth.
I need a very good reason before using any external library in an attempt to
keep the total code base as clean as possible.

It is just too easy to be rushed and bring in a heap of code, so
I prefer to use SQL instead of ORM's.

All access to the database is done in a single module and they are
wrapped in functions like below

def get_table_as_list(user_id, cols, tbl, where_clause, params_as_list, conn_str, order_by="1", maxrows='2000'):
"""
This should be the ONLY place that selects from the database
"""
db = get_db_conn(conn_str)
cur = db.cursor()
where_clause += ' AND user_id = %s'
sql = "SELECT " + cols + " FROM " + tbl + " WHERE " + where_clause + " ORDER BY " + order_by + " LIMIT " + maxrows
params_as_list.append(str(user_id))
cur.execute(sql, params_as_list)
res = list(cur.fetchall())
cur.close()
db.close()
return res

The database is designed and built first, then in the application the
definitions are done like below

all_tables = [
{'tbl':'as_note',
'cols':['id','title','pinned', 'important','content','folder'],
'col_types':['id','Text','Checkbox','Checkbox', 'Note','Text'],
},
{'tbl':'as_task',
'cols':['id','Title','Pinned', 'Important','Notes','folder','Done'],
'col_types':['id','Text','Checkbox','Checkbox','Note','Text','Checkbox'],
}]

So far it is working well, and it is very simple to add new tables to
the schema and have them working in the application.
Still no argument.
> Joins were good for the smaller websites, but they don't scale

Most sites do not have to scale beyond this limitation (or can use database followers to throw a bit of money at the problem). Providing Google as an example is a bit exaggerated as almost nothing in the world has the scaling needs that google has.
Honestly, jOOQ is one of the killer libraries for Java that keep me using it for backend code.
I am sorry, but I beg to differ. This concept is built onto basic insights into how the human reward system works, why else would Design (cf. Tristan Harris tristanharris.com/essays or Chamath Palihapitiya https://www.youtube.com/watch?v=PMotykw0SIk&t=1220) and Advertisement use this to try to shape peoples desires (and in turn consumer choices)?

What you are drawing is in my opinion a false equivalency. It is not at all the same doing things in real life like reading a book, mowing the lawn or knitting a sweater and skimming a news feed or interacting with social media. The main reason for that imo is the amount of effort you have to put in to get a reward. When you take the offline work you (in the case of a book) at least have to go to the bookshelf, pick a book, take it in your hand and whilst reading have the rough content of the previous pages in your head or (in the case of mowing the lawn) actually physically move. This delays the gratification you get when having finished reading the book or mowing the lawn.

With social media or quickly skimming articles from a news feed the delay you get on your gratification when scrolling through is literally given by the speed with which you can scroll and read. This makes dopamine so cheap for your brain, that it will of course reward you when you engage in these activities. (Incidentally it also makes it more susceptible to future easy dopamine hits (too lazy to find online sources, will look a little later. Joachim Bauer: Selbststeuerung is a very good book on this)).

And no, it is nihilistic to think that 99% of what we are allowed to do is pointless. Having these discussion for example is a great source of meaning. Really: educating yourself, talking to other people and forming opinions on different topics is also very meaningful as it will influence your perspective on the world in a lot of (sometimes even positive ;) ) ways.

I must admit, that I don't quite get your point on the disassembly of fundamental aspects of human civilization (although it sounds very good :D). To me the equivalency would be a bicycle becoming an ebike, which drives nearly effortlessly. The difference between today and before is that before you had enough time to think where you want to go while riding the bike (as it was tedious and slow to ride) and today the bike is going so fast that some people just ride it for the rush of speed and don't actually know where they want to go.

So the lesson to me is: Get off the bike. Sit down, enjoy the view and figure out where you want to go first and then drive the hell out of it in that direction.
The app doesn’t hold the entire database at a time. The app simply does the following:

1) Get the root record(s) from id(s)

2) See what related records it needs, combine them into a list of ids, partition list by shard

3) Ask each shard for the corresponding records

4) Repeat from 2 if necessary

5) Return this whole tree / graph to the user

Graph databases can do this in O(1) instead of O(log N) lookups.

Relational joins are just one way to achieve this, which can be made atomic in the ACID sense.

However, as you scale up your website, eg with 100,000,000 users, it would be silly to do massive joins. Google even says this in their docs now, for BigQuery.

Instead, design your systems from the beginnig to be as parallel as possible, if you think they will scale.

Look at the problems with Ethereum for example. Or Twitter fail whales of the past.
Not wanting to open a can of worms, and I haven't read any of the React source, but if the source isn't that useful I'd suggest the answer might be to make the code easier to understand. Developers often need to dive into the code they are using for more detailed analysis of undocumented edge cases, tracking down bugs in their own code, etc, and having an understandable framework or library is fairly critical for that.

Django does a lot of complex/clever stuff under the hood, but the source is still readable, and in most cases fairly easy to understand.

This is just my 2 cents though.
Just curious: What's different about the processors in the current MBPs vs those in the 2015s in terms of how it affects your work - or whatever else you're using your MBP for?