10 interesting stories served every morning and every evening.
Introducing iPhone Pocket: a beautiful way to wear and carry iPhone
Born out of a collaboration between ISSEY MIYAKE and Apple, iPhone Pocket features a singular 3D-knitted construction designed to fit any iPhone
ISSEY MIYAKE and Apple today unveiled iPhone Pocket. Inspired by the concept of “a piece of cloth,” its singular 3D-knitted construction is designed to fit any iPhone as well as all pocketable items. Beginning Friday, November 14, it will be available at select Apple Store locations and on apple.com in France, Greater China, Italy, Japan, Singapore, South Korea, the UK, and the U. S.
iPhone Pocket features a ribbed open structure with the qualities of the original pleats by ISSEY MIYAKE. Born from the idea of creating an additional pocket, its understated design fully encloses iPhone, expanding to fit more of a user’s everyday items. When stretched, the open textile subtly reveals its contents and allows users to peek at their iPhone display. iPhone Pocket can be worn in a variety of ways — handheld, tied onto bags, or worn directly on the body. Featuring a playful color palette, the short strap design is available in eight colors, and the long strap design in three colors.
“The design of iPhone Pocket speaks to the bond between iPhone and its user, while keeping in mind that an Apple product is designed to be universal in aesthetic and versatile in use,” shared Yoshiyuki Miyamae, design director of MIYAKE DESIGN STUDIO. “iPhone Pocket explores the concept of ‘the joy of wearing iPhone in your own way.’ The simplicity of its design echoes what we practice at ISSEY MIYAKE — the idea of leaving things less defined to allow for possibilities and personal interpretation.”
“Apple and ISSEY MIYAKE share a design approach that celebrates craftsmanship, simplicity, and delight,” said Molly Anderson, Apple’s vice president of Industrial Design. “This clever extra pocket exemplifies those ideas and is a natural accompaniment to our products. The color palette of iPhone Pocket was intentionally designed to mix and match with all our iPhone models and colors — allowing users to create their own personalized combination. Its recognizable silhouette offers a beautiful new way to carry your iPhone, AirPods, and favorite everyday items.”
Crafted in Japan, iPhone Pocket features a singular 3D-knitted construction that is the result of research and development carried out at ISSEY MIYAKE. The design drew inspiration from the concept of “a piece of cloth” and reinterpreted the everyday utility of the brand’s iconic pleated clothing. The development and design of iPhone Pocket unfolded in close collaboration with the Apple Design Studio, which provided insight into design and production throughout.
iPhone Pocket is a special-edition release. The short strap design is available in lemon, mandarin, purple, pink, peacock, sapphire, cinnamon, and black; the long strap design is available in sapphire, cinnamon, and black. iPhone Pocket in the short strap design retails at $149.95 (U. S.), and the long strap design at $229.95 (U.S.).
Customers can purchase iPhone Pocket beginning Friday, November 14, at select Apple Store locations and apple.com in France, Greater China, Italy, Japan, Singapore, South Korea, the UK, and the U. S. Just in time for the holidays, Apple Specialists in stores and online can help customers mix and match different lengths and colors with their iPhone, style iPhone Pocket, and purchase their new favorite accessory.
ISSEY MIYAKE was founded in 1971 by the namesake designer, one year after the establishment of MIYAKE DESIGN STUDIO. The company operates through an integrated process for clothing and related items, encompassing creative conception, development, manufacturing, and retail operations. Guided by the philosophy of “bringing unprecedented originality for ease in everyday life,” ISSEY MIYAKE practices this commitment through products conceived with society and the future in mind, thus ensuring a lasting culture of innovative design and making.
Apple revolutionized personal technology with the introduction of the Macintosh in 1984. Today, Apple leads the world in innovation with iPhone, iPad, Mac, AirPods, Apple Watch, and Apple Vision Pro. Apple’s six software platforms — iOS, iPadOS, macOS, watchOS, visionOS, and tvOS — provide seamless experiences across all Apple devices and empower people with breakthrough services including the App Store, Apple Music, Apple Pay, iCloud, and Apple TV. Apple’s more than 150,000 employees are dedicated to making the best products on earth and to leaving the world better than we found it.
...
Read the original on www.apple.com »
I was eight years old when I first tried to hack the intro screens of Commodore-64 games. I found a BASIC programming book and opened it with all the enthusiasm of a kid who thought he was about to unlock the secrets of the universe. Page after page of mysterious commands, strange symbols, promises of power.
And then I saw it:
10 X = 5
20 X = X + 1
30 PRINT X
X equals X plus one? That’s not math. That’s a lie. Zero can’t equal one. This was nonsense, and I wanted nothing to do with it.
Little did I know that this moment of confusion would define the next two decades of my life.
Years passed. I played games, broke things, learned just enough to be dangerous.
Then university happened. First year, sitting in the library, and there it was: The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie. The famous K&R book. The Bible.
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
What is `a? Why the asterisks? What doesvoid` mean? Why are there two stars?*
But something was different this time. Instead of closing the book, I started cooking. I didn’t understand the recipe, but I started mixing ingredients anyway.
This led to what I now call my “Linux formatting era.” I had two partitions on my home computer:
I formatted Linux so many times that I could do it in my sleep. Every experiment, every compilation error, every segmentation fault was a lesson. I was learning by destroying and rebuilding, over and over.
X = X + 1 was starting to make sense, but only in the most mechanical way. I could write loops. I could increment counters. But I still didn’t feel it.
During those years, while I was formatting Linux partitions and debugging segfaults, I had another life: competitive bridge. I was good enough to make the national team, spending weekends at tournaments, playing hands with people who could calculate odds in their sleep.
One of my partners was an older engineer. Between games, after a particularly brutal hand, he asked me a simple question:
“How can you sum the numbers from 1 to 10 without using a loop?”
“Without a loop? I just learned x = x + 1. Are you kidding?”
Not long after, I found a Prolog book. And there it was: recursion.
sum(0, 0).
sum(N, Result) :-
N > 0,
N1 is N - 1,
sum(N1, Sum1),
Result is N + Sum1.
?- sum(10, X).
X = 55.
This wasn’t X = X + 1. This was Y = X + 1. This was a relationship. This was math telling the truth again.
Suddenly, that engineer’s question made sense. You don’t need loops. You don’t need mutation. You just need to describe what something is, not how to compute it step by step.
For the first time since that Commodore-64 book, I felt like someone was talking to me in a language I could understand.
Bridge tournaments are funny places. You’re competing against people one moment, sharing stories the next. During a break at one tournament, I got to talking with a player from Sweden. The usual stuff at first—tough hands, bad luck, that feeling when you know your partner’s about to make a mistake and you can’t stop them.
Then, somehow, we got to programming.
“Have you heard of Erlang?” he asked.
“Erlang? No. What is it?”
“It’s from Sweden. From Ericsson. It’s for telecom systems. You can build distributed, fault-tolerant systems. It’s functional, like Prolog.”
Those were the days when we finally had internet at home. I was trying to write a multiplayer socket-based bridge game for our home network—something so my friends and I could play without being in the same room.
Let me show you what blew my mind. What made me stay up until 4am, what made me skip bridge practice, what made me realize I’d found something special.
-module(ping).
-export([start/0, ping/1]).
start() ->
register(ping, spawn(fun() -> ping(0) end)).
ping(Count) ->
receive
{pong, Pong_PID} ->
io:format(“Ping received pong (~p)~n”, [Count]),
Pong_PID ! {ping, self()},
ping(Count + 1)
end.
-module(pong).
-export([start/0, pong/0]).
start() ->
register(pong, spawn(fun pong/0)).
pong() ->
receive
{ping, Ping_PID} ->
io:format(“Pong received ping~n”),
Ping_PID ! {pong, self()},
pong()
end.
% Terminal 1
erl -sname ping -setcookie secret
(ping@localhost)1> c(ping).
(ping@localhost)2> ping:start().
% Terminal 2
erl -sname pong -setcookie secret
(pong@localhost)1> c(pong).
(pong@localhost)2> pong:start().
(pong@localhost)3> {ping, ‘ping@localhost’} ! {pong, self()}.
% Watch them talk to each other across nodes!
Two separate Erlang nodes. On different machines, different networks, different continents if I wanted. And they could just… talk. No HTTP. No REST API. No serialization headaches. Just message passing. Just actors doing their thing.
This was functional (no mutation, just recursion and pattern matching) and distributed (processes on different nodes) and fault-tolerant (if one crashes, the other keeps running).
This was everything I’d been searching for since I was eight years old and couldn’t understand why X could equal X plus one.
I was good at bridge. National team level. But when I found Erlang, the choice was easy.
I stopped going to tournaments. Stopped spending weekends calculating card probabilities. This strange, beautiful language from Sweden had shown me something more interesting than any hand of cards ever could.
Erlang wasn’t just a programming language. It was a philosophy:
Let it crash (don’t try to handle every error)
Processes are cheap (spawn millions if you want)
It was functional programming and distributed systems and fault tolerance all in one elegant package.
If you want to understand why Erlang captured my imagination, why it changed the way I think about building systems, watch this:
This video, made by the people who created Erlang at Ericsson, captures the spirit of what made me fall in love. The philosophy. The elegance. The sheer fun of building systems that don’t fall apart.
This is where I’ll share what I’ve learned over 30+ years of building software systems. From that confused 8-year-old closing a BASIC book to now.
I’ll write about Erlang, Elixir, functional programming, distributed systems, and all the things I wish someone had explained to me when I was young.
P. S.: Next posts will cover Clojure (JVM—you know why), then Scala, F#, and back to Elixir/Erlang with practical patterns and war stories. Stay tuned.
...
Read the original on boragonul.com »
“If you want to go fast, go alone; if you want to go far, go together”
This phrase will slowly kill your company and I’m here to prove it.
Imagine you are driving a car. It’s often useful to have someone give you directions, point out gas stations, and recommend stops for snacks. This is a helpful amount of collaboration.
An unhelpful amount of collaboration is getting out of your car to ask pedestrians if they like your car, swapping drivers every 10 minutes, or having someone constantly commenting on your driving.
In the first scenario, you get the right amount of feedback to get to your destination as fast as possible. In the second, you get more feedback, but it slows you down. You run the risk of not making it to the place you want to go.
The second scenario is also the one most startups (or companies, really) end up in because of ✨ collaboration ✨.
As PostHog grows, I’ve seen more and more collaboration that doesn’t add value or adds far too little value for the time lost collaborating. So much so we made “collaboration sucks” the topic of the week during a recent company all hands.
“You’re the driver” is a key value for us at PostHog. We aim to hire people who are great at their jobs and get out of their way. No deadlines, minimal coordination, and no managers telling you what to do.
In return, we ask for extraordinarily high ownership and the ability to get a lot done by yourself. Marketers ship code, salespeople answer technical questions without backup, and product engineers work across the stack.
This means there is almost always someone better at what you are doing than you are. It is tempting to get them, or anybody really, involved and ✨ collaborate ✨, but collaboration forces the driver to slow down and explain stuff (background, context, their thinking).
This tendency reveals itself in a few key phrases:
* “Would love to hear Y’s take on this”
* “We should work with Z on this”
This sometimes leads to valuable insights, but always slows the driver down. It erodes their motivation, confidence, and effectiveness, and ultimately leads us to ship less.
Everyone is to blame.
* People want to be helpful. For example, when someone posts their work-in-progress in Slack, others feel obliged to give feedback because we have a culture of feedback.
* On the flip side, people don’t ask for feedback from specific people because it doesn’t feel inclusive, even though it would help.
* People aren’t specific enough about what feedback they need. This creates more space for collaboration to sneak in. A discussion about building a specific feature can devolve into reevaluating the entire product roadmap if you let it.
* When someone has a good idea, the response often defaults to “let’s discuss” rather than “ok, do it.” As proof, we have 175 mentions of “let’s discuss” in Slack.
* People just want to talk about stuff because they can’t be bothered to act on it. We drift from our ideal of a pull request to an issue/RFC to Slack (we are mostly here) to “let’s discuss”.
* It’s not clear who the owner is (or no one wants to own what’s being discussed).
* It is annoying, but sometimes a single person can’t ship certain things front to back to a high-enough quality and we can’t just ship and iterate. We can fix broken code, but we can’t resend a newsletter.
So if collaboration is your enemy, how do you defeat it? Here’s what we say:
* Every time you see ✨ collaboration ✨ happening, speak up and destroy it. Say “there are too many people involved. X, you are the driver, you decide.” (This is a great way to make friends btw).
* Tag who you specifically want input from and what you want from them, not just throw things out there into the void.
* Prefer to give feedback after something has shipped (but before the next iteration) rather than reviewing it before it ships. Front-loading your feedback can turn it into a quasi-approval process.
* If you are a team lead, or leader of leads, who has been asked for feedback, consider being more you can just do stuff.
* When it’s your thing, you are the “informed captain.” Listen to feedback, but know it’s ultimately up to you to decide what to do, not the people giving feedback.
Unfortunately for me, not all collaboration can be rooted out, and even I will admit that some collaboration is useful. Ian and Andy edited this newsletter after all.
The point is, if you aren’t actively attempting to collaborate less, you are probably collaborating too much by default and hurting your ability to go far, fast.
Words by Charles Cook, who also hates sparkling water, presumably because the bubbles are too collaborative.
...
Read the original on newsletter.posthog.com »
SoftBank said Tuesday it has sold its entire stake in U. S. chipmaker Nvidia for $5.83 billion as the Japanese giant looks to capitalize on its “all in” bet on ChatGPT maker OpenAI.
The firm said in its earnings statement that it sold 32.1 million Nvidia shares in October. It also disclosed that it sold part of its T-Mobile stake for $9.17 billion.
“We want to provide a lot of investment opportunities for investors, while we can still maintain financial strength,” said SoftBank’s chief financial officer, Yoshimitsu Goto, during an investor presentation.
“So through those options and tools we make sure that we are ready for funding in a very safe manner,” he said in comments translated by the company, adding that the stake sales were part of the firm’s strategy for “asset monetization.”
The sale of Nvidia shares, partial sale of T-Mobile shares and the margin loan on SoftBank’s holding in Arm, are all “sources of cash that will be used to fund the $22.5 billion investment in OpenAI,” a person familiar with the matter told CNBC. They added that this cash will fund other projects the firm is working on such as its acquisition of ABB’s robotics unit.
The offloading of the Nvidia stake had nothing to do with concerns about artificial intelligence valuations, the person said.
While the Nvidia exit may come as a surprise to some investors, it’s not the first time SoftBank has cashed out of the American AI chip darling.
SoftBank’s Vision Fund was an early backer of Nvidia, reportedly amassing a $4 billion stake in 2017 before selling all of its holdings in January 2019. Despite its latest sale, SoftBank’s business interests remain heavily intertwined with Nvidia’s.
...
Read the original on www.cnbc.com »
With Firefox 145, we’re rolling out major privacy upgrades that take on browser fingerprinting — a pervasive and hidden tracking technique that lets websites identify you even when cookies are blocked or you’re in private browsing. These protections build on Mozilla’s long-term goal of building a healthier, transparent and privacy-preserving web ecosystem.
Fingerprinting builds a secret digital ID of you by collecting subtle details of your setup — ranging from your time zone to your operating system settings — that together create a “fingerprint” identifiable across websites and across browser sessions. Having a unique fingerprint means fingerprinters can continuously identify you invisibly, allowing bad actors to track you without your knowledge or consent. Online fingerprinting is able to track you for months, even when you use any browser’s private browsing mode.
Protecting people’s privacy has always been core to Firefox. Since 2020, Firefox’s built-in Enhanced Tracking Protection (ETP) has blocked known trackers and other invasive practices, while features like Total Cookie Protection and now expanded fingerprinting defenses demonstrate a broader goal: prioritizing your online freedom through innovative privacy-by-design. Since 2021, Firefox has been incrementally enhancing anti-fingerprinting protections targeting the most common pieces of information collected for suspected fingerprinting uses.
Today, we are excited to announce the completion of the second phase of defenses against fingerprinters that linger across all your browsing but aren’t in the known tracker lists. With these fingerprinting protections, the amount of Firefox users trackable by fingerprinters is reduced by half.
Drawing from a global analysis of how real people’s browsers can be fingerprinted, Mozilla has developed new, unique and powerful defenses against real-world fingerprinting techniques. Firefox is the first browser with this level of insight into fingerprinting and the most effective deployed defenses to reduce it. Like Total Cookie Protection, one of our most innovative privacy features, these new defenses are debuting in Private Browsing Mode and ETP Strict mode initially, while we work to enable them by default.
These fingerprinting protections work on multiple layers, building on Firefox’s already robust privacy features. For example, Firefox has long blocked known tracking and fingerprinting scripts as part of its Enhanced Tracking Protection.
Beyond blocking trackers, Firefox also limits the information it makes available to websites — a privacy-by-design approach — that preemptively shrinks your fingerprint. Browsers provide a way for websites to ask for information that enables legitimate website features, e.g. your graphics hardware information, which allows sites to optimize games for your computer. But trackers can also ask for that information, for no other reason than to help build a fingerprint of your browser and track you across the web.
Since 2021, Firefox has been incrementally advancing fingerprinting protections, covering the most pervasive fingerprinting techniques. These include things like how your graphics card draws images, which fonts your computer has, and even tiny differences in how it performs math. The first phase plugged the biggest and most-common leaks of fingerprinting information.
Recent Firefox releases have tackled the next-largest leaks of user information used by online fingerprinters. This ranges from strengthening the font protections to preventing websites from getting to know your hardware details like the number of cores your processor has, the number of simultaneous fingers your touchscreen supports, and the dimensions of your dock or taskbar. The full list of detailed protections is available in our documentation.
Our research shows these improvements cut the percentage of users seen as unique by almost half.
Firefox’s new protections are a balance of disrupting fingerprinters while maintaining web usability. More aggressive fingerprinting blocking might sound better, but is guaranteed to break legitimate website features. For instance, calendar, scheduling, and conferencing tools legitimately need your real time zone. Firefox’s approach is to target the most leaky fingerprinting vectors (the tricks and scripts used by trackers) while preserving functionality many sites need to work normally. The end result is a set of layered defenses that significantly reduce tracking without downgrading your browsing experience. More details are available about both the specific behaviors and how to recognize a problem on a site and disable protections for that site alone, so you always stay in control. The goal: strong privacy protections that don’t get in your way.
If you open a Private Browsing window or use ETP Strict mode, Firefox is already working behind the scenes to make you harder to track. The latest phase of Firefox’s fingerprinting protections marks an important milestone in our mission to deliver: smart privacy protections that work automatically — no further extensions or configurations needed. As we head into the future, Firefox remains committed to fighting for your privacy, so you get to enjoy the web on your terms. Upgrade to the latest Firefox and take back control of your privacy.
Take control of your internet
...
Read the original on blog.mozilla.org »
Discover a unique collection of laptops adorned with creative stickers from around the world. This project celebrates the art and culture of laptop personalization each laptop tells a story through its stickers and gives us a glimpse of the personality of the owners.
...
Read the original on stickertop.art »
It became quickly clear that the eruption would be followed by an impressive coronal mass ejection (CME). The resulting coronal wave following the solar explosion as well as the coronal dimming observed as the CME was propelled into space were of a spectacular magnitude as can be seen in the animation below provided by halocme.
Another eruption from AR12474, associated with an X5.1 flare. It has become a full halo CME. I am truly impressed by how fast and global this coronal wave is. The CME will arrive on November 13, but because of earlier CMEs it will be challenging to isolate the ICME from this. pic.twitter.com/H6eNjzQUGz— Halo CME (@halocme) November 11, 2025
Taking a look at coronagraph imagery provided by GOES-19 CCOR-1 we see the gorgeous fast halo coronal mass ejection as it propagates away from the Sun. It doesn’t take a rocket scientist to come to the conclusion that this plasma cloud of course has an earth-directed component and it is pretty clear that this will be a strong impact when it arrives at our planet. This rightfully so prompted the NOAA SWPC to issue a G4 or greater geomagnetic storm watch for tomorrow as the cloud could impact our planet as early as 16 UTC on 12 November. Not only is the CME fast but it will also travel trough an area with high ambient solar wind speed and low density thanks to two other CMEs released earlier by this region. More about that below.
If the solar wind and interplanetary magnetic field values at Earth are favorable this could result in a geomagnetic storm which is strong enough for aurora to become visible from locations as far south as northern France, Germany, Ukraine, Switzerland and Austria. In the US it could become visible as far south as Nevada and Arkansas. No guarantees of course, this is space weather we are talking about but be sure to download the SpaceWeatherLive app to your mobile device, turn on the alerts and keep an eye on the solar wind data from ACE and DSCOVR!
We also want to remind you that we still have two coronal mass ejections on their way to Earth. These are not as impressive as this X5.1 CME but these two plasma clouds will likely arrive within the next 6 to 18 hours. This is a tricky one as they could arrive as one impact or two impacts close intill each other. More information in yesterday’s news.
Thank you for reading this article! Did you have any trouble with the technical terms used in this article? Our help section is the place to be where you can find in-depth articles, a FAQ and a list with common abbreviations. Still puzzled? Just post on our forum where we will help you the best we can! Never want to miss out on a space weather event or one of our news articles again? Subscribe to our mailing list, follow us on Twitter and Facebook and download the SpaceWeatherLive app for Android and iOS!
...
Read the original on www.spaceweatherlive.com »
Canada’s outbreak began last October, with health officials attributing it to fewer people being vaccinated against measles.
The US, however, risks losing its status as well if it does not stop an ongoing outbreak by January. Related cases have now been reported in Utah, Arizona and South Carolina.
Because Canada is no longer deemed measles-free, the Americas region as a whole has lost its elimination status, although individually the other countries are still considered to have stamped out the disease.
Canada has lost its measles elimination status, said the Pan American Health Organization (Paho) on Monday, after failing to curb an outbreak of the virus for 12 consecutive months.
Canada’s outbreak began last October, with health officials attributing it to fewer people being vaccinated against measles.
The US, however, risks losing its status as well if it does not stop an ongoing outbreak by January. Related cases have now been reported in Utah, Arizona and South Carolina.
Because Canada is no longer deemed measles-free, the Americas region as a whole has lost its elimination status, although individually the other countries are still considered to have stamped out the disease.
Canada has lost its measles elimination status, said the Pan American Health Organization (Paho) on Monday, after failing to curb an outbreak of the virus for 12 consecutive months.
At a news conference on Monday, Paho officials appealed to Canadian governments and the public to ramp up vaccinations, noting that 95% of the population needs to be immunised to stop the spread of measles.
“This loss represents a setback, but it is also reversible,” said Dr Jarbas Barbosa, the health organisation’s director.
The Public Health Agency of Canada said in its own statement that it is collaborating with Paho and regional health authorities to improve vaccine rates and strengthen data sharing.
Prior to Monday, Canada had been declared measles-free for three decades. It can regain its elimination status if it can curb spread of the measles strain associated with the current outbreak for at least 12 months.
The country has reported more than 5,000 measles cases in 2025, with most of them in the provinces of Ontario and Alberta. That is three times the 1,681 cases reported in the US, despite Canada’s much smaller population.
The bulk of the outbreak has been in “under-vaccinated communities”, Canadian health officials have said.
Vaccination rates in Alberta, one of the provinces hit hard by the outbreak, are lower than the 95% threshold, according to provincial data.
One region, the South Zone, located south of the province’s largest city Calgary, reported only 68% of children under the age of two were immunised against measles as of 2024.
The MMR vaccine is the most effective way to fight off the dangerous virus, which can lead to pneumonia, brain swelling and death. The jabs are 97% effective and also immunise against mumps and rubella.
Canadian immunologist Dawn Bowdish told the BBC that there are many reasons behind the low vaccination rates, including lack of access to general practitioners, the absence of a national vaccination registry that Canadians could use to check their immunisation status, and the spread of misinformation.
She also noted a lack of public health outreach to communities that have been hesitant or distrustful of vaccines.
“It highlights how many of our systems broke down to get us to this point,” said Prof Bowdish of McMaster University in Hamilton, Ontario.
“I hope that it will be a wake-up call to policymakers, and that it will be enough of a national embarrassment that we remedy some of those systemic issues,” she added
The Americas is the first and only region in the world to have been declared measles-free, starting in 2016. That status was then briefly lifted after outbreaks in Venezuela and Brazil. The two countries regained elimination status in 2024, in part through coordinated vaccine efforts where millions were immunised.
But measles has since spread again, now in North America.
Along with Canada and the United States, Mexico has also seen a surge in cases and now ranks among the top 10 countries with the largest outbreaks, according to the US Centers for Disease Control and Prevention.
...
Read the original on www.bbc.com »
The R47 is a powerful, RPN-based programmable scientific calculator with an extensive feature set. Its software has been refined over many years, born from the vision of a dream calculator developed by a team of engineers and mathematicians, all dedicated calculator enthusiasts.
Community-developed and manufactured by SwissMicros, the R47 runs firmware that is functionally identical to that of the C47, which offers a way to transform a DM42n into a feature-rich RPN calculator using a dedicated keypad overlay.
The C47/R47 firmware originated as a fork of the WP43 project, itself derived from the WP34S. A core component carried through this lineage is the decNumber library by Mike Cowlishaw, also used in GCC for precise decimal arithmetic.
Inspired by the HP‑41C and HP‑42S, the R47 builds on this foundation with a redesigned keypad featuring two shift keys, preserving a familiar feel while being entirely new in execution.
* Advanced Math Capabilities:Provides 34 digits of precision; exponents to ±6144; up to 1000 named variables.
* Provides 34 digits of precision; exponents to ±6144; up to 1000 named variables.
* Programming and Editing:
* Engineering and Utilities:Conduct financial and date-based calculations, including time value of money operations.Perform date and time math as well as built-in clock.Equation writer with support for solving, numeric integration and derivatives, and basic plotting.
* Conduct financial and date-based calculations, including time value of money operations.
* Perform date and time math as well as built-in clock.
* Equation writer with support for solving, numeric integration and derivatives, and basic plotting.
* Display and User Interface:Features a high-resolution display with 4 stack levels, 3 rows of menus, and status bar always shown.
* Features a high-resolution display with 4 stack levels, 3 rows of menus, and status bar always shown.
* Data Management:I/O to built-in flash memory or via USB for backing up and restoring states, programs, and configuration.
* I/O to built-in flash memory or via USB for backing up and restoring states, programs, and configuration.
...
Read the original on www.swissmicros.com »
Yesterday after receiving my yearly flu vaccine at the pharmacy I was offered a blood pressure test, which reported a reading that made the young pharmacist who had just given me my vaccine a bit worried.
Off the back of this she offered me a 24 hour study, and then strapped a cuff to my arm plumbed into a little device which I had to wear in a little caddy - the cuff would inflate every 30 minutes during the day and every 60 minutes during the night, and then tomorrow I would bring it back for analysis.
“Can I read the measurements?” I asked, as it was being strapped to me.
“Oh, no, that will just stress you out. We turn that off”. Fair enough.
Thing is, this device had a little micro-USB port on the side.
I had started researching the device - a Microlife WatchBP O3 - before I got out of the chemist, and once I’d got back to the office I downloaded the software that’s freely available to interact with it, setting up a Bottles instance to run the software since I don’t (knowingly) have a Windows machine within 100 metres of me.
Unfortunately it didn’t seem to be able to access the device, and I had no clue why. In Linux it was just presenting as a standard hidraw device:
[33301.736724] hid-generic 0003:04D9:B554.001E: hiddev96,hidraw1: USB HID v1.11 Device [USB HID UART Bridge] on usb-0000:c5:00.0-1/input0
After dodging around Microsoft’s idea of UX, and then forwarding the USB device to the VM (I used Gnome Boxes for this, works nicely), I finally got to see WatchBP Analyzer with the data downloaded from the device.
WatchBP Analyzer with my first three measurements
But I don’t want to open a Virtual Machine running Windows to see this data, and anyway - I’m pretty sure that reverse-engineering this will be good for my blood pressure.
Since I’m running this in a Virtual Machine I can just rely on Wireshark in Linux to get the traffic between the host and the device. usbmon is already installed and we know that the device is on Bus 3, so we can select usbmon3 on startup and start capturing.
I’m very much out of my depth at this point but, being one of those who could land a plane in an emergency (why would you talk yourself out of it?!) I decided to crack on regardless. I know that the interesting stuff is sent after I press “Download”, and I know that something in there is gonna say “my blood pressure is 137/113″ - so let’s look for that. Just convert to show bytes as decimal and..
My blood pressure seems to be encoded in this packet
..that looks like a blood pressure! Let’s copy that out as hex:
05 0a 89 71 43 9b
I’m not sure if this is “valid” HID Data (Wireshark seems convinced that only the first byte is the Vendor Data, with the rest being padding) but it seems like the data is being sent in 32-byte “chunks”, of which the first byte tells you the number of significant (SIG) following bits in the chunk (I deleted the rest - all zeroes - for clarity). The third byte is my Systolic blood Pressure (SYS), the fourth is my Diastolic blood pressure (DIA), and the fifth is my heart rate (HR) - no clue what the second or last byte is, but let’s find all other bytes with my blood pressure in them (in decimal this time, because I can’t read hex without help):
SIG ??? SYS DIA HR ??? ??? ???
5 10 137 113 67 155
5 0 132 86 68 155
6 0 126 84 82 155 83
6 10 128 80 61 155 83
7 0 148 93 65 155 83 64
7 0 121 92 74 155 83 94
7 0 123 83 65 155 83 95
7 0 123 79 78 155 83 129
Hmm. So we’re still looking for the Oscillometric signal peak pressure (OPP)as well as some timestamps (we can calculate Mean arterial pressure - MAP - as (2*DIA+SYS)/3, according to the manual, and Pulse Pressure (PP) is just SYS-DIA). We can see the OPP in the packets that come after each of those above, but they don’t seem to consistently come in on the same line:
10 82 195 80 *121 0 0 0 0 0 0
10 82 223 80 *95 0 0 0 0 0 0
9 1 80 *90 0 0 0 0 0 0
9 35 80 *86 0 0 0 0 0 0
8 80 *103 0 0 0 0 0 0
8 80 *106 0 0 0 0 0 0
8 80 *90 0 0 0 0 0 0
10 80 *88 0 0 0 0 0 0 29 251
Oh. Maybe if I stick them together?
??? SYS DIA HR ??? ??? ??? ??? OPP ??? ??? ??? ??? ??? ??? ??? ???
10 137 113 67 155 82 195 80 121 0 0 0 0 0 0
0 132 86 68 155 82 223 80 95 0 0 0 0 0 0
0 126 84 82 155 83 1 80 90 0 0 0 0 0 0
10 128 80 61 155 83 35 80 86 0 0 0 0 0 0
0 148 93 65 155 83 64 80 103 0 0 0 0 0 0
0 121 92 74 155 83 94 80 106 0 0 0 0 0 0
0 123 83 65 155 83 95 80 90 0 0 0 0 0 0
0 123 79 78 155 83 129 80 88 0 0 0 0 0 0 29 251
Right, timestamps. I first guessed that the four populated contiguous bytes between HR and OPP are a 32-bit unix timestamp, but that would make the first one 9B52C350; either Jul 29 2052 or Dec 08 2012 depending on which endianness the protocol is into. The 8 readings we have here are all from November 10th, at 11:03, 11:31, 12:01, 12:35, 13:00, 13:30, 13:31 and 14:01, which isn’t.. isn’t that.
But note that the number in the 6th column flips from 82 to 83 when we switch from AM to PM - that’s something, and when it does the 7th column resets. And hey - 1, 35, 64, 94, 95.. that seems dangerously close to 12:01, 12:35, 13:00, 13:30 and 13:31 if you were just to count the minutes. What’s going on?
I tried feeding a lot of this into various Als (Kagi gives you access to a few with a nice interface) and I found that they mostly were stupid in ways that made me think. A few times I thought they had “cracked the case” but actually they just made me waste time. But they did remind me e.g. of endianness, so I did get a bit out of them.
I also spent quite a bit of time trying to write some Python that emulated the initial handshake and download button of the interface so that it could push out the data as a stream instead of me having to wrestle it out of Wireshark - again, Al had a habit of giving me incorrect code (although it did turn me on to pyhidapi).
But ultimately I had a deadline, and I had to return the device even though I wanted to spend more time with it. Possibly for the best - while it did give me some reverse engineering practice (which it turns out I really enjoy), I should do some work instead of procrastinating.
My final lesson was a new word - Normotension, normal blood pressure - and a new phrase - White Coat Hypertension, the phenomena of high blood pressure in a clinical setting. Turns out that when you check someone’s blood pressure after giving them an injection, it’s higher than normal.
I don’t think I’d recommend getting your blood pressure tested after your next flu jab. But then, I’m not a doctor.
...
Read the original on james.belchamber.com »
To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".
10HN is also available as an iOS App
If you visit 10HN only rarely, check out the the best articles from the past week.
If you like 10HN please leave feedback and share
Visit pancik.com for more.