skysight-inc/HackerNews huggingface dataset:
A large fraction of the comments are about how if you do this and then someday your requirements change you might have to redo your underlying data structures or databases, with the implication being that you should therefore make those as general and flexible as possible.

That reminds me of an interesting point I saw in a book whose title and author escape me. He said one of the reason you encounter so many bad designs in Java programs is that many new Java programmers look at the design of Swing to learn good design.

He wasn't saying that Swing is badly designed--but Swing is a framework/library, not an application. What it takes to be a good framework/library is different than what it takes to be a good application.

If you are writing an inventory management application you can design your tables and data structures and interfaces around things inventory management applications need. If you are writing a medical billing application you can design around what medical billing needs.

If you are writing a framework or library that might be used by inventory management applications and medical billing applications and all the other nearly infinite kinds of applications people will write you need to keep it very general and flexible...but you also have to keep it fast and not too bloated. It's a much harder design problem, with different best practices for what is good design and what is not.
Thanks!! Best of luck with Threader :)
I see several factors here.

There's non-compete in most places that makes it hard for employees to switch jobs. Since there's none in California, the strategy to retain employees is to tie their income to equity in the company. That creates a moat around hiring engineers from a competitor (you'll have to match the equity if you want to hire!). There's also labor laws that makes it hard to fire someone; these incentivize the business owner to pay less so that a bad hire has less of an effect. There's also, in a lot of EU countries, so much taxes that it's helpful early one to hire specialized accountants just to claim all the possible subsidies for the business. It can be worth it for businesses with 5 employees. Adding that extra salary will leave less for the early employees.

There's also the fact that some companies simply don't see the value of software, at all. They have a software division but don't treat it as the core of their business. In their mind, it's simply a tool for the business (despite the whole business depending on it sometimes!). So they treat software as a cost center and that drives engineers to tech-focused companies that are clustered in the US. Prime example of that is banking, where no matter how much revenue is directly tied to software, it's still considered a cost center.

Finally, in some market there's simply a talent gap. Ontario, and Canada, strikes me as one since I've met a few Canadians who jumped the border to Silicon Valley but never actually met a Silicon Valley engineer moving up north.
So what you're saying is we need to invent the gyro-desk!
It comes with a WiFi adapter in the box, but that's not really the same thing.
Or: Focus on finding impactful early customers that increase your visibility (and then make them happy). Finding such a great customer may require luck, but that doesn't mean the odds are fixed.
What if?

You need you driver license for your job, without you will lose everything.

You already know that this is not something the doctor can easily help you with (e.g. caused by overwork or because you already visited the doctor).

Sure it's kinda wrong, but most people would just continue driving, especially in countries with no good social net where permanently losing your job can easily lead to it really messing up your live (no health insurance, losing you home, not being able to care for your kids properly, maybe even starvation).
Show HN: Work Smarter with Super Productivity
Super Productivity is an open source ToDo List / Time Tracker / Productivity Tool that makes the life of office heroes and digital workers just a little bit easier.

Check it out!
https://super-productivity.com/
Well that's pretty crappy. We put out a great article at Hackaday that covered the meat and the meaning of this release. Seems like it deserved to be linked on HN for this topic.

Edit: Seems like people voted up the Hackaday article and not the medium article. So you've in effect negated everyone's votes.
Stop using Facebook. Sinkhole all Facebook domains.
XLSX's limit is 2^20, or just over 1.04 million (as the article says).
about 26^3 columns, or 17576
I don't think it's something to feel bad about; on the contrary, with your level of transparency here and in the context of everything else you did that wasn't centered around luck, I think it's an honest aspect about this kind of growth.

Congrats on the milestone!
From the species that brought you "The Game of Life" comes "The Game of Technical Debt"
NeoAxis Game Engine 2020.6 Released – Now with Android Support
Show HN: For.io – Online IDE for rapid, model-driven Node.js backend development
Jobs, Wozniak, Cook (Build, Sell, Scale)
Apple “Switch” Ad Campaign (2002)
Not counting occasional meetings I work from home for 20 years already. I tried all kinds of chairs and discovered one thing. Nothing really works for me when spending much time in a chair. And even though I am fit my back did not really like the way of life and started to hurt. Finally I've got myself rowing machine and in addition to a regular physical activities I also row for an hour every other day or two. This has worked wonders for me. My back feels fine now and I have no problems whatsoever sitting at the regular desk. Come summer I let it go and swim in the open water instead to the same result.
Learn Web Development for Free
Relevant Mr Bean episode where all these dangerous things are done: https://www.youtube.com/watch?v=FYuQctvKNLg
FWIW, I'm pretty sure "5 hours of mountain biking", having post-ride food with buddies then driving home isn't considered a medical condition. Mostly just doing something physically tiring and having a full stomach, plus being in a monotonous 1-2 hour drive is a recipe for sleep. Thus my comment below about taking a nap and having company on the return trip.
As was Churchill, who tried to get Roosevelt interested, leading to this wonderful letter:

https://upload.wikimedia.org/wikipedia/en/1/10/Churchill_to_...

“Incidentally, I wonder what the course of history would have been if in May 1940 you had been able to offer the British people only ‘blood, work, eye water and face water,’ which I understand is the best that Basic English can do with five famous words.”
How can this be true:

"The #1 tool to automatically generate..."

You are in early access.

I suggest you review your copy. There is a way to communicate a similar message without outright exgerating. In fact, you already have such copy:

"Instant cover photos for every. social. media.

Do not repeat yourself. Voice your brand consistently across all social media."
They won't. Been there. I asked a lot of people to contact me on phone, sms, email, etc. but not on facebook. Most of them I haven't spoken for years now, ever since I silently deactivated FB. Turns out they were/are not actually interested in me.
More specifically: they were detouring through the old XLS file format, which has a 65k row limit.
We used to joke that smokers have great eyes because they take regular screen breaks to go outside and stare at the horizon.
> I don't want autopilot so I can actually sleep at the wheel, I want it in case I do.

You should never get behind the wheel if there's a chance you'll fall asleep! You shouldn't be driving. Period. This is incredibly dangerous and puts innocent people at risk.

No technology should compensate for this. We don't design technology to help drivers under the influence feel better about their driving.

Please don't get behind the wheel if you're drowsy.
> So they’ll say “they have accelerators!” and open a city sponsored accelerator and maybe some successful company will pop out in the next ten years.

How is that not cargo-culting?
Pragmatically, sure. But giving it out as advice perpetuates this culture where when a cop turns a traffic stop into a murder, the victim is scrutinized for eg not preemptively putting their hands on the steering wheel. In a free society, nothing less than deliberate disobedience warrants escalation.

Also if my table saw turned itself on and started walking at me while I was doing something else, I'd get a new one. And if all table saws tended to do this, I'd question whether I needed one at all.
Recommendation for Nobel Prize for Economics
Who has the maximum chance of getting Nobel for Economics this year? What field could it be?
We use them extensively in our house- but we listen to music with them 95% of the time, and having multiple groups makes it easy to do.

That, and lists (shopping list, costco list, etc), are our two main uses. I hardly ask it the weather, and only use it as a kitchen timer 1/3 the time too.
This is absolutely untrue. Tell those friends to contact you via text, email, chat messenger, or maybe even a phone call!
I don't know if there is a single perfect resource out there, but the thing that helped me the most was understanding CSS as a shift from programming with an imperative mindset to a declarative mindset. Treat CSS as a medium for expressing 'what you want' instead of 'what to do.' My guiding principle is that "less is more" and if you find yourself writing a ton of super-specific and messy CSS, it's one of two scenarios: there's an easier way to do it, or you have a very picky project manager who wants things to be pixel-perfect to the mock-up. If it's the latter, you have my sympathies.

Focusing on the box model is important because it sets the right overall mindset for working with CSS layout. At the risk of being too patronizing, I would highly encourage everyone to at least read the MDN article on CSS basics[0] just to set a baseline for CSS terminology, the idea of the box model, and a few other things.

You should then read more detailed documentation [1] on the box model and start to get a feel for how it works in depth. Most pedestrian "spacing issues" should be solved at the level of adjusting margins and padding.

The other arm I mentioned was specificity, and this tends to be where a lot of folks get caught asking why their rules aren't applying and those sorts of issues. The documentation is fairly 'academic' but worth a read-through[2].

MDN overall is a great resource for a motivated learner, but unfortunately I don't have any 'CSS the right way' sorts of articles in my hat at the moment. Maybe others will post some.

[0]: https://developer.mozilla.org/en-US/docs/Learn/Getting_start...

[1]: https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_...

[2]: https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity
Neat. Thanks for the link!
Honestly, I think this series of blog posts could have had a more complete title: "Principals of Data Oriented Programming (aka, Idiomatic Clojure)"

All of these ideas (and I think they are good ones) are inspired heavily by Rich Hickey's talks and rational behind developing the Clojure language (the author of the post states as much). And while you can use these techniques in other languages/paradigms/problem domains, they are really intended to work well inside the constructs of Clojure, and when applied to "information-driven situated programs" [0] (read business applications with dynamic requirements).

As for some of the short-comings you mentioned:

"But you still need a mechanism to manage mutating data"

Clojure supports this through the use of locking constructs like atoms. [1]

"I think what it's getting at is that you don't really know the precise type of your data, over time, in a distributed system, so it's good to include the flexibility to handle that. That makes sense to me. but generic data structures aren't necessarily always the right way to handle that."

Clojure attempts to bridge the gap between generic data-structures and strongly-typed constructs using run-time specifications. [2]

I mean, the ideas presented here can be generally useful, but your mileage may vary if the principals take you too far out of the idiomatic for your particular language/paradigm/problem domain. If that's the case, you could find yourself wasting energy swimming up stream.

[0] - https://www.youtube.com/watch?v=2V1FtfBDsLU
[1] - https://clojure.org/reference/atoms
[2] - https://clojure.org/about/spec
I'm severely disabled from a back injury and I use this over my bed, with a vesa wall mount attached. I've also got a pair of joycons that I use as dual mice through steam

https://www.amazon.com/gp/product/B0109Y3CCE/ref=ppx_yo_dt_b...
Human biology registers two seasons, not four, study suggests
Try using https://mbasic.facebook.com in a browser with adblock.
So I'll prefix this with saying that an Osteopath had checked me out before suggesting these, and that if there were other neck problems this could make them worse. I'd recommend seeing an Osteopath if you have similar issues and would like to try it.

Situation: When I was ~17 one night I slept kind of oddly twisted. I was kind of stretching my back and fell asleep and woke up with a sore neck. It stuck with me for years at some low level, massage would help a bit but it would never really go away. The pain was largely in the area where my neck and shoulders met, say around the size of a salad plate.

I woke up one morning when I was around 30 and it was so painful I couldn't sit up from a laying position to get out of bed. That's when I saw the Osteopath. A physician friend recommended I see them.

They gave me these "super ibuprofen" and isometric exercises, and literally it cured me basically immediately.

Solution: The exercise involves standing up straight, and using your hands to put opposing force against the different muscles in your neck. Your head needs to remain unmoved, neck straight, it was recommended that it be done in front of a mirror so you could make sure you weren't bending and remained straight.

Isometric exercises are exercises you do where your joints and muscles basically stay static. If you put your hands in front of you, like the praying position, and press equally with both hands, that is an isometric exercise. Lifting something is not.

In all cases you gently start pushing and gradually push harder, and similarly at the other end start pushing less hard until you are not pushing at all to end it.

The exercises were:

- Clasp your hands behind your head and oppose tilting your head back.
- Ditto on the front, trying to look down.
- Hand on one side if your head by your ear and try to tilt your head to that side. Ditto for the other side.
- Palm on your forehead and try to turn your head that direction. Ditto for the other direction.

Again: See a medical professional before you do such a thing, but in my case it solved a chronic upper back pain as if it were a miracle. Literally a decade of pain was gone after spending 5 minutes doing this. YMMV. On the other hand, my non-genetically related mother had terrible bone deterioration and several surgeries including cervical fusion and added metal bits to her back, and if she had tried these exercises she'd probably end up in the ER.

If this guy had spoken in tongues and pulled out chicken parts hidden in washcloths, while doing similar exercises on me, I would absolutely, 100% believe in psychic surgery. It was miraculous.
That looks like every phishing text I receive.
I'm not sure it's the chair so much as the movement that changes things. You're shifting around a lot when driving. Legs moving on pedals, arms and hands wheel turning, head+shoulders turning to look left and right.

It'd be nice if being comfortable at a computer all day was as easy as changing the seat but i don't believe that's true.
Those 80 billions are the micro investments I was talking about. EU needs a 100-trillion-dollar project for the next 50 years + change some laws to improve competition. With 80 billions EU can build a wooden airplane at best.
The modern Mac can use two case-sensitive-capable file systems, HFS+ and APFS. Neither is case-sensitive by default and, at least for many years, formatting the system volume to be case-sensitive caused a lot of problems with applications.
Thanks for mentioning API tools. By the way I have been heavily using sublime text but now I am investing some time to learn vim since I want to get into DevOps eventually
Hamilton Morris on Psychedelics (2018)
LibreOffice Base is something of an attempt at a newer Access, but unfortunately it's far from ready for production use.

Base has very solid data storage foundations (including the ability to connect to real database servers) but the UI is very buggy and is painful to fight with. Note I said 'fight with' rather than 'use.'

Base seems to have a fair bit of potential, however, if someone where to pour some money and/or time into developing it further.
so basically just a desk that constantly moves around? I suppose if you want to be 100% ergonomically friendly it should also just leave the room and go for a walk. If you want to keep working, you need to come along!
How we are trying to get bought out at a 20x revenue multiple
Tao of Rich Reviews 2020
> I thought bootstrapping means your revenues cover your costs.

No, I would say almost everyone who bootstraps either goes into debt or uses savings to fund the business, hoping to break even and make a profit eventually.

If you can get enough revenue from the first day to cover cost of living for even 1 person, that's a good start, but unusual. Bootstrappers who start with an existing client or product that's already selling can do that.

Also, depending on circumstances $1m ARR may be enough to cover costs for a team of 9. Many people earn much less than $100k even accounting for costs, and some SaaS don't need high operating costs (hint: cloud services are not the cheap way), or are still working their way through AWS/IBM/Google free credits.
Should you get paid based on where you live?
Hm... are you suggesting that Tesla's motivation here might be to develop a logging system to defend itself against liability claims by demonstrating that the driver was not paying attention, as opposed to a system to take measures at the time to prevent the crash?

I would regard doing the former, while not the latter, to be deeply unethical, as, at least in my book, motive matters.

I am not saying thet I expect Tesla to do so, but it is possible that the incentives could be to do just that: for example, if it turns out to be impractical to produce an effective warning and intervention system that is not regarded as too intrusive by its customers. Don't take that route, Tesla. Nothing but either true (not necessarily perfect) self-driving, or effective monitoring and intervention, is acceptable.
Protocol buffers already require you to commit to some things forever, like the type of a field, or whether two fields belong in a oneof together. I’m not saying that “required” was a great feature, but it’s not exactly unique.
Think of it as versioning for your data. So instead of referring to some data structure by its general concept with immutable data structures we are a lot more specific with respect to the identity represented by the name, here the name represents a version.

This is useful because, for example, you stop having the "unmanaged references" you were talking about because now since you are pointing to a version of the data and not the data itself you can be sure of what you are talking about.
The answer to the categorical "why do scams exist" is based on current systems which have misaligned incentives. Banks do not view the problem of money forwarding scams large enough to fix. If there were added regulatory burden of getting fines, class action lawsuits, pressure from the media or Congress, then the economics may change enough to fix their operational deficiency.

Look at other dark patterns that used to exist but no longer do, like suppressed salary collusion between Google, Microsoft, Apple 15 years ago vs now. As technology and society changes though, more opportunities for new dark patterns emerge. It takes a lot of dead bodies and time before politics and policies take notice and build up enough outrage to catalyze a change.
> That would have to be done from scratch as literally none of that is open source.

That's the point. ReactOS doesn't use any of the Linux parts, and it's reimplementing everything from scratch because there are no open-source components in Windows afaik.
Really, I really like how documentations have become easily accessible offline.
Hows your experience has been with Sublime Merge
If you're thinking regular office workers, they know of no alternative.

Excel works enough for small data, particularly when you don't do complex queries on it. The more you know of it, the better it works. The only other thing that offers similar benefits to Excel but works as a database is MS Access, but the mental model behind it is too complex for your average office worker who wasn't trained in it, and like most database systems, requires a lot of up-front work with figuring out the schema, and doesn't particularly like the schema being modified later on.

As far as I can tell, there's literally nothing else out there. No, random SaaS webapps du jour don't count, because they're universally slow, and also store the data in the cloud, instead of the local drive.
>As a consequence, each template could handle only about 65,000 rows of data

Oh? Like 65,535 or so? That seemed weird a first that even as old as xls is that only 16bits were allocated to max rows.

But then maybe not. Each row might get an ID, so that's 16bits * rows you have. I wonder if when XLS was designed they considered it very unlikely many people would have 500MB of db of empty rows and then would needed more data added to each one?

Simplified of course, I bet even original format had some explicit row identifier that could be shortened with optimizations and increment tags.
Long-time user of to-do apps (2006–present) here.

My biggest problem by orders of magnitude has been lack of guidance on process and habit forming.
No matter what features the software package offers, I’d appreciate clearer answers to questions such as: when do I review the backlog of tasks? When and how do I prioritize? How do tasks and calendar entries correlate? Can they overlap? (Sometimes? Always?) Am I supposed to allot calendar time for every single to-do item? For some items? For none at all? (If not: how to ensure that I’m going to get things done?) What’s the lifecycle of the backlog? When do I decide whether and when to drop a task from the backlog? Are tags (or categories or folders) useful, or do they needlessly complicate things? How do I go about forming a habit for the review process?

From my experience, it’s all about the process, not the technology. The former is surprisingly missing from most to-do apps.
That's the bigger sub, but also one that stifles basically all conversation. /r/fire is the right place imo.
> The concept is called 'optimistic updating' and the intent is to make the UI 'feel faster' by assuming a positive response from the back-end, and only reverting when things go awry. Given the vast majority of messaging attempts will complete successfully, it's easy to see why the interaction pattern is used.

It's easier than making the UI and server faster for sure, I'm just not sure why engineers don't insist of fixing things the right way.
Worked on a world class radiotherapy piece of software. If you like 20 year old Delphi projects and pre C89 ... C, then come over! Xls export is probably a recent addition, xlsx support will most likely come no sooner than when Excel stops supporting xls.