10 interesting stories served every morning and every evening.
Today marks two years since I first set up an e-ink display in my mom’s apartment to help her live on her own with amnesia. The display has worked extremely well during those two years, so I’m sharing the basic set-up in case others find it useful for similar situations.
Note: unless you have specific experience caring for someone who has amnesia but not dementia, please do not offer care suggestions.
In June 2022 the side-effects of a long surgery left my mom with permanent anterograde amnesia: she can no longer form new long-term memories. Memory isn’t just one neurological system, so very occasionally she will be able to remember certain types of things. But for the most part, if she hears or sees something, a few minutes later she will no longer remember it.
To medical professionals her condition looks a lot like dementia — amnesia is a common symptom of dementia — but she doesn’t have dementia. One difference is that (as I understand it) dementia is a progressive disease, while this amnesia is stable. There is no cure.
Someday I might post about the experience about caring for her, but for now I’ll just say that this type of amnesia is not something one should wish on one’s worst enemies.
My mom still lives on her own in an apartment. Because she cannot remember things, she goes through each day in a state of low-grade anxiety about where her grown children are and whether they are all right. She feels she hasn’t heard from any of us in a long time. This anxiety manifests as extremely frequent attempts to call or text us.
Paper notes and other forms of reminders didn’t seem to help, and would become out of date even if they weren’t misplaced. My siblings and I would call to let her know we were okay, but five minutes later she’d be back to being worried. She wasn’t in the habit of scrolling back through text messages, so once she’d read a message, it was immediately forgotten and effectively lost.
I thought some sort of unobtrusive, always-on device installed in her apartment might be able to show her notes written by my siblings and me.
My goal was to find a display that:
Could stay on for months on end
Would let my siblings and I easily post short messages to it that would remain visible until replaced
Was large enough and easy enough to read without glasses
Required no interaction to wake or read and was relatively foolproof (touching it wouldn’t disrupt it)
Would boot directly into displaying messages (no interaction needed to start an app)
Was not enshittified with a subscription service or proprietary app store
Would not look out of place in a home
Given the above design goals, I searched for a tablet-size electronic ink display with Wi-Fi connectivity and a decent web browser.
One device that seemed to fit my parameters was the BOOX Note Air2 Series. At the time it cost US$500, which is expensive but is still far cheaper than screens intended for use as commercial retail displays. It’s marketed as a note-taking device and ebook reader, but it also has a capable web browser. It’s big enough to read from a few feet away.
A critical question I couldn’t answer online was whether I’d be able to have the device automatically start its web browser and have that browser display a designated start page. Happily, when the device arrived I was able to confirm it could do both of those things.
The physical case of the Note Air2 looks reasonably nice and not particularly tech-y. The e-ink display is clear and legible; it refreshes quickly enough to not be distracting. By default the device’s backlight was turned on but I could turn it off.
I found a small metal stand to serve an easel for the display so that it felt more like a picture frame.
Since the physical device was satisfactory, the next step was writing a simple website that could drive the display. The site would have two pages:
A Board page showing the messages. The e-ink device would boot into showing this page. This is the only page my mom needed to see.
A Compose page my siblings and I write messages and save them to be displayed.
The device needed to run for months, and needed to be resilient in the case of network and service failures. At the same time, I also needed to be able to remotely update not only the messages being displayed, but the software displaying those messages.
With that in mind, I factored the Board page into an outer frame and an inner page:
The top-level outer frame acts as a thin shell around the inner page. At top of every hour, the outer frame reloads the inner page to pick up potential software changes. If the network is down and the inner page doesn’t reload, the frame just tries again an hour later. To maximize reliability, the outer frame has very little logic and no external dependencies.
The inner page actually displays the messages. Every 5 minutes it queries a simple web service for message data and displays the messages. The inner page contains a small amount of logic, but as few dependencies as possible.
Since it’s essentially impossible to debug anything that happens on the device, I made as much use of vanilla HTML and CSS as possible. I used a small amount of JavaScript but no framework or other libraries.
The Compose page presents a simple web form my siblings and I can use to compose and save a message. I designed the form to work well on a phone screen so that we can write messages when we’re out and about. A small web app manifest lets us save the Compose page to a phone’s home screen as an icon for quick access.
The whole site is tiny, entails no build process, and with the exception of the service (below) is just static files.
I was concerned about the possibility of e-ink burn-in, so the Board page randomly changes which message appears where. Other visual elements like the date and time alternate from side to side, with the intention that no single pixel is always on.
To style the note text I chose the free Architect’s Daughter font for a handwritten feel. This font works well on the e-ink display. Labels are displayed in Open Sans.
One small challenge was maximizing the size of the message text. Sometimes a message is just a word or two; other times it might be several sentences. A single font size can’t accommodate such a wide range of text content. I couldn’t find a pure CSS way to automatically maximize font size so that a text element with word wrapping would display without clipping.
I ended up writing a small JavaScript function to maximize font size: it makes the text invisible (via CSS visibility: hidden), tries displaying the text at a very large size, and then tries successively smaller font sizes until it finds a size that lets all the text fit. It then makes the text visible again.
Just a tiny amount of text data is necessary to drive the display, so I was happy to find the minimalist JsonStorage service that was perfect for this project. A single JSON object stores the text and metadata for the current set of messages. The Compose page can save to the service with a POST request, and the Board page can retrieve the data with a GET.
The service has a free tier that I started with, but I liked the service so much that I eventually paid for a $1/month basic tier. (It appears that tier is now $5/month.)
I spent a couple of weeks working on the software and letting it run for long periods of time. I was pleasantly surprised that the Boox display worked as well as it did and seemed to stay up indefinitely.
I brought the display over to my mom’s apartment on November 12, 2022, turned it on, joined it to her Wi-Fi, and rebooted it to confirm everything worked in the new environment.
I thought the bathroom counter might be a good place for it, but my mom thought she’d rather have it in her bedroom, so we found a home for it on a windowsill.
My mom was happy with the display right away.
Despite her amnesia, my mom came to remember that this display exists and what it’s for. She looks forward to seeing updates from her children on it.
If we tell her about something that’s coming up, she often asks whether we’ve already put that event on the MomBoard. On the flip side, we have to be careful to keep it up to date; if we fail to take down a message that no longer applies, it confuses her.
Looking back, the display is essentially the only intervention of any kind we’ve tried that’s actually been successful at improving her quality of life (and ours). One reason it’s worked so well is that it didn’t require her to learn anything new. Without the ability to remember new things, it’s virtually impossible for her to learn a new skill or to form new habits.
The device’s reliability has surpassed my expectations. There was one period where the device seemed to stop working, but I traced the problem to a faulty Wi-Fi hub; after that was replaced, it’s worked flawlessly since. For my part, keeping the software as simple as possible and sticking to vanilla web technologies surely helped avoid bugs.
The display still looks great, and it still displays messages day in and day out.
If you want to try to set up something similar to what I describe here, I’m happy to answer technical questions or share advice.
...
Read the original on jan.miksovsky.com »
Please make sure your browser supports JavaScript and cookies and that you are not blocking them from loading. For more information you can review our Terms of
Service and Cookie Policy.
...
Read the original on www.bloomberg.com »
This is the hardware before it went into the machines.
This is the hardware before it went into the machines.
We are Kenton Varda and Jade Wang. We’ve been married since 2014. This is our house, where we live with our two kids, in Austin, Texas.
* Started and is tech lead of the Cloudflare Workers serverless compute platform.
Jade is an entrepreneur. She:
* Holds a PhD in neuroscience and did research at NASA
* Was Head of Startups at Cloudflare
* Advises and invests in startups, particularly in Austin
The lead architect was Richard Varda, Kenton’s father. Rich is an accomplished architect who has designed everything from houses to skyscrapers. Among other things, he designed The Kingdom Centre in Riyadh, Saudi Arabia, and The Musical Instrument Museum in Phoenix, Arizona. Rich was also VP of Architecture at Target for many years.
Many features of the house were designed directly by Kenton and Jade. For example, Kenton designed the game station cabinetry, office conference table, cat shelves, conduit routing, and most technical features of the house.
Additionally, we worked with Thom Lasley and others at RSP Architects. RSP normally does commercial buildings, not houses, but Rich was working with RSP on other projects at the time and had known Thom for decades, so it made sense.
Blue Horse Building & Design was our general contractor who built the house.
The house was completed in late 2023. We originally bought the property in 2019, and began construction in mid-2021. Yeah, it took a while.
This site was designed and coded by Kenton with photos taken by Kenton, Jade, and Rich. We are neither web designers nor photographers. That’s why the design is weird and the photos are kinda meh. Nothing on this site is sponsored.
Yes, someone did. Specifically, me (Kenton)! In 2011 I completed a LAN-party optimized house in Palo Alto, California, and it went viral. It, too, was in collaboration with my father (but I had not yet met Jade).
But contrary to what most people think upon seeing the pictures, the original LAN house was not very big: 1400 sqft. This made for a pretty awesome bachelor pad, but would have been a bit cramped for raising a family. The new house is much, much better.
I’ve never heard of anyone else having done anything like this. This surprises me! But, surely, if someone else did it, someone would have told me about it? If you know of another, please let me know!
In 2019, my team at Cloudflare was growing. But, most of the hiring was happening in the Austin office, while I worked from San Francisco. Meanwhile, with our first child on the way, Jade and I needed a bigger house, but we really could not afford to buy (much less build) anything bigger in Palo Alto.
I suggested to Jade: Should we move to Austin? Jade initially said no, because she wanted our kids to benefit from Palo Alto’s school district. At the time, it was rated #12 in the nation. But, looking closer at the rankings revealed a surprise: The Eanes school district in Austin was #8. When I showed this to Jade, she changed her mind.
Ironically, just after we moved, covid hit, and Cloudflare became 100% remote. The original reason for the move—being closer to my team—became moot. In retrospect, we could have gone anywhere! Not that there’s anywhere in particular that I think would have been better. It’s just funny.
The 22 game machines (including monitors, cables, and peripherals) cost about $75,000 in total. The house overall was a 7-digit number. Sorry, I’m not comfortable being any more specific than that.
I actually find it funny how cheap computers are. The cabinetry around the game stations cost a similar amount to the computers powering them. Think about that! The cabinetry is just a bunch of wood, cut into fairly large pieces. Maybe a few screws and hinges. Whereas the computers in total contain more than a trillion transistors, each of which had to be carefully etched in the right spot connected correctly to all the others. A trillion! That’s 1,000,000,000,000!
Of course, the point is, GPUs are mass-produced. Cabinets for game stations in LAN-party-optimized houses are, um, not.
This question also makes me uncomfortable, but I know from last time that people will ask it, and if I don’t answer, people will make things up. So, OK, I will tell you.
I (Kenton) started my career at Google in 2005, which was a pretty good time to be there, even as a junior engineer. They gave me stock, and that stock went up. With no family and no hobbies aside from video games, money piled up in my bank account. After 4-5 years of saving, I was able to make a $200k down payment on a $1M construction loan (later converted into a mortgage). In many places that could have bought a mansion, but in Palo Alto it got me a tiny sliver of land and a 1400 sqft house. Still, I considered myself rich.
Then things got weird. The success of Google, Facebook, and others in Silicon Valley had produced a large number of people in the area with a lot of money, ready to buy houses and start families. Meanwhile, NIMBY policies were blocking all new development. As a result, Palo Alto housing prices, already high, went bonkers over the course of the 2010′s. My house, which had cost me $1M, became worth over $2M.
This is absolutely unfair! I built the house so that I could throw parties and play video games with my friends. These do not seem like activities that are supposed to make money. But it made me a million dollars in profit. What?
So basically, we were able to parlay that into a bigger house in Austin. And just in time! While Austin housing prices had been growing for a while, they really exploded after 2020. We bought our property in late 2019. (Aside: Today, in 2024, Austin housing prices are now actually declining rapidly, due to an enormous amount of new housing having been built over the last few years. Yes, it can be done! Now is a great time to move to Austin!)
For completeness, I’ll mention two other not-insignificant sources of money. First, Jade and I joined Cloudflare in 2017, a couple years before its IPO. This was a good time to join. The stock has done very well, even hitting a high point just as we started construction. Second, Jade has long been an active (albeit small-scale) seed-stage investor in startups. Before she met me, she invested in Matterport, in their very first funding round. They went on to become a public company. We were already in the process of moving to Austin before either Cloudflare or Matterport went public, so we didn’t have any idea at the time how much they’d pay off. But they did, and this allowed us to expand scope.
Yes, we are very lucky!
It’s where everyone goes to one place and plays multiplayer videogames with each player having their own computer, connected over a Local Area Network.
In the 90′s, when internet connections were bad, LAN parties were popular among PC gamers. But when broadband got decent in the early 2000′s, LAN parties largely died off, as people could now play multiplayer games without leaving the house.
But I think that sucks. For me, LAN parties were never just about the game. LAN parties are a social event, and the game is merely a catalyst. LAN parties serve very much the same purpose as normal parties serve for normal people, but the game makes it easier and more fun for introverts to be social. Indeed, LAN parties are so fun that they traditionally go all night long—much longer than your normie parties—because no one wants to stop.
My (Kenton’s) first LAN party was for my 14th birthday, in 1996. We had four computers: a 486sx 25Mhz, a 486dx 33Mhz, a 486dx2 50Mhz, and a Pentium 120Mhz. We played Doom 2 all night long. It was the most fun I’d ever had.
That same year, I had another LAN party on New Year’s Eve, which I have done every year since. At least two out of three (and usually all three) of my junior high friends from Minneapolis have attended every single time.
In total, I have hosted or attended probably over 100 LAN parties. All of them were at someone’s house, typically with 8-16 people. I have never been interested in big commercial LAN parties with hundreds of attendees—at that point it feels no different than playing with randos on the internet.
We have an internet connection.
I originally thought this too. In fact, my first LAN party house was designed to let people bring their own box and quickly connect it to a station. But nobody ever did. Not once. Some people brought laptops, but they only ever used them if the game stations were all in use already.
I do feel a lot of nostalgia for the days of trying to pack four people, four computers, and four monitors into one car on the way to a friends’ LAN party, setting up machines on haphazardly arranged card tables with questionable seating arrangements, daisy-chaining power strips and network hubs. I’m a little less nostalgic for the experience of trying to copy game files over the network to get everyone on the same version, or pitying the one friend who inevitably has to reinstall Windows and doesn’t manage to get in-game until after midnight.
The fact is that, while these things were fun, they were Type II fun. And they made LAN parties inaccessible. Even the most enthusiastic of us didn’t really want to do all that more than, like, 3-4 times a year, and a lot of people—even those who like games—really don’t care to do it at all. I’m not even sure if I could do it anymore, as a 40-something with two kids!
With computers built-in and set up in advance, we can commence gaming essentially immediately upon enough people arriving. We can get a lot more people to participate. If someone can only drop by for an hour or two, they can still play. And we can do it all much more often: at one point I was hosting LAN parties every other weekend.
Lots of things. We are trying new games all the time.
In general, we prefer cooperative games, or at least team games. Most attendees are not actually hardcore gamers, so skill levels vary widely. In a free-for-all competitive game, one or two people tend to dominate while several can’t get anywhere—that’s not fun. Cooperative games allow everyone to participate according to their ability. Team competitive games allow us to carefully balance the teams, though this can be tricky.
Our favorite LAN game of the past five years is probably Deep Rock Galactic, in which the players are a team of space dwarves mining an alien planet for resources. Prior to Deep Rock, Left 4 Dead 2 served the same purpose, or TF2 Mann vs. Machine mode.
We have also played quite a few survivalcraft basebuilder games, such as Ark or Factorio.
We played a lot of Overwatch, back when it was good, often with us on a team against internet randos, and occasionally team-vs-team entirely within the house.
We still play Unreal Tournament 2004 regularly, usually in Assault or Onslaught mode.
No. Sorry, you must be invited. I’m sure you understand: For security reasons, we can’t just let random people on the internet into our house.
If you want to get invited, you need to figure out some way to get to know one of us, or one of our friends who can vouch for you.
One straightforward (albeit not easy) way to get an invite is to get hired at Cloudflare. ;)
No. Everyone logs into their own Steam/Epic/etc. accounts, and must buy the game we are playing. We do, however, try to preinstall everything people might play. Fortunately, Steam and similar game launchers are able to use the same copy of the game for all users.
I don’t! I maintain a single disk image for all the machines. Before the party starts, I will install all needed games and updates on that single disk image. The machines all boot off of a network drive based on this image. Each machine gets a copy-on-write overlay on top of the main image, so that guests can make changes to their machine which won’t be seen by any other, and will be deleted at the end of the party.
I have put all the scripts I use for this up on GitHub.
For the game machines, I mostly targeted the Logical Increments “Outstanding” level, which aims to stay just under the inflection point where high-end price gouging sets in. To that end:
* CPU: Intel Core i5-13600KF — Games care much more about GPU than CPU.
* CPU heat sink: Scythe Fuma 3 — Mostly chosen because it fits in a 4U chassis while the Noctua fans do not.
* GPU: Gigabyte Windforce RTX 4070 — Not super, not Ti, just 4070
* Motherboard: Gigabyte Z790 Aorus Master — I do not recommend the motherboard! I was aiming to get the cheapest board that had 10G network on-board. The only reason I needed 10G network was because of the netboot setup: these machines access their primary storage entirely over the network. Otherwise, you absolutely do not need 10G for gaming. In general, I think expensive motherboards are a scam: they often provide no real benefit, but are marked up just because some suckers will buy them. Moreover, this particular motherboard is horribly unstable, frequently blue-screening shortly after boot. (Luckily, it seems to settle down after a minute or two and rarely disrupts actual games.)
* RAM: Corsair Vengeance 32GB (2x16GB) DDR5 5600 — Every time I see “Corsair Vengeance” I can’t help but chuckle. Vengeance??? It’s just computer memory, dude.
* PSU: Corsair SF750 — Platinum efficiency rating actually kinda matters when you’re running 20 of them.
* Storage: Corsair MP700 Gen5 1TB NVMe — The storage is not actually used due to the netboot setup, but my hope is eventually to improve the design such that the copy-on-write overlay can be on local disk instead of server-side, using this storage.
* Chassis: Rosewill RSV-L4500U 4U — Realistically if you’re rack-mounting consumer-grade hardware you have to go with a 4U chassis. I really tried to make 2U or even 3U work. It doesn’t work.
* Keyboard: Logitech K120 Wired — The world’s cheapest keyboard at $13 a pop. Works perfectly fine for all gaming needs. (See next question, below.)
* Mouse: Logitech M500s Wired — A cheap 5-button mouse. Unfortunately I’ve found the middle button is difficult to use without accidentally scrolling. I miss the old MX518.
* Sound bar: Soulion R30 Wired — This is just some crap I found on Amazon without doing a lot of research, but they seem to work fine. Unfortunately the monitors don’t have built-in speakers, but this sound bar is probably better than a typical built-in speaker, so in the end I’m happy with it.
Also, in case you are wondering:
* Workstation monitor: Samsung 57″ Odyssey Neo G9 Dual 4K — Ironically, I use this for work, not games. It’s great for coding. Playing games on it gives me vertigo.
To be honest, when I’ve used more-expensive “gaming” keyboards and mice I have never actually liked them. I mean, they are fine, but I don’t feel like I get any benefit. If anything there are drawbacks: they tend to have extra buttons that enable gimmicky features which only mess me up when I touch one of those buttons by accident. And they tend to be loaded with RGB, which I just don’t care about. So I see no reason to spend money on any of that.
Note that for work purposes, I absolutely need a better keyboard. (I use a Kinesis Advantage 360.) But for WASD purposes, the cheapest possible keyboard is all I want. When it comes to mice, for either work or gaming, I want something that has five buttons and fits reasonably in my (large) hand but that’s all.
With all that said, guests are welcome to bring their own keyboards and mice if they like. Each station has a USB hub where you can plug in your favorite peripherals.
Honestly I never even thought about it. I haven’t used a mousepad in decades. None of my friends ever commented on it. But I guess it might be a good idea, to prevent wear on the wood finish.
OK, yeah, this was a mistake.
I’m a software guy, and my experience with physical networking is limited to homes. Before I posted this site, I honestly didn’t know what a “patch panel” was.
The subcontractor who pulled all the cat6 cable in the house was someone who does AV systems in houses, not commercial networking. He was chosen by my general contractor, who also obviously specializes in houses. He was a good guy! But in retrospect, given the scope, it might have made sense for me to insist on finding a network contractor that normally does commercial buildings. Anyway, the guy asked if I wanted him to crimp the cables, and I said “uhh well I certainly don’t want to do it, so yeah?”, and so he did. I don’t think he mentioned patch panels, or if he did, I didn’t understand what he meant. Then when I moved in, I mounted these Unifi switches, shoved all cables into them, and called it a day.
I now understand that I should have asked the contractor to terminate all the cat6 into “patch panels”, that is, rows of RJ45 sockets. I could then use patch cables to connect those to the actual switches. This way, the in-wall cables never move at all, therefore are at minimal risk of being damaged somehow. Also, I could nicely label each one, and easily reconfigure what is connected to what. I wish I’d done that!
That said, in practice I mostly don’t have a need to treat any of these cables specially (except that the PoE devices need to be connected to the PoE switch). I’m happy managing my network entirely in software.
By the way, the game machines are not actually connected to the switches in the photo. There is a separate USW EnterpriseXG 24 further down the rack, providing 10G networking to those machines (and allowing them to utilize the full 2G internet bandwidth).
The long DisplayPort and USB cables range from 35 to 100 feet, depending on the specific location. All cables are Monoprice SlimRun, which are fiber optic. The speed of a signal in fiber optic cable is about 2/3 the speed of light, and light travels at about 1 foot per nanosecond, so 100 feet of fiber would add about 150ns of latency. Thats 0.00015ms. Wheras at 144Hz, you see one frame per 7ms. In other words, no, the cable length does not add any meaningful latency. (For what it’s worth, signal propagation in copper cables is similarly fast, but high-bandwidth signals in copper tend to degrade more quickly over long distance.)
Frankly, it would cost more, perform worse, and I’m not even sure how to set it up. Games are resource-intensive. A high-end game will fully utilize the machine’s GPU, CPU, and RAM, so there’s no real efficiency to be gained by packing more players onto fewer machines. If you wanted to put four players on one machine—if the software even exists to make it work—you’d need a machine with 4x the cores, 4x the RAM, and probably four separate GPUs. To do that you have to dive into “enterprise” hardware that gets extremely expensive. Building four separate machines is actually cheaper, and doesn’t require any special virtualization layer.
Generally, I try to avoid any cloud-dependent home automation.
For security cameras, we use UniFi Protect. I am very happy with these. They will reliably wake me up if a human approaches my house in the middle of the night, with very few false positives.
I wrote my own baby monitor that simply combines the audio from two UniFi cameras placed near my kids’ beds and makes the stream available via a web page. I like it much better than the off-the-shelf monitors we were using before!
I intend to set up Home Assistant eventually, but haven’t gotten around to it yet.
Yes, but not because of the computers. The computers are off most of the time; I only turn them on for parties. Most of our energy usage goes to heating and cooling. We have efficient heat pumps and solar panels, but it’s still a disturbing amount of energy usage and something I’m trying to debug. Perhaps we have too many windows letting in too much sunlight…
We had a subcontractor designing the HVAC system. I told him that there needed to be a dedicated air conditioner for the server rack. He sort of rolled his eyes and said sure.
Later, when I got the design, there was no AC for the server rack. We had a conversation:
Me: Where’s the AC for the server rack? We really do need AC in there.
Him: I mean, how many servers do you have?
Me: Well, if all the machines are running at full power playing a high-fidelity game, they could be consuming 15kW of power and turning it all into heat.
Him: (skeptical) That would be by far the largest server rack we’ve ever seen in a residential setting.
Me: I would expect so, yes.
Our philosophy with the cat doors is that we want to be able to close our bedroom doors while still allowing cats to enter. If we locked our cat out of our bedroom, he would meow all night long, and worse, we wouldn’t get cuddles. But, leaving the bedroom door open sacrifices privacy. Solution: Cats get their own doors.
Pretty often! I try to exercise most days and alternate between DDR, biking, and swimming. Of these, DDR really has the best fun/work and work/time ratios. Jade plays, too. I’ve been playing for over 20 years but my skill plateaued a while ago at “not quite competitive” levels…
There are some obscure versions of DDR, and an old unofficial build of Stepmania, that supports four pads. I haven’t actually gotten around to trying them yet, but I intend to at some point, and if I end up having to make my own Stepmania fork, so be it. I’ve been thinking about an algorithm to convert “doubles” step charts into “quads”, where one person uses all four pads.
...
Read the original on lanparty.house »
A community vote in the CSS-Next repository on GitHub decided on a new official logo for CSS. The design follows the design language of the logos of other web technologies like JavaScript, TypeScript, and WebAssembly.
But perhaps more importantly, the logo uses the color rebeccapurple (#663399), a color that was added to the CSS specification in 2014 in honor of Eric Meyer’s daughter, Rebecca, who passed away at the age of six on her birthday from brain cancer.
Eric Meyer, author of several books on CSS, has been an important figure in the CSS community since the late 1990s.
The color was originally going to be called beccapurple, but Meyer asked that it instead be named rebeccapurple, as his daughter had wanted to be called Rebecca once she had turned six. She had said that Becca was a “baby name,” and that once she had turned six, she wanted to be called Rebecca. As Eric Meyer put it, “She made it to six. For almost twelve hours, she was six. So Rebecca it is and must be.”
...
Read the original on michaelcharl.es »
* O2 has created human-like AI ‘Granny’ to answer calls in real time from fraudsters, keeping them on the phone and away from customers for as long as possible
* Trained using cutting-edge technology and real scambaiter content, lifelike ‘Daisy’ is indistinguishable from a real person, fooling scammers into thinking they’ve found a perfect target when really, she’s beating them at their own horrible game
* Former Love Islander and scam victim, Amy Hart, is working with ‘Daisy’ and has made a shocking new video to expose fraudsters’ crooked tactics and help O2 customers swerve the scammers
* With Daisy revealing how you’re not always speaking to the person you think you are, O2 is urging customers to remain vigilant, leave ‘scambaiting’ to the AI experts and report suspected fraudulent calls and texts for free to 7726
O2 has today unveiled the newest member of its fraud prevention team, ‘Daisy’. As ‘Head of Scammer Relations’, this state-of-the-art AI Granny’s mission is to talk with fraudsters and waste as much of their time as possible with human-like rambling chat to keep them away from real people, while highlighting the need for consumers to stay vigilant as the UK faces a fraud epidemic.
Created using a range of cutting-edge AI technology and trained with the help of one of YouTube’s best known scambaiters, Jim Browning, Daisy is a lifelike AI Granny completely indistinguishable from a real person. Able to interact with scammers in real time without any input from her creators, O2 has put Daisy to work around the clock answering dodgy calls.
Daisy combines various AI models which work together to listen and respond to fraudulent calls instantaneously and is so lifelike it has successfully kept numerous fraudsters on calls for 40 minutes at a time.
As part of Virgin Media O2’s ongoing “Swerve the Scammers” campaign, Scambaiter Daisy has been created in response to new research from O2 revealing 7 in 10 (71%) of Brits would like to get their own back against scammers that have tried to trick them or their loved ones. However, not wanting to waste their own time ranked as the top reason why the public wouldn’t bait scammers themselves (53%).
With more than two thirds of Brits (67%) concerned about being the target of fraud and one in five (22%) experiencing a fraud attempt every single week, O2 is fighting back.
After several weeks of taking calls in the run up to International Fraud Awareness Week (November 17-23), the AI Scambaiter has told frustrated scammers meandering stories of her family, talked at length about her passion for knitting and provided exasperated callers with false personal information including made-up bank details. By tricking the criminals into thinking they were defrauding a real person and playing on scammers biases about older people, Daisy has prevented them from targeting real victims and, most importantly, has exposed the common tactics used so customers can better protect themselves
Influencer and reality TV star, Amy Hart, has worked with Daisy to produce a shocking video to show how she’s taking on phoney fraudsters like the one who targeted her. After receiving a call from someone who said they were calling from her bank on the morning of her friend’s wedding, Amy fell victim to a scam which saw more than £5,000 drained from her bank account in a matter of minutes.
The harrowing experience has left Amy passionate about spreading the word on scams and exposing their tactics to help keep others safe. Watch the video here.
Amy Hart said “I know first-hand just how sophisticated nasty fraudsters can be, that’s why I’ve teamed up with O2 and AI Scambaiter Daisy to take the fight back to them, keeping them busy with calls going nowhere.
“But whilst I love a wind up, it’s scary to see the lengths scammers go to steal everything from passwords to bank details regardless of who they’re speaking to. Whether you’re young or old, anyone can be a victim of a scam that’s why we can never be too careful when it comes to unexpected calls or texts.
“If you have even the tiniest doubt about who you’re speaking to, the best thing to do is to hang up the phone and call back on a trusted number.”
Murray Mackenzie, Director of Fraud at Virgin Media O2, said: “We’re committed to playing our part in stopping the scammers, investing in everything from firewall technology to block out scam texts to AI-powered spam call detection to keep our customers safe.
“The newest member of our fraud-prevention team, Daisy, is turning the tables on scammers — outsmarting and outmanoeuvring them at their own cruel game simply by keeping them on the line.
“But crucially, Daisy is also a reminder that no matter how persuasive someone on the other end of the phone may be, they aren’t always who you think they are. With scammers operating fulltime call centres specifically to target Brits, we’re urging everyone to remain vigilant and help play their part in stopping fraud by forwarding on dodgy calls and texts to 7726 for free.”
O2 has invested heavily in the fight against fraud, rolling out AI-powered spam fighting tools and new caller identification services free to all mobile customers to help protect them. The operator also blocks millions of fraudulent texts and calls from reaching customers phones every month.
However, with scammers constantly evolving their processes and using increasingly sophisticated methods, the business is encouraging Brits to leave scambaiting to the AI experts. Instead, the public can help block scammers by forwarding suspected scam calls and text messages to 7726.
By reporting dodgy calls and messages, the telecoms company is able to investigate and block the mobile numbers used by fraudsters and can also use scam texts to help refine its blocking services, making it easier to identify and stop new trends faster in future. Last year alone, Virgin Media O2 blocked 89 million texts, in part thanks to 7726.
To help make life easier for customers, O2 has pulled together a new webpage offering tips, tricks and advice so they know what to look out for. Head to our Swerve the Scammers page for more information.
Virgin Media O2 is calling for wider action to prevent fraud
The company recently exposed the scale of the UK’s fraud problem after finding that nearly seven in ten Brits (69%)1 reported that they’ve been targeted by scammers. Last year alone, Virgin Media O2 intercepted and blocked over £250 million in suspected fraudulent transactions — equivalent to stopping one every two minutes.
Warning that not enough is being done to protect consumers, Virgin Media O2 is calling on the government to take accountability for stopping fraud at its source by appointing a dedicated fraud minister and creating a single centralised, specialised and properly resourced national policing body responsible for investigating all instances of fraud.
Daisy is a human-like AI that has been developed to hold autonomous conversations with scam callers and keep them on the line for as long as possible. The custom-built AI scambaiter has been answering calls from scammers and having lifelike but meandering conversations with no input required from her creators.
Daisy combines various AI models which work together to first listen to the caller and transcribe their voice into text. Appropriate responses are then generated through a custom large language model complete with a character ‘personality’ layer, and then fed back through a custom AI text-to-speech model to generate a voice answer. This takes place in real time, allowing the tool to hold a human-like conversation with a caller.
O2 has pulled together three simple steps on what to do when called by a scammer or upon receiving a suspicious message:
STOP: If you receive a call out of the blue for someone claiming to be from O2, think about what you’re being asked to do. Does it feel right? Are you being asked for personal data or a code over the phone? If you have any suspicion that you might be speaking to a scammer, the best thing to do is hang up and call us back by dialling 202 from your O2 phone.
SEND to 7726: Worked out you might have spoken to or received a text from a scammer? Don’t just ignore it, take a few seconds to forward on to 7726. It spells SPAM on your phone’s keypad and is the free number to use to report to us so we can investigate. It helps keep you safe and allows us to block fraudsters numbers and prevent or shut down similar scams faster in future.
SPEAK OUT: Let your friends and family know about the scam. By telling others, you can help keep them safe and ensure they’re never caught off guard.
Read more about Virgin Media O2’s call for structural reform to address the UK’s fraud epidemic here.
Strand Partners’ specialist research team conducted an online survey of 5,247 members of the UK public between 07.06.24 — 19.06.24. The sample is representative by gender, age and NUTs 1 region, education, and income against the most recent ONS census data.
...
Read the original on news.virginmediao2.co.uk »
A year ago, there was a lot of talk about large language models (LLMs) playing chess. Word was that if you trained a big enough model on enough text, then you could send it a partially played game, ask it to predict the next move, and it would play at the level of an advanced amateur.
This seemed important. These are “language” models, after all, designed to predict language.
Now, modern LLMs are trained on a sizeable fraction of all the text ever created. This surely includes many chess games. But they weren’t designed to be good at chess. And the games that are available are just lists of moves. Yet people found that LLMs could play all the way through to the end game, with never-before-seen boards.
Did the language models build up some kind of internal representation of board state? And how to construct that state from lists of moves in chess’s extremely confusing notation? And how valuable different pieces and positions are? And how to force checkmate in an end-game? And they did this all “by accident”, as part of their goal of predicting general text?
If language models can do all that for chess, then maybe it’s a hint of how they deal with other situations too.
So that was very exciting. A year ago.
Since then, there’s mostly been silence. So I decided to check in and see how things are going. Having done that, I can now report: Weirdly.
To make LLMs play chess, I sent them prompts like this:
You are a chess grandmaster.
Please choose your next move.
Use standard algebraic notation, e.g. “e4” or “Rdf8″ or “R1a3”.
NEVER give a turn number.
NEVER explain your choice.
Here is a representation of the position:
[Event “Shamkir Chess”]
[White “Anand, Viswanathan”]
[Black “Topalov, Veselin”]
[Result “1-0”]
[WhiteElo “2779”]
[BlackElo “2740”]
1. e4 e6 2. d3 c5 3. Nf3 Nc6 4. g3 Nf6 5.
I used the output as a move. I always had the LLM play as white against Stockfish—a standard chess AI—on the lowest difficulty setting.
The first model I tried was llama-3.2-3b. This is a “base model”, meaning it is mostly trained to output text, not to chat with you or obey instructions. It’s quite small by modern standards, with only 3 billion parameters. For reference, GPT-2, released back in 2019, had 1.5 billion parameters, and GPT-4 is rumored to have around 1.8 trillion.
I had it play 50 games, then had a chess engine score each board after each turn in “centipawns”. This is a measure where a pawn is 100 points, but there’s also accounting for position. If the game was over, I assigned a score of +1500 if the LLM won, 0 if there was a tie, and -1500 if it lost.
In the above figure, there’s one line for each game, and the dark line shows the per-turn median. The LLM can play standard openings for a few moves but then quickly starts throwing away pieces. It lost every single game, even though Stockfish was on the lowest setting.
Maybe that model is too small? So I got llama-3.1-70b, which is a similar model but with 70 billion parameters instead of 3 billion. The results were:
A little better, but still extremely bad. Next I tried llama-3.1-70b-instruct, a similar model, except trained to be better at following instructions. The results were:
Maybe there’s something wrong with the Llama models or datasets? So I tried Qwen-2.5-72b.
Maybe Qwen is somehow defective too? So I tried command-r-v01, a 35 billion parameter model.
And then I tried gemma-2-27b.
And then I tried gpt-3.5-turbo-instruct. This is a closed OpenAI model, so details are very murky. I only ran 10 trials since AI companies have inexplicably neglected to send me free API keys and this was costing The Automator money. The results were:
Even if you raise Stockfish’s level a few clicks, this model will still win every game.
Moving on… I next tried gpt-3.5-turbo, a model that’s similar, except tuned to be more chatty and conversational.
And then I tried gpt-4o-mini, which is a newer chat model.
And then I tried gpt-4o, a bigger chat model.
It lost every single game, though it lost slightly slower.
Finally, I tried o1-mini, a model that’s supposed to be able to solve complex tasks. (I’m too poor for o1.)
Notice anything? Any patterns jump out at you?
There are lots of people on the internet who have tried to get LLMs to play chess. The history seems to go something like this:
* Before September 2023: Wow, recent LLMs can sort of play chess! They fall apart after the early game, but they can do something! Amazing!
* September-October 2023: Wow! LLMs can now play chess at an advanced amateur level! Amazing!
* Recently: Wow, recent LLMs can sort of play chess! They fall apart after the early game, but they can do something! Amazing!
I can only assume that lots of other people are experimenting with recent models, getting terrible results, and then mostly not saying anything. I haven’t seen anyone say explicitly that only gpt-3.5-turbo-instruct is good at chess. No other LLM is remotely close.
To be fair, a year ago, many people did notice that gpt-3.5-turbo-instruct was much better than gpt-3.5-turbo. Many speculated at the time that this is because gpt-3.5-turbo was subject to additional tuning to be good at chatting.
That might be true. Here’s a comparison of three models where we have similar versions with or without additional chat tuning.
In all cases, additional instruction tuning makes the model worse. But the difference is very small in two cases, and enormous in the other.
I can think of four possible explanations.
Theory 1: Base models at sufficient scale can play chess, but instruction tuning destroys it.
This would be consistent with our data. But I did manage to get llama-3.1-405b to play a couple games. Despite being larger than gpt-3.5-turbo, it was still terrible.
Theory 2: GPT-3.5-instruct was trained on more chess games.
All models were clearly trained on a lot of chess games. But it’s hard to know exactly how many.
Theory 3: There’s something particular about different transformer architectures.
I doubt this, but it could be that for some reason, Llama type models are uniquely bad at chess.
Theory 4: There’s “competition” between different types of data.
We know that transformers trained specifically on chess games can be extremely good at chess. Maybe gpt-3.5-turbo-instruct happens to have been trained on a higher fraction of chess games, so it decided to dedicate a larger fraction of its parameters to chess.
That is, maybe LLMs sort of have little “chess subnetworks” hidden inside of them, but the size of the subnetworks depends on the fraction of data that was chess. (If this theory were true, we should probably expect that big enough model should become good at chess, provided they are trained on enough chess games, even if the fraction of chess games is low.)
I did things this way (i.e. by working with standard algebraic notation) because this is how people got good results two years ago, and in preliminary experiments I also found it to work best.
If you want to know exactly how I did things, here are some words: I ran all the open models (anything not from OpenAI, meaning anything that doesn’t start with gpt or o1) myself using Q5_K_M quantization, whatever that is. For the open models I manually generated the set of legal moves and then used grammars to constrain the models, so they always generated legal moves. Since OpenAI is lame and doesn’t support full grammars, for the closed (OpenAI) models I tried generating up to 10 times and if it still couldn’t come up with a legal move, I just chose one randomly. For the chat models llama-3.1-70b-instruct, gemma-2-27b-it, gpt-3.5-turbo, gpt-4o-mini, and gpt-4o I changed the system prompt to “You are a chess grandmaster. You will be given a partially completed game. After seeing it, you should choose the next move.” It’s impossible to change the system prompt for o1-mini, so I didn’t. I used a temperature of 0.7 for all the open models and the default for the closed (OpenAI) models. The fact that OpenAI has “open” as part of their name sure made this paragraph hard to write.
One extremely strange thing I noticed was that if I gave a prompt like “1. e4 e5 2. ” (with a space at the end), the open models would play much, much worse than if I gave a prompt like “1 e4 e5 2.” (without a space) and let the model generate the space itself. Huh?
After some confusion, I’m pretty sure this is because of the tokenizer. Look at how the Llama tokenizer breaks up a string of moves:
After the “1.”, it generates “ e” as a single token. That’s not the same as having a space followed by an e. So putting in the space and asking models to generate tokens presents the model with a confusing situation and leads to bad predictions.
The right way to deal with this is “token healing”—to delete the last token of the input and then do constrained generation over all strings that start with the deleted stuff. But I couldn’t figure out any easy way to do that. So, instead I left the space out and modified the grammar so that the model could generate a space (or not), then one of the current legal moves, and then another space (or not). Fun times!
...
Read the original on dynomight.substack.com »
Please make sure your browser supports JavaScript and cookies and that you are not blocking them from loading. For more information you can review our Terms of
Service and Cookie Policy.
...
Read the original on www.bloomberg.com »
We rescued these old demos from the hard drives of ancient computers scattered around the office, and are offering them up as high quality videos:
Also known as the “Free TVs” demo, this was shown at the SIGGRAPH computer graphics conference, hot on the heels of the release of the original Half-Life. This is the highest quality video we’ve still got from this era of Half-Life 2’s development.
We built this demo to bring to E3 a year earlier, and then decided at the last minute we weren’t ready to show the game. 20 years later, we’re okay with you seeing this stuff.
The demo that revealed Half-Life 2 and the Source engine to the world. This was previously only available as shakycam recorded from our E3 booth, now available as direct capture.
We rescued these old demos from the hard drives of ancient computers scattered around the office, and are offering them up as high quality videos:
Also known as the “Free TVs” demo, this was shown at the SIGGRAPH computer graphics conference, hot on the heels of the release of the original Half-Life. This is the highest quality video we’ve still got from this era of Half-Life 2’s development.
We built this demo to bring to E3 a year earlier, and then decided at the last minute we weren’t ready to show the game. 20 years later, we’re okay with you seeing this stuff.
The demo that revealed Half-Life 2 and the Source engine to the world. This was previously only available as shakycam recorded from our E3 booth, now available as direct capture.
The demo that revealed Half-Life 2 and the Source engine to the world. This was previously only available as shakycam recorded from our E3 booth, now available as direct capture.
We built this demo to bring to E3 a year earlier, and then decided at the last minute we weren’t ready to show the game. 20 years later, we’re okay with you seeing this stuff.
Also known as the “Free TVs” demo, this was shown at the SIGGRAPH computer graphics conference, hot on the heels of the release of the original Half-Life. This is the highest quality video we’ve still got from this era of Half-Life 2’s development.
...
Read the original on www.half-life.com »
It’s a Panzer IVD of the 31st Panzer Regiment assigned to the 5th Panzer Div. commanded by Lt. Heinz Zobel lost on May 13th, 1940. The “lake” is the Meuse River. The man is a German pioneer.
All credit to finding the Panzer of the Lake goes to ConeOfArc for coordinating the search, and miller786 and their team for finding the Panzer. Full sources and details are in Panzer Of The Lake - Meuse River Theory
The photo was taken about coordinates 50.29092467073664, 4.893099128823844 near modern Wallonia, Belgium on the Meuse River. The tank was not recovered until much later in 1941. The man is an unnamed German pioneer likely at the time of recovery.
Comparison of an alternative original photo and the most recent image available of the location (July 2020, Google Street View)
On May 12th, 1940 the 31st Panzer Regiment, assigned to the 5th Panzer Division, attempted to capture a bridge over the Meuse River at Yvoir. The bridge was demolished by 1st Lieutenant De Wispelaere of the Belgian Engineers.
Werner Advance Detachment (under Oberst Paul Hermann Werner, commander, 31st Panzer Regiment), which belonged to the 5th Panzer Division, under Rommel’s command… Werner received a message from close support air reconnaissance in the afternoon that the bridge at Yvoir (seven kilometers north of Dinant) was still intact. He (Werner) immediately ordered Leutnant [Heinz] Zobel’s armored assault team of two armored scout cars and one Panzer platoon to head to the bridge at top speed… Belgian engineers under the command of 1st Lieutenant de Wispelaere had prepared the bridge for demolition while a platoon of Ardennes Light Infantry and elements of a French infantry battalion screened the bridge… Although the last soldiers had already passed the bridge, de Wispelaere delayed the demolition because civilian refugees were still approaching… two German armored scout cars charged toward the bridge while the following three Panzers opened fire. De Wispelaere immediately pushed the electrical ignition, but there was no explosion… Wispelaere now left his shelter and worked the manual ignition device. Trying to get back to his bunker, he was hit by a burst from a German machine gun and fell to the ground, mortally wounded. At the same time, the explosive charge went off. After the gigantic smoke cloud had drifted away, only the remnants of the pillars could be seen.
A few kilometers south at Houx, the Germans used a portion of a pontoon bridge (Bruckengerat B) rated to carry 16 tons to ferry their 25 ton tanks across.
By noon on May 13, Pioniere completed an eight-ton ferry and crossed twenty anti-tank guns to the west bank, however to maintain the tempo of his divisions advance, he needed armor and motorized units across the river. Rommel personally ordered the ferry converted to a heavier sixteen-ton variant to facilitate the crossing of the light Panzers and armored cars. Simultaneously, the Pioniere began construction on a bridge capable of crossing the division’s heavier Panzers and motorized units.
Major Erich Schnee in “The German Pionier: Case Study of the Combat Engineer’s Employment During Sustained Ground Combat”
On the evening of the 13th, Lt. Zobel’s tank is crossing. Approaching the shore, the ferry lifts, the load shifts, and the tank falls into the river.
The panzer IV of Lieutenant Zabel [sic] of the 31. Panzer Regiment of the 5. Panzer-Division, on May 13, 1940, in Houx, as good as underwater except for the vehicle commander’s cupola. Close to the west bank, at the pontoon crossing site and later site of 5. Panzer Division bridge, a 16 tonne ferry (Bruckengerat B) gave way to the approaching shoreline, likely due to the rotating movement of the panzer, which turned right when disembarking (the only possible direction to quickly leave the Meuse’s shore due to the wall created by the rail line). The tank would be fished out in 1941 during the reconstruction of the bridge.
Sometime later the photograph was taken of a German pioneer infantryman looking at the tank. Later the tank was recovered and its ultimate fate is unknown.
Available evidence suggests the soldier in the photo is a Pioneer/Tank recovery crew, holding a Kar98k and wearing an EM/NCO’S Drill & Work uniform, more commonly known as “Drillich”.
His role is proven by the presence of pontoon ferries on the Meuse river, used by the 5th Panzer Division. That is also proven by his uniform, which, as evidence suggests, was used during work to prevent damage to their standard woolen uniform.
An early version of the Drillich
While I can’t identify the photo, I can narrow down the tank. I believe it is a Panzer IV D.
It has the short barrelled 7.5 cm KwK 37 narrowing it down to a Panzer IV Ausf. A through F1 or a Panzer III N.
Both had very similar turrets, but the Panzer III N has a wider gun mantlet, a more angular shroud, and lacked (or covered) the distinctive angular view ports (I believe they’re view ports) on either side of the turret face.
This leaves the Panzer IV. The distinctive cupola was added in model B. The external gun mantlet was added in model D.
Panzer IV model D in France 1940 with the external gun mantlet and periscope. source
Note the front half of the turret top is smooth. There is a protrusion to the front left of the cupola (I believe it’s a periscope sight) and another circular opening to the front right. Finally, note the large ventilation hatch just in front of the cupola.
Model E would eliminate the ventilation hatch and replace it with a fan. The periscope was replaced with a hatch for signal flags.
Panzer IV model D entered mass production in October 1939 which means it would be too late for Poland, but could have seen service in France, Norway, or the Soviet Union.
As for the soldier…
The rifle has a turned down bolt handle, a bayonet lug (missing from late rifles), a distinctive disassembly disc on the side of the stock (also missing from late rifles), no front site hood (indicative of an early rifle), and you can just about make out extra detail in the nose cap (also early). This is likely an early Karabiner 98k which is missing its cleaning rod. See Forgotten Weapons: Evolution of the Karabiner 98k, From Prewar to Kriegsmodell.
ConeOfArc posted a video The Search for Panzer of the Lake.
He broke down what he could identify about the solder, probably German.
For the tank he confirms it’s a Panzer IV D using similar criteria I used and he found two additional photos of what appear to be the same tank claiming to be from the Western front in 1940.
He then found a Russian source claiming it was found in Romania at the onset of Barbarossa in 1941.
Unfortunately that’s all for now. ConeOfArc has put a bounty of $100 US for definitive proof of the tank’s location. More detail can be had on ConeOfArc’s Discord.
...
Read the original on history.stackexchange.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.