docker run -it --rm corbinu/alpine-w3m https://news.ycombinator.com
Press [tab] to navigate from link to link, [enter] to follow a link, [⇧+B] to go back, and [q] to exit. You can also run it with --help instead of a URL for a help page.2,913 karma · joined October 5, 2007
docker run -it --rm corbinu/alpine-w3m https://news.ycombinator.com
Press [tab] to navigate from link to link, [enter] to follow a link, [⇧+B] to go back, and [q] to exit. You can also run it with --help instead of a URL for a help page.They report 3.3B function invocations for 2.3B requests served, a total of 61,000 hours of execution time and 1,500 concurrent executions at peak.
Using calculator.aws, simply entering the number of requests at 67ms each (61k hours/3.3B invocations) with 128 MB of memory each computes a cost of only $1,107.
Then of course there's bandwidth, databases, file storage, and a lot more… but 3.3B lambda executions for $1.1k is really cheap. Not to mention that a client like the BBC would benefit from negotiated pricing with significant discounts. Even without discounts, serverless is often pretty cheap.
Voyager 1 is further away and still sending data, although I don't think that it has received commands for a very long time.
[1] https://www.forbes.com/sites/startswithabang/2020/11/04/voya...
QObject::connect(&button, &QPushButton::clicked,
&mainWindowController, &MainWindowController::onButtonClicked);
If no slot is connected, the signal just doesn't go anywhere.Something that's special with Qt is that signals and slots are declared in the class using custom syntax, e.g.
slots:
void onValueChanged(int value);
signals:
void valueChanged(int newValue);
Yes here "signals:" and "slots:" look like the same kind of keyword as "public:" or "private:" in a class declaration, even though internally they're #defined as "public:" and "/**/" respectively.Qt makes use of a tool called MOC – the Meta Object Compiler – to generate code for signals and slots. It's not a pre-processor but a code generator, which has to run before you can actually compile the code. I think you could probably implement a similar system of event subscriptions without this additional code generation step.
See this page for details: https://woboq.com/blog/how-qt-signals-slots-work.html
I don't have any suggestions for how to build such a framework, but I would encourage you to play around with a few existing frameworks to see how they are designed, what you like about them, and what ideas to avoid.
For just one example, see the difference between managing the event loop entirely by hand with Win32[1] and using "signals and slots" in Qt[2]. There is a lot more to UI frameworks than this, and they vary on many more aspects.
- [1] https://docs.microsoft.com/en-us/windows/win32/winmsg/using-...
Back story: https://www.coindesk.com/markets/2017/06/26/proof-of-life-vi...
The block in question (open "Click to see more" and look for the "Hash" field): https://etherscan.io/block/3930000
The boards listed on the CircuitPython downloads page usually have between 2 and 8 MB of flash, so you often have enough for the VM and your own code plus a few files.
With (say) 7 dishes you'd have 5-7 small glasses of wine, each selected from the restaurant's cellar by a sommelier who knows what would go perfectly with each dish. This is a much better option than getting your own drink or a bottle to share with the table, and the experience of pairing amazing food with just the right drink is on another level.
edit: there's no MicroPython library for it apparently, but the datasheet[2] is pretty detailed. I've written Python libraries from such protocol definitions before, it's not too difficult.
Does the pricing plan influence the amount of resources your organization can use? e.g. slow search on the free plan, but much better on Enterprise Grid.
It works perfectly fine, with no missing features. I use it to store private keys and recovery codes, mainly.
Oh and welcome to HN :)
If I could suggest one thing: ctrl-u and ctrl-d are pretty common shortcuts for page up and page down, they're even supported in Vim and less. It would make sense to add support for those in addition to the actual PageUp/PageDown keys.
It's never too late I guess, but this made me wonder what proportion of people had never had this opportunity. I've read stories of people calling 911 to report strange lights in the clear skies when it was visible; some of those are likely apocryphal but I'm sure it happens.
The main downside of TLA+/PlusCal is that it's so different from programming languages that very few engineers are familiar with it. Even PlusCal which is supposed to provide a Pascal-like syntax that gets translated to TLA+ can be tricky to use and has a few pitfalls that can be frustrating for beginners.
The tooling is improving, but some design choices are really not ideal. For example, you write PlusCal in a `.tla` file inside a comment block(!) and when you transpile it to TLA+ the generated code is written after your comment, in the same file[2]. This is just one of a number of baffling decisions that create a ton of friction when using these tools. Others on this page have mentioned issues with scope, this is certainly something I've had to fight with.
[1] The bug I wrote a model for was CASSANDRA-8287, "Row Level Isolation is violated by read repair": https://issues.apache.org/jira/browse/CASSANDRA-8287. The error trace describes a clear scenario under which this would happen.
[2] See this very simple model for an example of how PlusCal is written in a comment block followed by the TLA+ code that's generated from it: https://gist.github.com/nicolasff/bcc92627485c3d4d9e0c25eeea...
$('game-app').solutionedit: I decided to upgrade and give it a try, went from 0.2.21 to 0.2.25 (Mar 30, 2021 → Nov 24, 2021). It's still failing to run a basic "build and test" pipeline, and really not doing anything fancy: apt-get install + make + ./service + ./tests.py, with a Redis sidecar. This seems to be because services are not supported in `act`: https://github.com/nektos/act/issues/173
I agree that this isn't very well argued, and variable re-use is a common source of bugs – especially variables that are used several times in a single function for different purposes.
On a similar point, Java has `final` instead of `const` and it does apply to local variables, including to guarantee that a variable is not only not modified, but set exactly once. Something like this:
final String foo;
if (condition) {
foo = someValue();
} else {
foo = otherValue();
}
Omitting any of the assignments leads to a compilation error. It works with complex if conditions with multiple branches, and even with `switch`. If a branch throws an exception, that's also acceptable as the variable is guaranteed not to be used below.I find it pretty useful; doesn't C++ provide a similar construct?
There seem to be 8-inch e-ink displays for sale on AliExpress for $20-$40, actually much cheaper than I expected. No idea about the quality though.
Some of it is on Akamai as the article describes, but if we had everything on CloudFront and wanted to estimate the cost of 1M orders: 2.38 TiB out + (say) 1 KiB/request * 67M or 67 GiB in: that's $275.50 per 1 million orders (approximately $207 out + $67 in + $1 requests cost).
If we add 1M Lambda executions, we still get $0 since that's the entire free tier. 10M Lambda calls at 50 ms each and 128 MB of RAM cost $1.8, so that's pretty much free as well.
Assuming that CloudFront caching is configured correctly, there would be very few requests to the S3 origin so their cost would be negligible.
Someone please correct me if I've got this completely wrong. Source: https://calculator.aws/ (CF: 2.38 TB + 67 GB + 67M req).
Run a Lighthouse report with Chrome which will point out which elements need work, you'll also get advice like "Delaying first content paint makes users give up on your page" (paraphrased) or "Avoid enormous network payloads: total size was 4,397 KiB". Why is this page of text 4 MB? You might also want to take a look at the number of requests.
I would consider removing this first screen/page if I were you.
I watched the video version of the article linked here this morning, and don't recall any part that was fawning over anyone or anything in particular.
What is it about his presentation that puts you off?
Advertisements for Minitel services would say something like "Dial 3615 HOTSTUFF to meet a passionate lover". A lot of these services were adult chat, games, or extremely low-res porn, and it was easy to rack up a massive phone bill by connecting to them (you'd have to remember to disconnect, too!). Another very common use cases was phone book lookups.
Think of it as a physical terminal for a ncurses-style terminal app using a remote client, with the display updating line by line with a scanning cursor as you received data. There's an example of what that looked like in this short documentary about Minitel: https://www.youtube.com/watch?v=zlUmxUB9RhI&t=500s – every single page loaded line by line that way.