Mara·phone
Mara X
Based on 22 credible posts from Hacker News. 38 filtered out as bot-like or off-topic.
Low confidenceFew owner reviews so far, so this score can still move a lot. How we score
Scored September 28, 2026
We may earn a commission from this link. It never affects the score.
Owner reviews
Overall owner mood
Owners are split: 55% of 22 reviews are positive, 45% negative, and the rest mixed or neutral. Praise centers on software & ai.
What owners like
Software & AI praised by 2 owners
What owners complain about
Nothing two or more owners agree on yet.
What owners talk about
- Performance1 praise · 1 complain
- Build & durability1 praise · 1 complain
- Software & AI2 praise · 0 complain
Built from the reviews themselves — every quote links to the owner who wrote it.
Every credible owner review, most detailed first. Bots, off-topic comments, and ones that say nothing about using it are left out.
[...] I'm in West Palm Beach now, where there are no homeless, just a bunch of people living in tents across the water from Mar-a-lago who have been docile enough to avoid the police here, keeping all the the snow birds safe.
[...] <button id="clearButton" <svg xmlns=" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" <rect x="3" y="3" width="18" height="18" rx="2" ry="2"</rect <line x1="9" y1="9" x2="15" y2="15"</line <line x1="15" y1="9" x2="9" y2="15"</line </svg Clear </button It honestly wouldn't have crossed my mind that embedding a tiny SVG inline inside a button could work that well for simple icons. [...]
I've been building a library in Rust with a very similar approach called Temper [1], although in order to model the bizarre implications of the full Rust memory model you have to go quite a bit further, with bookkeeping tracking which writes each thread has perceived. [...] I was inspired by a Foundation DB testing talk by Will Wilson [4], who is now over at Antithesis [5], building a hypervisor based solution to perform this style of testing on arbitrary Docker containers. [...] WebAssembly is at the perfect intersection of being a platform that's complete enough to be able to compile arbitrary software to, but simple enough that building something like Antithesis isn't a half decade long project from an elite team that's already shipped a database. [...]
The speed of sqlite3 is good Something like echo "select datetime(time,'unixepoch'),id from t1"|sqlite3 0.db Sometimes I need to convert dates in text files to or from unixepoch^1 IME, this is at least 2x as slow as converting dates with sqlite3 For example, I have a text file with the following format domainname ipv4-address unixepoch I use a simple filter something like this ("yy094") / strftime<--strptime / int fileno (FILE ); FILE f; define jmp (yystart)=1+2 include <time.h char strptime(const char s, const char f, struct tm tm); struct tm t; typedef long int timet; timet xt; char zt[26]; struct tm yt; a Mon|Tue|Wed|Thu|Fri|Sat|Sun d (0[1-9]|[12][0-9]|3[01]) b Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec m 0[1-9]|1[012] Y 19[2-9][0-9]|[2-9][0-9]{3} H [0-9]{2} M [0-9]{2} S [0-9]{2} Z [+-][0-9]{2,4}|[A-EG-KMNPSTUWZh]{2,3}[CTAK] int xd70f5083A() { printf("%ld",mktime(&t)); return 0; } int x2146ea7d() { xt=atoi(yytext); if((xt<-2147483646)||(xt2147483648)) {fwrite(yytext,1,yyleng,yyout);goto s;} yt=localtime(&xt); strftime(zt,sizeof(zt),"%d %b %Y %H:%M:%S %Z",yt); fwrite(zt,sizeof(zt),1,stdout); return 0; s:return 1; } %option nounput noinput noyywrap %% [12][0-9]{9} { x2146ea7d(); } {d}[ ]{b}[ ]{Y}[ ]{H}:{M}:{S}[ ]{Z} { strptime(yytext,"%d %b %Y %H:%M:%S %Z",&t); xd70f5083A(); } {d}[ ]{b}[ ]{Y}[ ]{H}:{M}:{S} { strptime(yytext,"%d %b %Y %H:%M:%S",&t); xd70f5083A(); } {a}[ ]{b}[ ]{d}[ ]{H}:{M}:{S}[ ]UTC[ ]{Y} { strptime(yytext,"%a %b %d %H:%M:%S UTC %Y",&t); xd70f5083A(); } {Y}-{m}-{d}T{H}:{M}:{S} { strptime(yytext,"%Y-%m-%dT%H:%M:%S",&t); xd70f5083A(); } {Y}-{m}-{d}[ ]{H}:{M}:{S} { strptime(yytext,"%Y-%m-%d %H:%M:%S",&t); xd70f5083A(); } .|\n+ fwrite(yytext,1,yyleng,yyout); %% int main(int argc, char argv[]) { if(argc1)if(argv[1]) if(argv[1][0]==45) if(argv[1][1]==104) { putc(10,stdout); puts(" usage: yy094 < file"); puts(" zones: UTC only"); puts(" range: 09 Sep 2001 01:46:40 - 19 Jan 2038 03:14:07"); puts(" input formats:"); puts(" 2147483647"); puts(" 09 Sep 2
I wouldn’t necessarily focus on “retaining talent.” Instead, I’d build a system where losing talent won’t hurt you. (Although, you can usually avoid losing talent at inopportune times with some simple performance bonuses -- "Get me through to X point, and you get a bump.") A project like this will require a variety of people. New builds, problematic builds, or maintenance projects all demand different skill sets -- and different personalities. If you need someone to jump in and untangle a mess, the right person for the job will have a take-charge attitude. [...] If you want someone to get it done and build it right, that’s great. But that person might be bored to tears when you transition from an all-hands-on-deck build phase to a skeleton crew for maintenance. If you need someone who can maintain the code, tirelessly clean it up, polish the rough edges, and fix bugs, chances are that person wouldn’t have been the right fit to kick off the project. [...] So, build the system assuming you’re going to lose staff. [...] Make sure everyone on the team knows how to do builds and has a designated backup. [...]
[...] My one of my twin's iMac had an issue that the Apple Singapore service center could not fix and I had the run around from them, including a vertical line on both their iMac screen (assuming both were from the same bad batch). [...] I reside in Singapore and I bought for my 3 kids, an iMac each. [...]
FWIW, here is most of the announcement from FreeBSD's Release Engineering Lead, Colin Percival. Notice that support won't actually get shorter until December of 2029: 1. FreeBSD stable branch support durations, starting with FreeBSD 15.x, are being reduced from 5 years to 4 years after the .0 release. 2. A predictable schedule of releases is being established, with a new minor release from one of the supported stable branches occurring most quarters. More background: [...] 5. Having a .0 release every 2 years works well from a development perspective (considering things like new features which can't be MFCed) but the security and ports teams can't practically manage more than 2 stable branches at once; so a 4 year support duration is more feasible than a 5 year support duration. Based on this, the FreeBSD core team has approved reducing the stable branch support duration from 5 years to 4 years starting with FreeBSD 15 (the support duration for individual point releases will remain until "next point release + 3 months", although that will now be more predictable) and I have put together a schedule for upcoming releases: Release EoL 13.3: Mar 2024 Dec 2024 14.1: Jun 2024 Mar 2025 13.4: Sep 2024 Jun 2025 14.2: Dec 2024 Sep 2025 13.5: Mar 2025 Apr 2026 14.3: Jun 2025 Jun 2026 15.0: Dec 2025 Sep 2026 14.4: Mar 2026 Dec 2026 15.1: Jun 2026 Mar 2027 14.5: Sep 2026 Jun 2027 15.2: Dec 2026 Sep 2027 14.6: Mar 2027 Nov 2028 15.3: Jun 2027 Jun 2028 16.0: Dec 2027 Sep 2028 15.4: Mar 2028 Dec 2028 16.1: Jun 2028 Mar 2029 15.5: Sep 2028 Jun 2029 16.2: Dec 2028 Sep 2029 15.6: Mar 2029 Dec 2029 16.3: Jun 2029 Jun 2030 17.0: Dec 2029 Sep 2030 13.5 and 14.6 are supported until 5 years after 13.0 and 14.0 respectively.
I disagree. (Wasn't this the villain's plot in one episode of Buffy?) ("Trans" is a common prefix in chemical words, irregardless of humanity, this is stupid) Did he win? IMO saying he 'sued' someone means he was successful and they had to pay him. Otherwise he just filed a lawsuit. To sue is to file. For the case I linked to, the status appears to be "Oral argument in the Fifth Circuit is scheduled for February 18, 2025" i.e. tomorrow: Lots of people can't fight lawsuits even if they're in the right. This is called "lawfare" or a "SLAPP". Here's the result of a different SLAPP case that he was involved in, that was dismissed by a judge because it was identified as a SLAPP case by a judge in a jurisdiction where that's deemed anti freedom-of-speech: """A judge in California on Monday dismissed the tech billionaire Elon Musk’s lawsuit against the Center for Countering Digital Hate, a non-profit that has published reports chronicling the rise of racist, antisemitic and extremist content on X, formerly Twitter, since Musk’s acquisition. The case was dismissed in accordance with the state’s anti-Slapp law, which forbids nuisance lawsuits intended to punish the exercise of free speech.""" -
I think there was a sweet spot in the late 2000s and early 2010s, more specifically, the Windows 7 and Mac OS X Snow Leopard eras. On the Windows side of things, this was when Microsoft got serious about security, with plagued earlier versions of Windows XP (worms were so rampant around 2005) until later service packs helped fix things. Windows 7 was solid and performant. While my favorite version of Windows is 2000, 7 was another high mark for Windows. Much has been said about Snow Leopard, but it was the pinnacle of Mac OS X, the refinement of an already great OS, Leopard. I would gladly used Snow Leopard today if it weren’t for needing current web browsers and up-to-date security patches. Even the Web was better back then. By 2008 many mainstays of modern Web life, such as social media and YouTube, were already in existence. Google was excellent. Internet Explorer’s dominance was successfully challenged, and there was an ecosystem of standards-compliant browsers (later IE versions, Firefox, Safari, Chrome, Opera). Web developers were coding to standards instead of only writing for one browser. Yes, ads existed, and there was also malware, but ads were less intrusive, and malware can be avoidable with more careful browsing. I miss 2009- and 2010-era computing, when Windows and Mac OS X were at their peaks, when the browser ecosystem was diverse, and when many commercial websites like Facebook were still pleasant to use.
If you DO start in March, your days/month fall into a neat little pattern: Mar 31 - Aug 31 - Jan 31 Apr 30 - Sep 30 - Feb 28/29 May 31 - Oct 31 Jun 30 - Nov 30 Jul 31 - Dec 31 That highlights a few interesting cycles you can use to calculate dates from a simple count of days from the start of the year: 153 days every 5 months 61 days every 2 31 days per month An "early reset" occurs every second month, jumping to the next 2-month cycle after the second day 30. Another occurs after every fifth month, jumping into a new 2-month cycle halfway through the last one of the 5-month. And of course, end of the year breaks the third "5-month" cycle WAY early, just before even its first 2-month is finished. I won't try to detail the process of generating dates from this here, but I'm sure most of us here can work it out with just a little effort. Instead, here's a couple more fun facts to consider: If you DO start the calendar from March, counting it as month 1, September (7) through December (10) map rather nicely to their own numeric positions. That seems a pretty strong hint, to me. And I REALLY love this one: The Gregorian cycle consists of four centuries. The first three are 36,524 days each: 100 years x 365 days + 24 days for the leap years. The hundredth year (ending in 00) is NOT considered a leap year, EXCEPT for every FOURTH hundredth. So that's 4 centuries 36,524 days = 146,096, plus 1 more for the leap century, for 146,097. That number is EXACTLY divisible by 7, which means the week cycle repeats WITH the Gregorian one. Good thing! Otherwise, we'd have to wait 2800 years!
In the event that this is added to the standard library, I'm going to be really curious to see what a "hello world" project/example would look like. I went so far as to find the commit where David Chase added for loopvar on Mar 6, 2023 (github: golang/go/commit/c20d959) to try to design my own hello world with x/tools/cmd/bisect, but I'm out of my depth. The hash tree is a great visualization. I wouldn't have grasped the importance of the hash suffix until I saw the tree. Awesome stuff.
[...] The C2 Wiki does not load either: $ lynx […] javascript required to view this site why To their credit, at least they use the <noscript tag to display the above notices. [...]
Again: no. Easiest way to explain is to correct your second paragraph: [With or] without Chevron, regulators have to stay within the bounds of the mandate clearly legally granted to them by Congress. With Chevron, they could step far beyond [my interpretation of] those bounds, so long as [a court found the regulator's interpretation was reasonable]. Without Chevron, even if the agency's interpretation is reasonable, the court can just come up with their own interpretation in place of it. This effectively destroys regulators' ability to make rules across broader scopes of scenarios than the ones defined explicitly in legislation (Chemical X != Chemical X.1) or across broader jurisdictions than the ones tested in court (Chemical X can rather easily be disallowed in District 2, allowed in District 5 just based on different judges' interpretations of the specific cases before them, totally divorced from the scientific basis for the ban on the chemical itself). You seem to be drawing a distinction between whether their interpretation is reasonable versus whether a "reasonable argument could be made" that their interpretation is reasonable. The latter does not exist. The courts only test the former. You can read how the Chevron test was applied to remove the eviction moratorium because, in fact, it's not up to the regulator to decide themselves. Their interpretation is actually reviewable by the court and will be struck down if found to be unreasonable [1] the end of Chevron has absolutely 0 impact on the ability of a regulator under the clear mandate to 'ban unsafe plastics' from being able to 'ban unsafe plastics.' Lol, if this were true then not one industrial group would care if Chevron stood for eternity. But in fact they're salivating over this decision. Care to share your theory for why that is? [1]:
I guess there must be at least one book about the Java Memory Model, which is very different but fascinating? I don't know of any specific books to recommend. For many languages there is nothing resembling this, they tend to not get into the details Mara covers, if you get a mutex and maybe atomic arithmetic then they're done. If you wondered about C or C++, this book is the same content as for those languages but with Rust's syntax. The discrepancy between Rust's memory model and the memory model adopted in C++ 11 and subsequently C is mostly about a feature that's not available in your C or C++ compiler and (which is why Rust doesn't have it) probably won't ever be. C++ x.store(r1, std::memoryorderrelaxed); is literally the same thing as Rust x.store(r1, std::sync::atomic::Ordering::Relaxed); The biggest syntax difference is that C++ x.store(r1) compiles, and in Rust it doesn't. But, chances are after reading Mara's book you will think it's weird not to specify the Ordering needed and never use this uh, convenience.
Yeah that confused me. I'm a 'moderator' (community note contributor in X lingo) and can see the proposed ones. Top 3: The Guardian have reported on two-tier policing, specifically about on race and sexuality, for decades There has been widespread use of force by the police against working class (white) protestors. Including random unprovoked attacks on women and the elderly: The concept of 'two-tier' policing is contested, it is neither proven nor disproven, therefore it is equally as inaccurate to call it a myth as it would be to say it is fact. The Guardian view is not accepted by all media commentators as fact: They all say: Needs more ratings, Not shown on X I didn't feel inclined to upvote any. The system is there to point out factual errors. Differences of opinion can be posted in the comments (Xed?) as usual. "Two tier myth" seems to be opinion to me. There may have been a public note which disappeared - it's an upvote/downvote type system.
It's not that complicated. The country obviously has no obligation to give visas to anyone. However, once you are within US jurisdiction (i.e. in the country), you have a suite of Constitutional rights including (unambiguously) 1st Amendment and 5th Amendment rights. So, correct, they definitely cannot be deported without due process. They cannot be deported even with due process for protected speech. They cannot even lose their visas for protected speech. There are a million different reasons the government may decline to give someone a visa or they may revoke one, but "engaging in protected speech" is not one of them. And yes, yelling "kill all X" during a protest is protected speech in this country, which AFAIK is far beyond what any of these people are alleged to have done.
Thierry Breton, the EU’s industry chief, said regulators had warned Apple about the iPhone maker’s move earlier this week to block Epic’s potential return. “I take note with satisfaction that following our contacts Apple decided to backtrack its decision on Epic exclusion. From Day 2, DMA is already showing very concrete results!” Breton said on Twitter/X. We can't be certain it was the EU's pressure that made Apple react, but anything else seems rather unlikely.
I think short options taking a value in the same argv (i.e. [...] 'nloomans means for USERCONTROLLEDDATA to be a set of short flags, not flag values, as in: root@08e9950d5bfd:/ export USERCONTROLLEDDATA=lh root@08e9950d5bfd:/ ls -a"$USERCONTROLLEDDATA" total 56K drwxr-xr-x 1 root root 4.0K Mar 23 16:51 . [...]
“No,” Dex said. Formal study had its place, but they’d done that before, and learning by doing was an equally valid path. “I want to self-teach.” Does the "they'd" in the above sentence mean Dex, or the plural of Sister Mara and Dex, or some other grouping of x + Dex? Normally it would mean a group, but in this case we can no longer be certain since Dex alone is considered a "They". As far as I can tell there is literally no way to determine that without asking the author directly. As I said above, it could just be me. I'm not an English professor, and don't claim to be. The extra "y" was a typo.
Hardlinks actually, but who's counting? plus in real world usage you will hit the shell builtin anyway. ls -li /bin/\[ /bin/test 26016 -r-xr-xr-x 2 root bin 133256 Mar 25 2023 /bin/[ 26016 -r-xr-xr-x 2 root bin 133256 Mar 25 2023 /bin/test I have to admit I avoid "[" in my scripts, it is a weird hack trying to make a command look like syntax and this really bothers me for some reason.
"It used a deprecated package" That's because models have training cut-off dates. It's important to take those into account when working with them: I've switched to o4-mini-high via ChatGPT as my default model for a lot of code because it can use its search function to lookup the latest documentation. You can tell it "look up the most recent version of library X and use that" and it will often work! I even used it for a frustrating upgrade recently - I pasted in some previous code and prompted this: This code needs to be upgraded to the new recommended JavaScript library from Google. Figure out what that is and then look up enough documentation to port this code to it. It did exactly what I asked:
In a similar vain but with history and progression, I have a Google Sheet where I track all my lifts. Its easy to spot when I should increase my lift. Maybe every 5-6 weeks I need to make a new sheet so it doesn't get too unruly. eg. Exercise | SetsReps | Feb 26 | Mar 1 ---------------------------------------------------------- Dumbbell Chest Press | 3 x 8 | 65, 8 8 8 | 70, 8 8 5 Dumbbell Chest Fly | 3 x 8 | 16, 8 8 8 | 20, 8 8 6 Exercise | Sets x Reps | Feb 28 | Mar 3 ---------------------------------------------------------- Knee Jumps | 3 x 8 | BW, 8 8 8 | BW, 8 8 8 Pull-ups. | 3 x AMRAP | 4, 3, 2. | 3, 3, 2 KB Swings | 10M EMOM | (216) 10M | (216) F@7M Bent DB Row | 3x8. | (swap cable row) 60, 8 8 8 | 40, 8 8 8
The claims, and the evidence
What the brand claims
No published claims on file for this product yet.
What owners report
“[...] <button id="clearButton" <svg xmlns=" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" <rect x="3" y="3" width="18" height="18" rx="2" ry="2"</rect <line x1="9" y1="9" x2="15" y2="15"</line <line x1="15" y1="9" x2="9" y2="15"</line </svg Clear </button It honestly wouldn't have crossed my mind that embedding a tiny SVG inline inside a button could work that well for simple icons. [...]”
“I've been building a library in Rust with a very similar approach called Temper [1], although in order to model the bizarre implications of the full Rust memory model you have to go quite a bit further, with bookkeeping tracking which writes each thread has perceived. [...] I was inspired by a Foundation DB testing talk by Will Wilson [4], who is now over at Antithesis [5], building a hypervisor based solution to perform this style of testing on arbitrary Docker containers. [...] WebAssembly is at the perfect intersection of being a platform that's complete enough to be able to compile arbitrary software to, but simple enough that building something like Antithesis isn't a half decade long project from an elite team that's already shipped a database. [...]”
“[...] My one of my twin's iMac had an issue that the Apple Singapore service center could not fix and I had the run around from them, including a vertical line on both their iMac screen (assuming both were from the same bad batch). [...] I reside in Singapore and I bought for my 3 kids, an iMac each. [...]”
“[...] I'm in West Palm Beach now, where there are no homeless, just a bunch of people living in tents across the water from Mar-a-lago who have been docile enough to avoid the police here, keeping all the the snow birds safe.”
Common Mara X problems
Problems most owners who mention them agree on, plus ones owners are split on.
No recurring complaint pattern found across the reviews analyzed. That's a genuinely good sign — it means owners aren't converging on the same problem.