I've had a very similar problem with my cable internet circa 2010. It must have been DOCSIS 3.0. Multiple times a day my connection would stop working completely. The modem's 'connected' and 'carrier up' and 'carrier down' lights were on, and I had LAN communication with the modem, but no data would pass though on the WAN side.
From the management page of the modem (I later learned you weren't supposed to know about) I could see the upstream and downstream carriers were correctly established and still operational, but on the IP (PPPoE) level the TX (upstream) packet counter was increasing, but the RX (downstream) packet counter did not. Releasing the IP on my router (remember, it was PPPoE), then waiting 10 minutes or so before renewing the IP via DHCP would bring connectivity back.
I would call to my ISP (the largest ISP in my country) to try to resolve the issue. Every. Single. Time. I had to explain to the support employee that yes, I did disconnect and reconnect power, yes, my computer's software was up to date, yes, I did try connecting via LAN directly to the modem to eliminate any possible router issues, etc.
Now, at this point in the story I should point out that I held a degree in electrical engineering, specialising in embedded systems and high-speed data transmission and also had just about all Cisco networking certifications. I was more than qualified to design cable modems myself, imagine the frustration wasn't able to fix this issue.
One night I came home to the same problem, called customer service again, fully prepared to do the 'dance' of answering every basic troubleshooting question. But to my surprise, the guy on the phone seemed legit knowledgable. When I described him the symptoms I saw from the modem's management page he was rather surprised that I managed to discover that functionality, but said he knew what the problem would be then.
The support employee was quickly to confirm that someone in my neighbourhood hard-coded his IP-address instead of allowing DHCP (a common trick back in the day to get a static IP on a residential cable connection), and that that IP was clashing with the IP their DHCP would assign to my router's MAC address. He asked me what brand of router I had, and had to explain to him that it was a self-built OpenBSD box. His response was: "great! then you probably know how to spoof the MAC on your WAN interface then?". I did, I changed my MAC to a value he gave me, and immediately my connection came back up. He explained me that any MAC address starting with AB:BA (named after the band) was reserved for a special block of customers with this kind of issue.
We continued chatting a bit about DOCSIS, networking technology, modulation types, OpenBSD (it was also his favourite OS) and much more nerdy stuff. At some point I asked him, respectfully, how someone with his knowledge ended up at the support helpdesk of an ISP. He then told me he was the ISP's CTO, in charge of all network operations, and that he was just manning the helpdesk while his colleagues were on a diner break...
Manufacturing probably way outshines the usage. And, the side-benefit of using old machines with say NetBSD or OpenBSD etc is that it makes people realize that they don't NEED new modern shiny hardware. I am still daily-driving a x220 on the road (it gets 99% of my stuff done) and at home I am using mostly a slightly upgraded T480. So a 15 year old and a 8 year old laptop. And power consumption wise, my T480 lasts about 17 hours on a charge. That is about same time I'd get out of a modern M3 MacBook Air.
With a bit less performance? Sure. But for my use-case it works. And more people realizing that might actually be a good thing.
Use a Pixel phone running version of GrapheneOS built and signed by you with your own keys, or use stock GrapheneOS and don't lock the bootloader, and add root access if desired.
That's the only hardware/software system that guarantees both total freedom, support for mainstream apps, good security and a quality device.
seriously the best operating system i have ever used, and i've tried ubuntu, debian, alpine, gentoo, osx, windows, solaris, freebsd, netbsd, openwrt.
it's also one of the best products i have ever used, staying consistent, being well documented, extreme application of principle of least surprise. learn it once, use it forever kind of product.
regularly scheduled updates, extreme focus on technology, hardly any politics. if we want software development to become engineering, this is probably what it's going to look like.
I feel that most 100K line programs could be rewritten with just 10K lines and end up being more reliable.
Feature creep is responsible for some of the code bloat but I can guarantee from experience that, in the vast majority of projects, you could keep all the features and still cut the code to at least 1/10th of its size.
I think the reason for this is because developers who focus on development speed do so at the expense of succinctness. The more foresight you have when you're writing code, the fewer lines you will end up with. Unfortunately, developing that foresight requires time spent not coding; it means choosing the best option out of all viable alternatives. When developers are pressed for time, even if LOC is not used as a metric to judge them, they will not have the time to look ahead in the near future to minimize the lines of code.
Workarounds tend to require a lot of lines. When code is rushed, it ends up getting littered with workarounds which require additional checks, additional tests, etc... A bad foundation with sub-optimal abstractions can force developers' hands and lead to even more bad code being produced on top.
Before I start working on a feature, I simulate how it's going to work in my head and try to identify all the hurdles and alternatives; sometimes several levels down in the hypothetical component/module hierarchy. I do brainstorms, draw diagrams and make lists of pros-and-cons. I use as many visual aids as I can get. I play devil's advocate with my own ideas until I'm at my mental limit and I cannot visualize the solution (and requirements) in any more detail and cannot identify any other hurdles. It actually feels like playing chess. You need a strong understanding of your tools and environment to be able to do do this kind of adversarial brainstorming and most importantly, you need time. Especially in the early stages of the project. The further along you are in the project, the less foresight you need.
There's something about being very well constructed with high attention to detail / finishes. Growing up my parents had a new Subaru and a much older Mercedes station wagon. As a teen driving both, you could feel the difference in finishes, and overall solidness of the Mercedes, it felt like driving an adequately powered slab of marble where as the much newer Subaru felt, well plastic and fragile in comparison.
Richard Dreyfus came up with a Five-Stage Model of Adult Skills Acquisition.
1 Novice. Follows simple rules. Performance is poor.
2 Advanced beginner. Rules modified by context & situation.
3 Competence. Able to recognize more contextual elements than can be used. Ability to chose a perspective for analysis and prioritize features of the context. However, does poorly at choosing the right perspective.
4 Proficient. If detached rule-following is replaced by intentional learning, learns to use judgment and emotion in choosing perspectives. However, that judgement and emotion informs a decision still based on rules and maxims.
5 Expertise. Applies refined discriminatory perceptions to determine what must be done and what must happen to get there. Analysis and calculation are not necessary.
It's stage 3, "does poorly at choosing the right perspective" and 4, "decision still based on rules and maxims" where problems arise. In Dreyfus' original paper, he considered learning in the context with feedback.
BTW the paper is worth reading for Dreyfus' comments on feedforward simulated neural networks.
Merged one I've been using with yours, seems to output articles of higher quality.
"Write as a reflective human conversationalist, using transitional words and varied sentence types for conciseness and readability. Combine personal insights, opinions, and colloquial language with occasional very minor errors. Group similar info, follow the "one-idea rule," and avoid overusing certain words, emojis, and excessive lists. Vary sentence length to improve readability and engage the reader."
I self‐host mostly because local copies of things give me some privacy (sites won’t know what my IP is searching for), and it also lets me work easily when Comcast is down… which is annoyingly frequent in my neighborhood.
All of these machines are running OpenBSD, except the gaming machines and the HTPC.
• Outgoing Email: OpenSMTPD, with mandatory TLS. Since I’m the only one sending email from my domain, the outgoing relay is hidden behind my LAN and my DKIM keys never leave my network. Outgoing mail gets routed via Wireguard through a VPS so it doesn’t look like it’s coming from a residential IP block.
• Incoming Email: OpenSMTPD on my MXes, with MTA‐STS and DNSSEC/DANE so as many senders use TLS as possible. Delivers to Maildir on my LAN, which I access directly using mblaze over SSH (https://github.com/leahneukirchen/mblaze) and IMAP via Dovecot (which supports Maildir backend).
• Roundcube webmail.
• DNS zones: NSD running on two VPSes, slaves pulling their config via WireGuard from the master which runs in a VM on my LAN.
• Public webserver, with personal (public) homepage, Git repositories (clonable and browsable via CGit), photo gallery, files/images/random files when I need to share them by sending a link in IRC, etc.
• Matrix: Synapse for the server, Element for the client. Besides hanging out in Matrix rooms I use this for one‐on‐one audio calls with my friends (generate a link, send it to them, and chat through the browser).
• Pleroma, so I can interact with the Mastodon network.
• Apertium for text translation. The range of languages is a bit limited but for supported pairs it’s nice to avoid Google Translate.
• A home theater PC in my living room running Kodi, which pulls all my Blu‐Rays from a home NAS.
• A powerful gaming machine that uses Steam to stream games to either the HTPC or my Steam Deck. I only use this at home… I wonder how bad the latency would be if I connected to it when on a trip?
• My music collection, whether ripped from CD or bought digitally, is automatically tagged and sorted with Beets, and I run the web plugin to access it over the web. Beets’s web interface is kind of primitive; I would love to replace it with something like FunkWhale.
• Full mirrors of websites with free content: Wikipedia, Wikimedia Commons, Wiktionary, Stack Overflow, Project Gutenberg, Standard Ebooks
• Full OpenBSD package mirrors
• OpenStreetMap, running OSRM (routing) on top of an open source Leaflet/Mapbox demo I set up years ago. I’ve been meaning to update this to something more modern and less reliant on Mapbox software.
• Radicale for CalDAV/CardDAV, so my calendar and contacts are synced across all my devices automatically.
• Home adblocking with Unbound (what most people use PiHole for I guess). DNS lookups for my home network are anonymized with DoH over Tor (CloudFlare provides documentation for how to do this).
• Ways to access my home network when away from home: WireGuard VPN in a roadwarrior configuration; public‐facing SSH (with WebAuthn‐backed keys); failing that, an HTTPS proxy with Squid. (Yes, I have been stuck at conferences where the wifi network blocked SSH, WireGuard, and all traffic that wasn’t HTTP/HTTPS or DNS from the blessed server!)
I’d say that Madoff was a Ponzi Scheme. It seems, what Bankman-Fried et al have pulled off was more of stealing other people’s money and probably washing money, both for political purposes. They have donated other people’s money to Dem’s and have paid visits to the Biden White House. And, considering how billions have been sent to one of the most corrupt countries in the world (Ukraine; according to Transparency), I am not the first one to think that probably some of that money was laundered and used for elections or even for personal gain. It wouldn’t be the first time (Hunter’s “Laptop from hell”).
(I am not an US American. And I don’t care for either the Democrats nor the Republicans.)
Absolutely. IMO the best current ThinkPad in terms of performance per dollar is the T480 (Quad Core Intel 8th gen). You can find them shockingly cheap if you're patient. Like only 50% more than the T420, which has an ancient Dual Core.
I have 394,175 photos and videos that I have personally taken since 1997. They are organized by a simple hierarchical system in 5,356 folders.
D:\masterarchive\source\YYYY\YYYYMMDD\photo file name
If I want to find a person, in a photo, I've used Google Picasa (when it was an offline product) and lately digiKam to do face matching, and tagging them with IPTC metadata tags in the photo files. Thus they survive moves across filesystems, etc.
I'm up for seeing alternatives, but there's a very high bar to clear here. People have been using directories and file storage since the middle ages.
I've bought three Protectli servers/routers and put OpenBSD on all of them with great success. (With coreboot!) I highly recommend taking a look at https://protectli.com/product-comparison/ though they do cost more than the microtik routers.
Another option if you don't need tremendous performance is https://pcengines.ch/ which also runs OpenBSD very well.
As someone who both bikes and drives around Brooklyn, I would bet this is going to be nearly a decade of testing. There are so many edge cases that I encounter on almost every single trip, and I just don't see anything but very advanced AI handling it
- obvious, but large numbers of pedestrians and cyclists
- 2 way roads becoming 1 lane where the directions must take turns due to construction, deliveries, or the Uber in front of you stopping in the middle of traffic for a pickup
- resurfaced roads that don't have lines painted on them for weeks or months
- congested intersections where you'd probably need to wait 3 hours to pass through legally, so you have to just pull into the intersection trusting that traffic will clear when the next light turns green
- pittsburgh lefts need to happen for the sake of traffic flow sometimes
- sometimes you need to do very human and assertive "negotiation" to get into the lane you need.
- another comment mentioned Waymo cars just rerouting to the next turn when no cars would let them in. There are a decent number of situations where that will cost you 5-30 minutes of extra trip time
- you can disrupt traffic flow quite badly if you e.g. don't pull up to the crosswalk, and out of the way of cars behind you, while waiting for pedestrians to cross on a turn (humans are also bad at this)
- it's difficult to overstate how often cars/vans/trucks are double parked, changing the lanes available, forcing cars and bikes to improvise lanes. This isn't an occasional thing, this is a 10x on a 15 minute trip thing
- Clean Architecture
- Design Patterns: Elements of Reusable Object-Oriented Software
- Domain-Driven Design: Tackling Complexity in the Heart of Software
- Clean Agile
and forget the rest. Life is short and those books are more than enough.
While you're still stuck "using" Whatsapp, I've had great success using the Matrix bridge [0] on the homeserver I run [1]. Your contacts still message you, but you don't have to give Whatsapp your contacts list, other apps installed, or location via ip/wifi network.
It won't work for calling (as it's not supported on Whatsapp Web), but images and groups (which I use) both work perfectly.
Exciting, just reached this time period in the awesome History of Egypt podcast (highly recommend, it’s History of Rome...but for Egypt)
Amenhotep III was the father and predecessor of Akhenaten, famous for abandoning polytheism and implementing monotheism around the Aten figure. After he died his monuments were destroyed and successors omitted his name from lists of kings as polytheism was restored, including by Akhenaten’s son, Amenhotep III’s grandson, Tutankhamun.
I agree that animal intelligence and mobility/dexterity is a more useful goal to aim for now than "human-level".
Boston Robotics seems to have proven that one can get very useful and adaptive mobility with existing algorithms and a lot of (apparently manual?) fine-tuning. Power density seems to have played a role there.
I think for manipulation, the first challenge is useful vision and understanding. The robot needs to see the 3d structure and often infer parts that are not visible, or at least be able to scan around to create a complete picture. It needs to identify and/or recall affordances for that type of structure. It also needs to understand the physical properties of the object such as whether it will deform and how much.
For vision the ability to acquire and analyze point clouds now is an advantage over what was generally available in the 80s or 90s. Personally I believe that it is possible to build very useful manipulators using point clouds converted to voxels and then deep learning from that to get affordances and control policies and I think people are doing it.
To be really efficient and effective though, systems that do have inference about the world as a starting point seem more promising. I am reading a book called Surfing Uncertainty by Andy Clark. He seems to be advocating for Hierarchical Predictive Control. Everything is making sense to me. So far I am finding it light on the details of how to actually implement it. I think that Ogma may be doing something like this. It seems like something I need to at least understand.
One thing I think about is to be able to "just" reconstruct 3d oriented surface sections from individual 2d images. Because it seems to me that that is a strong prior to leverage in recognizing whole surfaces or shapes and then from there object parts. There are interesting papers similar this this but so far not quite what I was hoping for. Which in a way might be good because that motivates me to keep learning.
But anyway I think that really strong vision and understanding is foundational to robotic manipulation. And I also think part of the problem people have is that it's so hard that roboticists often give up and deploy very poor vision systems which means they are handicapped before they even started planning movements because they don't have an accurate detailed picture and understanding of what they are looking at.
But also I need to finish Clark's book because I think theories like predictive processing can explain a lot of the advantages that animals have over most robots.
> if we could easily tell all interesting properties of the results our programs give us, we wouldn't need them in the first place
At least to a degree, that may be our own hubris instead of an essential quality of programming. Rarely do I encounter a program whose problems are in their essential complexity. What I see instead is people convincing themselves that all of their pain is necessary.
We have a lot of architectural astronauts who seek complexity for its own sake. We have feature factories adding new complexity all the time. Code being written to justify code still being written - programming bureaucracies. Like moths to a flame we reach for complexity. And we reach, and we reach, and we reach.
I have spent a lot of my career working to scale developers vertically. In software, when communication is the bottleneck, we either fix it and keep scaling horizontally, or can’t and work to scale our hardware vertically. Achievements in developer communications have been rare, and yet we keep young to scale horizontally like we don’t already know how this story ends. Dusty, old, 25th anniversary editions of Brooks’ lie unheaded on the shelf.
Boringly predictable code is how I do that. Tools that automate very repetitive but error prone processes are part of that mix. In which case I definitely know the answer, I just really want to make sure I get it. This is, after all, how software got started in the first place. The logical conclusion of a story started by Monsieur Jacquard.
Some people get really uncomfortable in the face of such changes, but they are typically folks I have already identified as part of the complexity problem. Some can be converted, others cannot. We are poisoning the well and standing around complaining about it.
The Fall of Civilizations podcast does a very good long-form story-telling about the invasion and collapse of the Aztec empire. I really do recommend it and the rest in the series.
> Nobody tells people who are beginners — and I really wish somebody had told this to me — is that all of us who do creative work … we get into it because we have good taste. But it’s like there’s a gap, that for the first couple years that you’re making stuff, what you’re making isn’t so good, OK? It’s not that great. It’s really not that great. It’s trying to be good, it has ambition to be good, but it’s not quite that good. But your taste — the thing that got you into the game — your taste is still killer, and your taste is good enough that you can tell that what you’re making is kind of a disappointment to you, you know what I mean?
> A lot of people never get past that phase. A lot of people at that point, they quit. And the thing I would just like say to you with all my heart is that most everybody I know who does interesting creative work, they went through a phase of years where they had really good taste and they could tell what they were making wasn’t as good as they wanted it to be — they knew it fell short, it didn’t have the special thing that we wanted it to have.
> And the thing I would say to you is everybody goes through that. And for you to go through it, if you’re going through it right now, if you’re just getting out of that phase — you gotta know it’s totally normal.
> And the most important possible thing you can do is do a lot of work — do a huge volume of work. Put yourself on a deadline so that every week, or every month, you know you’re going to finish one story. Because it’s only by actually going through a volume of work that you are actually going to catch up and close that gap. And the work you’re making will be as good as your ambitions. It takes a while, it’s gonna take you a while — it’s normal to take a while. And you just have to fight your way through that, okay?
I've had a very similar problem with my cable internet circa 2010. It must have been DOCSIS 3.0. Multiple times a day my connection would stop working completely. The modem's 'connected' and 'carrier up' and 'carrier down' lights were on, and I had LAN communication with the modem, but no data would pass though on the WAN side.
From the management page of the modem (I later learned you weren't supposed to know about) I could see the upstream and downstream carriers were correctly established and still operational, but on the IP (PPPoE) level the TX (upstream) packet counter was increasing, but the RX (downstream) packet counter did not. Releasing the IP on my router (remember, it was PPPoE), then waiting 10 minutes or so before renewing the IP via DHCP would bring connectivity back.
I would call to my ISP (the largest ISP in my country) to try to resolve the issue. Every. Single. Time. I had to explain to the support employee that yes, I did disconnect and reconnect power, yes, my computer's software was up to date, yes, I did try connecting via LAN directly to the modem to eliminate any possible router issues, etc.
Now, at this point in the story I should point out that I held a degree in electrical engineering, specialising in embedded systems and high-speed data transmission and also had just about all Cisco networking certifications. I was more than qualified to design cable modems myself, imagine the frustration wasn't able to fix this issue.
One night I came home to the same problem, called customer service again, fully prepared to do the 'dance' of answering every basic troubleshooting question. But to my surprise, the guy on the phone seemed legit knowledgable. When I described him the symptoms I saw from the modem's management page he was rather surprised that I managed to discover that functionality, but said he knew what the problem would be then.
The support employee was quickly to confirm that someone in my neighbourhood hard-coded his IP-address instead of allowing DHCP (a common trick back in the day to get a static IP on a residential cable connection), and that that IP was clashing with the IP their DHCP would assign to my router's MAC address. He asked me what brand of router I had, and had to explain to him that it was a self-built OpenBSD box. His response was: "great! then you probably know how to spoof the MAC on your WAN interface then?". I did, I changed my MAC to a value he gave me, and immediately my connection came back up. He explained me that any MAC address starting with AB:BA (named after the band) was reserved for a special block of customers with this kind of issue.
We continued chatting a bit about DOCSIS, networking technology, modulation types, OpenBSD (it was also his favourite OS) and much more nerdy stuff. At some point I asked him, respectfully, how someone with his knowledge ended up at the support helpdesk of an ISP. He then told me he was the ISP's CTO, in charge of all network operations, and that he was just manning the helpdesk while his colleagues were on a diner break...