skysight-inc/HackerNews huggingface dataset:
Yeah, sadly Kylix never worked out.

Borland really screwed up that attempt, it was anyway shortly before that whole Inprise stuff. :\
Bloomberg has donated almost all profits from his company for the past few decades. Sure everythings technically a 'pr move' but this isnt some new evil plan or anything.
I have definitely run into memory bugs in managed languages that someone without my experience would have no clue how to debug since the managed language hides that information. Having said that, learning to be "careful" is much more than just avoiding memory bugs. It is about learning to avoid mistakes by really thinking about the code you are writing so that you don't end up screwing yourself or the team later. That can be applied to memory management, class design, API design, complex algorithm development, etc. There are many ways to learn to be careful but manual memory management is one of the best because the consequences are so severe, in terms of debug time, if you aren't careful.

Big O is useful but I think its usefulness is overblown. There are cases where understanding how the kernel allocates memory or how CPU caching works or how networking works, you can develop an algorithm that is inefficient in terms of Big O but is still performant. Sometimes you can even beat the best theoretical algorithm. The reason is that k is extremely important. If I can make k extremely small using my knowledge of the computer and n is within reason, then Big O often doesn't matter. So I don't have to waste time implementing fancy algorithms as a result. But I also have a better feel when Big O does matter. If I can't make k small or n is a huge number or both, then I spend the time on algorithm optimization and then understanding Big O is helpful.

I will give you a real example with GPUs. Let's say you want to do some GPGPU and you have data that is too big to fit in RAM. How do you process this data efficiently? Knowing how the GPU works is very important to solving this problem. You could spend days, weeks, years optimizing the crap out of Big O in your code, but it won't really move the needle in a lot of cases because that isn't the bottleneck. The primary bottleneck in this case is the PCIe bus and a high-level understanding of how it works is needed to keep it full of data as the GPU is processing it. Once that is solved, the next bottleneck will likely be the data format. The GPU is most efficient when each data sample is independent which is related to how the GPU cores work, caching works, etc. So putting the data in GPU-friendly format (not always possible) will make everything go faster even before worrying about Big O.

What C does is it forces you to learn how the computer really works because it is hard to be productive in C without that knowledge. And that knowledge is largely transferable.

I certainly agree with learning and using Python or JS when it makes sense because they are very productive languages. But from an education perspective, people who only learn JS are less likely to be able to solve the really hard problems because they lack that foundation of how the computer works. And there are plenty jobs where that doesn't matter too much but you should probably have at least one person around that really understands how the computer works for the times when it does.
Can we at least agree it means not changing your underwear?
In most other contexts, a burst of activity towards achieving some goal would be congratulated, or at least not derided.

If you heard that a mathematician suddenly struck upon an idea and spent the next 3 days and nights working it out, I am sure that story would be shared here on HN with everyone sharing their own favorite anecdote of when they were highly driven about something.

But when it comes to startups or $hated_megacorps, suddenly it is a stupid and evil thing?
heh. flippant comment but. flip that around.

" If your goal is just to work on computers, you have far cheaper options today. "

1 of my 2 desktops at work is a 2006 mac mini g-7450. it can email. and view pdfs and edit office documents. it has ten-four fox. and it can ssh. yeah. mostly email and ssh...
You're right. Even on a warm Friday night, the city center couldn't be said to be crowded. You can get a seat at a bar or a table pretty much anywhere you want, in my experience.
I think this is mostly answered in the README. This is probably the most relevant section:

> The structure validation is simplistic by necessity, as it defers to the type system: a few elements will have one or more required children, and any element which accepts children will have a restriction on the type of the children, usually a broad group as defined by the HTML spec. Many elements have restrictions on children of children, or require a particular ordering of optional elements, which isn't currently validated.

It's not complete or thorough at present.

Regarding your link: I'm impressed someone took the time to write a DTD for HTML5!
Why boring is best for your API Strategy
I would encourage people to find a better career coach than Scott Adams. Like many people who achieve remarkable cultural success, he doesn't actually know why it happened. For instance: does anyone think Dilbert succeeded because Scott is good at drawing? But it's first on his list of self-superlatives.

Edit to add: Great drawing skill does not matter for most comic strips. Look at Peanuts, or Garfield, or more recently Pearls Before Swine or XKCD. Ryan North has been posting Dinosaur Comics 3 times a week for 15 years using the same art for every single one.
I never said China's ruling class weren't "bullies". What I am opposing is the myopic belief in a nationalistic, us-vs-them mentality that transparently exists to make people ignore the class differences staring them in the face at home.

Also, ask for reparations? Like all the other times the US has happily granted those??

And finally, at least you are seemingly frank about believing that the US should be able to exploit other countries as the supreme "bully".
"And sometimes cheating the system is actually regarded highly by the fellow citizens, because the people do not believe in the imposed system. "

If you live a totally corrupt system, maybe.

But functional societies are based on the notion that cheating is bad, immoral, and nobody should do it.

"Now, what is more ethical, doing what benefits the people or doing what benefits such system?" - ha ha ... this sounds like how psychopaths in prison justify their crimes!

"I robbed the bank because the bank is evil, now who's more important, the people or the evil bank?"

No way around this one: cheating is bad.
Are these similar in implementation to the upcoming Java Fibers? Those basically yield automatically whenever they perform a blocking operation, so another fiber can be executed.
I don't see how someone conciously chooses different domains and becomes good at them. this isint a strategy that can be followed. what ends up happenning with people who are pretty good at a lot of things is that - they start doing something because they find it interesting, then they get bored and move onto something else that catches their interest.
I think that anyone who cares enough about Facebook’s behaviour has already left. Most folks just keep going back to see their feeds regardless of how horrible it becomes.
Motif might be a pain to use versus Win32, from my point of view, but layout managers were a central piece to it.

Likewise, Windows Forms table layout managers and Swing layouts, while not as powerful, did the job.
Can we compare difficulty levels with children? They seem to be naturally better at climbing at that age. Faster recovery period and their tendons and ligaments seem to be able to handle their small weights well.
Even then it's a kind of perverse modern slavery.
Show HN: Better Gmail interface
This isn't exactly a Show HN as in "I made this", but more like "Hey, you should know about this".

---

If you dislike new Gmail's interface, but don't want to go back to the really primitive old one, you can install Roundcube on your server, and log into Gmail with it. It has a really nice UI that's responsive (looks like this: https://i.imgur.com/7QMBMxc.png ), and it's quite a nice software in full. It's easy to setup and it sends and receives emails over IMAP and SMTP.

Roundcube: https://roundcube.net/

If you're interested in how to set it up, you can comment, I'll write a post on my blog soon if there's interest...
Lack of a China strategy had very little to do with why K-Mart imploded afaict. Read a bit about Lampert’s strategies if you want to get a sense of the reasons there.
编程人就是苦命啊，面试造火箭 进去拧螺丝 还tm是锈了三十年的破螺丝
Citation needed. This is one of those things that large swaths of the internet believe is true, but is filled with anecdotal evidence and not actual research.
the trouble with block based raid5/6 is the write hole - when you're partially updating a stripe, you can't avoid having the p/q blocks be momentarily inconsistent because there's no way of doing atomic writes to multiple drives simultaneously (short of full data journalling). That means data unrelated to a given write has inconsistent p/q while that write is in flight.

the appeal of doing raid5/6 within a COW filesystem is that it's potentially an opportunity to get rid of the write hole. Of course, the devil is in the details.
Sorry to break this to you but this idea of working on something for 3 days nonstop is stupid. Your productivity decreases very fast without sleep. Like the problem is still gonna be there. You'll be a lot wiser tomorrow.

It's double stupid if you forgo sleep for the sake of your employeer's profits.
老哥在哪拧螺丝，带带我
Constraints on QuickLook plugins
Paypal was a pivot. Paypal's original product was a security token.
If it helps set context, I got my perspective as a developer on the Polymer team
Is good to be learn avoiding a disease, but humans immortality is bad. Lets my body is then later the energy, food, scientific experiment, whatever, rather than being locked in one room all the time. Human is not an endangered species.
I had the same knee-jerk question, but found the answer in the very book, in the Font Recommendations section https://practicaltypography.com/system-fonts.html
> Then they made a bad standard to start with.

Nonsense. You'll be hard-pressed to find a platform that doesn't support C or a competent system design or even graphics design engineer who isn't confortable with C.

If their goal is to establish standards, they build upon standards.
Are you sure about that ?
If you search `Ruby Thread Locals are also Fiber-Local` there will be a blog post from 2012 about that, and the code sample works fine for me on ruby 2.5
This is how you get Google Play working on Android e-readers again
Show HN: Fselect – CLI tool to search files with SQL-like queries (made in Rust)
No doubt there is some enforcement but it could get a lot better and still be a disaster. They need a zero tolerance policy backed up by jail time. I was in China 2 years ago and the Beijing air was gross and half the people were wearing surgical masks. In one part a few hundred miles from Beijing I experienced eye watering choking pollution hazes with 100m visibility that lasted for several hours. It was literally scary pollution.
Interesting I recently implemented a websocket subset for a server in C from scratch for a hobby project and everything seem to check out.

The author mentioned mqtt and wamp. Has anybody here have any experience of using these?

It might be interesting to know that I'm doing user input from the browser, which makes latency a high priority. To get to the APIs that I can't access via the browser I have a C server relying on these messages to the server.
> If you shut down and start over around the new idea, maybe you’ll be able to raise money around that idea, but then again, maybe you won’t.

Is someone who chooses failure over pivoting likely to get some kind of negative association in the investor community at large? A perception that they don't do enough to protect investment or something like that? No judgement on whether that is right or wrong, just curious.
Unlimited PTO policies are paid time off, but not contractual accrued leave. As descendant posts say, you do not need to account for unlimited PTO whereas you need to account for annual leaves. This only matters at the time of quitting the institution.
Or in perpetuity it could be about 4% of 1.8B per year. Which is only 360 students per class though (assuming a 4 year scholarship). Maybe that's 360 kids that wouldn't have otherwise been able to go to Johns Hopkins.
Developers jumping on CUDA due to lack of C++ and Fortran support on OpenCL proves how good that decision was.

Likewise for game consoles, Windows and now Apple graphics APIs.

Defining standards does not mean they must provide a lowest denominator single implementation.

They can be defined in an IDL kind of way, like e.g. WebIDL, abstractly e.g. Internet RFCs, or define mappings to all major languages in the GPGPU field, namely C, C++ and Fortran.
An early desktop publishing program, Ventura Publisher (v3 of 1990) could easily reflow complex document layouts and allowed alternate stylesheets to be applied to the same text. This is not exactly UI, but the layout was more sophisticated than what HTML can do. The idea of same content and different rendering is certainly not new.
Mega tutorials are a very poor format because they don't cover each topic in a self-contained manner, nor they provide a minimum working example to test.

However, they are way better than any video course.
I always hated mixing up languages together.

HTML in Rust? No!
"...entitled tto success..."

It's not being entitled to success, it's terror at being a complete and utter loser, because we spend eighteen years drumming "if you don't go to college you'll be dirt poor, live in a van down by the river, and flip burgers" in to their heads.

You're told constantly that if you don't go to college you're utter scum.

Of course, the implication that flipping burgers is shameful is something we should address. We might also consider telling kids about all the successful career paths that don't require college - if my kid were looking at US levels of student debt I'd be suggesting plumbing, metal fabrication, etc. like crazy. You don't need to go to college to learn CNC, and the debt incurred going to college can destroy your life and robs the world of a creative, risk-taking individual. How many people would be making great things or solving the big problems of our time but instead are doing bullshit jobs because they have an enormous mountain of debt?
People are paying for the story, not the text. It is similar to how video games with bad graphics can sell millions of copies just because it is a good game.
I guess in this case it'd actually be a sort of pseudo javascript in html in rust kind of thing
They are not paying most of their engineers close to 500k/yr.
Ha, I must've forgot about it completely! Thank you! And yes, I've never read the manual (unlike the tons of "C" books that followed). Pascal was simply thought orally, and on your own (back then), and that was the case for quite a lot of apps....
Maybe that's because a single data point [1] of a single person doesn't refute decades of research and heaps of evidence?

[1] An unreliable/uncertain one, even.
When people say they are working on something non-stop it doesn't necessarily mean they are literally not eating sleeping shitting or whatever for 72 hours. It usually means they are in a period of heightened activity when they are not doing much of anything else. Maybe you haven't experienced that kind of thrill so far, which is fine. But it is a very real thing if / when it does happen.
Agreed with the combat-oriented sports being the ultimate problem-solving challenge. Used to box (still occasional do), have never obtained the same technical satisfaction anywhere else. There are so many different facets to it. Ring generalship, creating angles, stances that gain or lose out on defensive or offensive capabilities, psychological game by use of feints and disruptive rhythms. It's not called the sweet science for nothing. Should hold true for other combat sports as well.
Prop13 on commercial property really needs to be balanced with heavy vacancy taxes.
Thanks! The DTD is described in the talk/paper I gave at XML Prague 2017 linked from [1]. Meanwhile, I've got a revised version for HTML 5.2 with basic coverage of the validator.nu test suite, though not published on the site yet.

[1]: http://sgmljs.net/blog/blog1701.html
I imagine the anger here is the frustration that the Chinese seem to be so brazen about their IP theft, but IP theft isn't just relegated to the Chinese government and Chinese companies.

In light of all the "bad" things the US does with little oversight, ensuring US Technology is still top must be a major priority, and probably has droves of covert operations to help US companies be competitive if needed. It's just likely that the US doesn't have many sources to steal from.

I also have to believe this anger is cultural as well. As Americans, we're brainwashed into black and white thinking, and to attach very high weight to moral and ethical implications of decisions. "Always pay back your debts. If you take out a mortgage, if you go bankrupt, you are a bad American."

I expect that Chinese culture has a different take regarding what we consider "cheating."
It seems like a glaring omission that this doesn't discuss the compatibility issues using websockets with HTTP/2, RFC8441 and Websockets vs SSE... Maybe this is an older article?
There's not an infinite amount of space to grow trees actually. A decent forest needs the right climate, water. Economically forestry must compete with other land uses such as grazing, orchardry, etc.

It takes pinus radiata about 25 years to reach maturity. Then it can be turned into buildings/ houses, and the carbon locked up in that structure, which can be e.g in the city or suburbs- somewhere there will never be suitable for forestry.

And then the forest can be replanted and the virtuous cycle begins again.

tldr; locking carbon up in timber gives more flexibility than just relying on standing forests.
There's no "men's" competition in chess. In tournaments, you see men, women, children, blind and other chess players battling each other. Moreover, some women (Judith Polgar who was top 10 for a long time, is the best known example) refuse to compete in woman-only events. However the main reason why there is a separate competition for women, children, blind, ... is that there is a market for it.
> one thing i always see glossed over is using application factories [0]. they are a bit harder to grok initially,

IMHO what makes app factories hard to grok is the poor documentation and examples/tutorials on the topic. The official docs mention app factories are great but then don't include any clear example on how they could be used with routes. They do include examples that don't use app factories, thus that's what newbies use to get up and running, and afterwards keep on using because it works.
Thank you! Yes, I've had this feedback since launch that some people are finding words that do indeed translate to a few other languages. I'll think about how to edit this. Thanks for calling out the duplciates1
Yes, (2005). Hans Boehm is the guy who pioneered conservative garbage collection.
Note I mentioned display _points_ rather than display _pixels_ - how do you create a UI that scales from a phone to a 27" monitor. This is more than just scaling up assets and turning on word wrap.
Gotcha. That's helpful to know and I'll edit it.

Thank you for the suggestions as well. Will add them to the database!
I don't have any strict schedule really, but I've made one weird thing recently, which seems to be making a difference. Not really long term yet, but over this weekend I seemed to actually do more useful things, than usually.

I've listed all the things I tend to do while procrastinating, instead of doing things that matter. Then I've layered them on top of each other, like "I should do X", but "instead I think about doing Y", and then "instead of doing Y, it seems I am actually doing Z instead". X -> Y -> Z -> U -> V -> (...). On some levels it splits into branches too, when I consider things of equal importance.

These layers seemed to align pretty well with my priorities, i.e. further "down the chain", I get less and less important things. (The last, least important activity, seemed to be "desperately seeking attention". :D)

Then I've noticed that this realization about doing many useless things, actually motivated me to do things from "the top of the chain" (important/useful/urgent). Not sure if it would work for everyone, but maybe worth a try. :) Personally at least I'm going to try to keep using this approach.

UPDATE: there, I've obfuscated it a bit, and put it online with sources - https://bl.ocks.org/nnrtw/43c0b5d4fed216c7d98bb65645212495
OP specified 2018. Different years would give different numbers.
I flagged this because I think it’s a joke, but let me know if you’re serious and I’ll unflag.
Agreed with tiny holds causing problems. But I presumed it was a grip strength problem, which still doesn't take away from my advantage as a tall-leaner. Though it could also be because I must've not done challenging routes.
I never wanted to argue as much. I'm certainly not saying macros solve all the world's problems. Far from it, and as I said from the beginning, you need to use them carefully. Here are examples of my typical uses:

#define LENGTH(a) ((int) (sizeof (a) / sizeof (a)[0]))
#define SORT(a, n, cmp) sort_array((a), (n), sizeof *(a), (cmp))
#define CLEAR(x) clear_mem(&(x), sizeof (x))

#define BUF_INIT(buf, alloc) \
_buf_init((void**)(buf), (alloc), sizeof **(buf), __FILE__, __LINE__);

#define BUF_EXIT(buf, alloc) \
_buf_exit((void**)(buf), (alloc), sizeof **(buf), __FILE__, __LINE__);

#define BUF_RESERVE(buf, alloc, cnt) \
_buf_reserve((void**)(buf), (alloc), (cnt), sizeof **(buf), 0, \
__FILE__, __LINE__);

#define RESIZE_GLOBAL_BUFFER(bufname, nelems) \
_resize_global_buffer(BUFFER_##bufname, (nelems), 0)

#define MSG(lvl, fmt, ...) _msg(__FILE__, __LINE__, (lvl), (fmt), ##__VA_ARGS__)
#define FATAL(fmt, ...) _fatal(__FILE__, __LINE__, (fmt), ##__VA_ARGS__)
#define UNHANDLED_CASE() FATAL("Unhandled case!\n");
#define ABORT() _abort()
#define DEBUG(...) do { \
if (doDebug) \
_msg(__FILE__, __LINE__, "DEBUG", __VA_ARGS__); \
} while (0)

And a clever one, saving a lot of typing (which many will argue only fixes a problem of C itself. But still).

#ifdef DATA_IMPL
#define DATA
#else
#define DATA extern
#endif

DATA char *lexbuf;
DATA char *strbuf;
DATA struct StringInfo *stringInfo;
...

None of these is a maintenance burden, and each makes my life significantly easier. I don't believe there's a different scheme that is a better fit here.
A category theory studies the general form of many familiar structures. A category theorist's publications are however usually starkly specific.

What is the point of this article then? Maybe it is popular, cheap reading like Malcolm Gladwell and something in the line of "career advice".