skysight-inc/HackerNews huggingface dataset:
optimizing the high level operations would be a sweet application for machine learning, don't you think?
There might be a few websites that could get away with this, but for the vast majority usability is king. If I can't quickly navigate, find what I need, and read your site - what's the point?
I get the mindset, but this is round 2 for the "light phone", round 1 having flopped.

I could see a low-end product which shares the phone number of the bigger phone. Something carriers could offer as a promotional item and a backup. "What do you do when your iPhone is in the shop for a broken screen?"

The amazing thing is that you can get 4 processors, a screen, 8GB, and a camera for $49.
> the electronics stores of Tokyo, particularly Yodobashi Camera and Yamada Denki

And not only Tokyo. Yodobashi has a couple of dozen stores throughout Japan, some of them, such as Yokohama and Umeda (Osaka), as big as the flagship in Akihabara. They're a good source for household appliances, too.

I live in Yokohama, and I shop at Yodobashi not for the prices but for the service: More than once a salesperson has saved me a lot of trouble by confirming that whatever I bought (a monitor, a hard drive, a cable) was actually compatible with the computer I was using. The staff know their products, and they are willing to give up sales in order to keep from selling people something they can't use. That makes me a more loyal customer.

Yodobashi seems to have a lot of Chinese-speaking staff these days, which is understandable considering the large number of Chinese tourists in Japan in recent years. Probably some of the staff speak English, too, though I've never asked.
> Programming is for everyone.

Prove it. I neither agree nor disagree with your statement... I just think it is a very non-trivial assertion to make without substantiating in any meaningful sense.

I can’t think of any “skill” or “orientation” that everyone will have the same amount of. Be it due to nature or nurture, people might have different affinities to different activities and attitudes. Of course, with effort and good guidance those temperamental barriers could probably be overcome. But it takes a very specific attitude to bother spending effort constantly communicating with something as stupid as a computer, and feel sufficient joy for succeeding in controlling it. It would be silly to claim that horse riding or knitting is for everyone. Of course there was a time when many more people did it (sufficiently well) because they had to... but when the need becomes a choice, we see very few people doing it out of interest.
Ask HN: How do you handle billing for your SaaS product?
Hey guys... just wondering if you've built a payment module from scratch or if chargebee, stripe, recurly, etc are worth it?

And if you've used one of these out of the box solutions, how much customization is typically necessary?

Some of the stuff I'm hoping it'll deal with so I won't have to mess with it myself...

Plan upgrades / downgrades... I plan to use a 'credits' type system where each plan has a number of monthly credits that reset every month.

Pay as you go option for people who just want to buy packs of credits and not sign up to an ongoing thing

Cancellations / refunds etc, and whether these should be pro-rated etc

And obviously the core stuff like collecting payments, protecting against fraud, etc.

Any help would be much appreciated.

Thanks
Configuration Always Wins at Scale
Very cool. Reminds me of reading the now-defunct Game Developer magazine years ago.
I think it's in the zeitgeist a bit now. Some people (I'm certainly one) are looking to unhook from their phones - get away from convenience and immediacy and... the internet in general (typing this from Emacs, so it seems more forgivable!).

I know at least 5 people - a large percentage of my close network ;) - who would be interested in this device. I'm sure there's a big enough market for it if the execution is right. Though I'm personally waiting for Librem for the security/privacy aspects.
> 85. The Teacher Influencer Hustle

This. I've been pitched by teacher-influencers and librarian-influencers who want to do sponsored posts about my edtech startup. Such posts are generally not marked as sponsored, and I have always declined their offers.

I understand teachers need to make ends meet (my wife, mother, and grandmother work/worked in education), but that doesn't justify this sort of business practice. It's unethical and also pretty clearly illegal per FTC regulations.
Heuristic Traps in Recreational Avalanche Accidents: Evidence and Implications [pdf]
I'm generally pessimistic about predictions of the future. In this case I can't help but smile. They're trying to predict how a field (AI), which deals with complex adaptation, will intelligently adapt its adaptive techniques in the coming year, within an environment (we humans) that are themselves changing behavior while adapting to AI. That's approximately three meta levels. Good luck, guys!
Thank you for using it! I love seeing all the stuff people have built.

If there is anything I can do to make it better I would love to hear. I am always on https://pion.ly/slack
I'm with ya, it crashed my phone's firefox.
+1 for Tinkersphere, I walked there a few hours ago to get a micro HDMI-to-HDMI and some headers.
Good. I've been thinking about something like this.

You should make the title Qliiq-ible(clickable).
As a university professor, I'm struck at how few of these I've heard of -- and, of those which I've heard of, how little I care.

I just don't feel like I have problems which I'm itching to have solved by technology.

As an example of this, I've graded thousands of calculus exams in my career. It's time consuming, it's painful, and it's unpleasant. But it's also inevitable. Looking at my students' work, engaging with their mistakes, seeing what they do and don't understand -- helps to build the connection between myself and my students, helps me understand what is going on in my classroom.

You can't automate that away.
Yeah I would seriously wonder how focusing on a staff of excelent ... but traditional learning types could change much.

I was a terrible college student and worked my way through PC support drone, some proprietary mainframe networking stuff, traditional networking, data center networking...to web development.

That and sometimes the folks who really just grok something...are terrible at teaching and advice.
I'm really wary when highly successful traditional learners tell me how or even what to learn, not because I think they're wrong, but their path is likely not best for me.
Exactly. You should aim to build fast, at least at first, but it needs to be understood by all that this is part of “build fast and iterate”. It’s not just “build fast and stop”.
“I’m always paranoid when I meet new people that they have seen my video or [when I] meet new people [they] are going to say, ‘I know you.’”

That reminded me of a comment I saw in a discussion about being worried that someone would find out your real identity by noticing your profile on a fetish site --- and thus the correct response to that is "I know you watch porn."
What you are searching for is called a "Commonplace book"

https://en.wikipedia.org/wiki/Commonplace_book
Their coal mines did not start the fires or cause them to spread.

Click bait title and misleading writing. Unsinuating a direct link between the two is very disingenious.
In my first job as android developer (circa 2010) I was tasked with porting a J2ME application with 30,000 lines of code in total to Android. Their primary condition was 'I shouldn't use any XML for layouts and any UI element should be defined only via code'.

I later understood that, it was because they wanted to use the J2ME-to-android bridge I develop for their other J2ME apps and XML layout dependencies would have been a hindrance. Since, this was very early in the android development ecosystem and many devs were Java developers before; usage of XML layouts for UI wasn't strictly mandated as it is now. I did complete the bridge in 3 months and the application performed as it should.

But, I'm glad I never had to do everything related to UI programatically on Android ever after.
I'm yet to find it. For a meme-ish sub /r/wallstreetbets is pretty good. Go there and have a laugh. But places like /r/economics and /r/finance are utter shit.

The best resource is financial twitter (fintwit). The news breaks there, the discussion happens there, and loads of meme-ing also takes place (which is always a nice to-have in a serious place). The only drawback is that most of them lean exactly the way I do. So I can bear the place, but I miss out on a bunch of opposing opinions and it's always a challenge finding someone on the opposite side of the fence.
I feel the same way. I don't have Fry's/Microcenter near me, so my choices are BestBuy (overpriced, poor selection) or the internet.

I try to buy from Newegg instead of Amazon because I don't want Amazon to essentially have a monopoly (not to mention that Newegg seems to package things better). I'll buy from BestBuy only in an absolute emergency, though I used to shop at Fry's and RadioShack quite a bit when both were good.

I hope Microcenter can reinvigorate the enthusiast electronics retail market and expand since apparently Fry's isn't going to do it.
Sean is phenominal, when I was writing a WebRTC service a year ago the Pion implementation looked really really good, so good that I learned Golang just to use Pions!
That's not bitcoin's fault, it's the traditional financial system's fault. The transaction can only happen at the rate of the slowest party.
> The effective cost of borrowing is going to be considerably higher than 6% if a regular person is trying to pay for their living expenses with the principal of a loan denominated in cryptocurrency. Think about exchange fees, taxes for any appreciation/depreciation upon sale, the cost of tracking/filing the taxes etc.

I agree with that entire paragraph, so the rest of your comment is moot in terms of debate. However, I was just saying that on its face, 6% inside the USA is a good rate for loans.
Also in edtech. I mostly agree with your points here.

My personal opinion is that for some sort of meaningful disruption to happen, ed tech entrepreneurs will have to craft their tools such that they are focused on the end user being the student and what their ultimate needs are. I would also say that the company/idea would need some way to start attacking credentialism and challenge the status quo (university degrees) which also mean you have to factor in the needs of employers.

The truth is most people won't bother with learning much of anything unless they are monetarily incentivized by employment prospects or outright money of some sort.

I would also say it is probably better to craft your product/service on third world countries like India or China which might have easier barriers to crack and at the same time these countries might be responsive to a disruptive ed tech idea as these emerging powers seek to compete with the USA's education dominance.
TikTok-owner ByteDance reportedly built a deepfake maker
Correct me if I'm misunderstanding things, but Lightning Network means off-chain transactions, right? Which can be be reneged on if one party is malicious, meaning they'll only occur between trusted parties? And in practice, that means traditional financial services companies and their KYC-compliant customers, which is the exact 180 degree opposite of the originally envisioned use case.

From where I sit, it seems like BTC was designed to be a currency that would free us from financial regulation, it has failed on both counts, and crypto enthusiasts are trying to turn it into an over-elaborate debit card because the alternative is for it to become a historical curiosity.
For me my fingers and face are the part that suffers most. Beause you are working out you do warm up.

Its only about 35-40 minutes for me so I can be a little lighter on the clothing. A balaclava for my face (Its a a ski mask with an big circular opening for my nose and eyes). Thats usually enough, but I have a thin hat that fits under the helmet. my work shirts are golf shirts and wick sweat away, but wool or polypro long underwear is helpful when its really really cold. You don't want to get wet from sweat, because it will suck the heat out of you. I usually just use normal pants. I have a flease jacket and a windproof shell on top.

I use wool glove liners and good windproof gloves. My hands can still get cold. Especially when its windy along the river. I'm experimenting with usb li-on glove warmers, which seem to help on the two times I've used them. They're kind bulky in my gloves and I don't love that.

(I've seen people with fixed hand warmers on there bikes but I haven't gone that far). Ski googles too (I wear glasses so that helps the wind in my eye problem).

Good socks too. I lower my seat in the winter to make it easier to touch ground if I hit ice.
sure.

Again, I want to stress out that this is not an attack against the author.

I started learning Android roughly 10 years ago now. I actually anecdotally recently started teaching it to my SO and it finding the right approach to do so was a challenge. The sources I use to keep up with the latest tech are not the ones you want to push to a beginner.

> know of a better example of an idiomatic kotlin Android app?

off the top of my head, I am not sure what open source app I would direct somebody to.
There is always https://github.com/google/iosched . The big downside is that for very long they shied away from using some common libs like rx or dagger in order to show off what you can do with just the base google libs. I know that they have revised their approach but to be honest I haven't checked out the code source of this app in 2 years (they always do a big refresh around io)

Android is also in a spot that must feel like a catch 22 for its maintainers : the platform has for very long had an approach where very little was irrevocably decided for you by Google. Which was great since it allowed to use whatever pattern works best for your usecase but also means that this freedom can be very intimidating for newcomers.
This has changed in the past 1 or 2 years from 2 different reasons :

- initiatives like jetpack provide an opinionated way of doing things on Android.

- we can't have nice things. Some APIs are progressively closed off. In some cases it is because of performances (since devs are too often not going to care a lot if they have a rogue foreground service siphoning the user battery as long as their feature works), security or privacy.

Looking at `createTableRows()`

Removing all the views before adding them again is extremely unidiomatic. As well as handling all your layouting in kotlin/java instead of xml.

A clean way to handle what op is doing would be first to define a ViewState : a model representing the UI. In itself, it is nothing fancy, just an immutable kotlin data class
looking something like this :

data class IngredientsModel(
val title : CharSequence, // "ingredients"
val ingredients : List<IngredientModel>
)

data class IngredientModel(
val name : CharSequence,
val text : CharSequence
)

next up would be to apply it to the UI

a simple method like bind (model:IngredientsModel) should be in charge of that.

Using a previously inflated xml layout for the whole screen

And a RecyclerView (abstraction similar to iOS UICollectionView ) to display the ingredients

stuff like

tv1.setPadding(32, 6, 6, 6) -> padding applied manually instead of being done through a layout definition and moreover using raw pixel values instead of dp ones.

if (index >= cocktail!!.measurements.count()) -> you don't do this kind of logic in the view layer, ever. This is why I have defined an IngredientModel, so that what to display can be defined in the business logic, not in the view layer.

Reading the article "create layouts declaratively like with Dart,wasn’t around when I created this project"; it looks like the author tried very hard to write idiomatic flutter code (and not necessarily good one) in place of Android one.
It is very insulting to expect that the experience of working in a factory or mining environment will translate at all as skills necessary for programming.
Apple Watch + AirPods is more than the price of a new Apple phone.
I'm not sure what you mean by "assume storage space will expand exponentially", since there is only a limited number of potential active crypto-currency users, making a small number of daily transactions (ignoring things like High Frequency Trading), recorded in a blockchain that grows linearly over time.

Would you say that the credit card network, or PayPal, has exponentially increasing storage requirements? It's possible for Bitcoin (for example) to be decentralised and useful to the world and only require linearly increasing storage space.

Fortunately it seems that storage technology will continue to scale linearly over the coming years too:

https://images.anandtech.com/doci/15064/seagate-roadmap.png
Try combining caffeine with l-theanine. The theanine attenuates the jittery edge and really seems to improve focus for me.
Nice speedup! However it seems that AES-GCM comes at a cost of considerable increases in packet sizes, from what I could read in the link. Have you observed an increase of packet loss and latencies in real-world networks? (esp. with third world connections)

The improvements in CPU usage are clear for the server, but the choice doesn't seem so obvious to me

EDIT: I meant that, for the quality of end-user experience (who doesn't care about server load), it doesn't seem like an immediately obvious better choice to just use GCM, until some empiric testing shows if the potential increase of packet loss causes noticeable problems, or on the contrary, doesn't. It would be very cool reading any observations in this regard.
They may be difficult to scale compared to pure software based companies, but they can still scale.
Hospitals are difficult to grow and maintain, but HCA still commands a market cap of 50 billion.
And if you believe healthcare is moving from more inpatient care to more outpatient based care...
The author seems to miss the boat super hard on

> 6. "Everyone Should Learn to Code"

Her argument seems to be that teaching more kids to code, will result in more people ending up in a toxic tech industry. This may be true. But the tech industry will never, ever change until we expose more kids to engineering as a choice. If we can cause a greater number and diversity of children and young adults to consider engineering as a career, the industry will be more diverse. this seems like a bit of a no-brainer.

Also the reaction to the Hour of Code makes me question whether or not the author has every lead or observed one in a meaningful way. Having led literally hundreds, almost every single one that I was involved with resulted in at least one student saying "I didn't think that this was for me / for people like me, but I really liked it". That makes it worth it. Hearing that one single time, makes every single HoC ever worth it in my opinion. I know a lot of teachers that would agree. Nobody on earth thinks kids are making significant progress towards mastery of programming from an hour of code -- it's about exposing every child and letting them know that they are capable of a career that is often, for a variety of reasons, seen as "not for them".
That's an extremely negative characterization of people who want more features in a language. It's not "change for the sake of change". It's change for the sake of making everyone's programs better.

C++ is a good demonstration of both the costs and benefits of adding new features. The costs are obvious: the language and standard library are absolutely full of duplicate features, where the old thing is deprecated in favor of the new thing, but the old thing still has to be supported for compatibility's sake.

But so are the benefits. C++ hasn't always moved so quickly, after all. For 13 years, from its initial standardization in 1998 to its first major revision in 2011, the language was effectively frozen. It was never a small language, but it was stable, not a constantly changing foundation.

It was also absolutely horrid.

This is how you iterate over a std::vector in C++98:

for (std::vector<int>::iterator it = vec.begin();
it != vec.end();
++it) {
int number = *it;
// use `number`
}

One of the features added in C++11 is the range-based for loop, which simplifies that to just:

for (int number : vec) {
// use `number`
}

The old style was perfectly working, and still works. The problem it solves has not changed. It's just that it is, and has always been, a terrible solution! The noisiness hurts not only ease of use (obviously), but also robustness and understandability: it tends to obscure the actual logic the programmer intended, making code harder to read.

Adding the range-based for loop did burden everyone with additional complexity – but it was clearly worth it. The new style is not just "more 'modern'", it's straight-out better. Sure, code that uses the old style does not need to change. Often it's best to leave it alone. But if so, that doesn't mean the existing code is perfect, just that the benefits of refactoring it don't outweigh the costs (such as the risk of introducing bugs). When writing new code, on the other hand, there's no reason not to use the new style.

Not all features are such a slam dunk. Usually the benefits are not so clear, and often the amount of complexity added is higher. The result is a difficult tradeoff, a competition between different people with different interests, just as you say. People are justified in thinking the benefits are not worth the cost.

But there are benefits, almost always. This pattern matching proposal, for example, adds a ton of syntax and duplicates a feature (the switch statement), and overall it seems more complex than it needs to be. I'm not a fan: I'm not sure whether C++ needs pattern matching at all, and if it does get it then I'd prefer a different design. But if this design were accepted, I'd still enjoy using it in my code! After all, pattern matching itself has decades of history in functional programming languages, and has proven to be an elegant and expressive way to write certain kinds of algorithms and use certain kinds of data structures – things that in today's C++ are rather awkward.
Those who don't click the link may assume that the result was unsuccessful, but FTA:

"Although critics have long argued that paying students for results can lead to a decreased interest in learning, Fryer’s new results show no evidence to justify or support these claims."

That said, the researcher found that while paying students for results didn't cause harm, they did find that what worked even better (that is, worked at all) was "when they were paid to perform specific actions, such as reading books or wearing their uniforms."

“When you are paid to do something you may not know exactly how to accomplish, it’s not clear how you respond. But if you are being offered money to do something very concrete...then that might be easier to respond to.”

Not a silver bullet as the researcher notes:

“I’m interested in what are the four or five investments that, when put together, have the potential to close the achievement gap,” Fryer said. “Incentives could be one of [them], I don’t know yet. This is the first kind of large scale experiment in urban schools on incentives, and I hope it’s not the last.”

But also I hope people don't just dismiss the idea of monetarily incentivizing children out of hand.
The very fact he used a bogus comparison should be self-disqualifying, like, what?!