HNHacker News
TopNewBestAskShowJobs

daotoad

908 karma · joined November 8, 2016

submissionscomments
daotoad··on Usenet – Let's Return to Public Spaces
The concept of evaporative cooling (from other comments, not the OP) is really interesting.

If you buy the principle, then a way to encourage quality posts and discourage poor posts would be to:

1. Limit the number of posts a person can make. 2. Reward posts that get responses with the ability to make more posts.

Obviously you'd want to add some filigree to these principles to allow members of a conversational thread to post with abandon once they've already joined.

daotoad··on Uses This: Bram Moolenaar
Odd, they forgot to mention his use of emacs.

/me ducks and runs for cover...

daotoad··on My butthole has been a location on Facebook since 2012 – I can’t get it removed
Being 40 means you have had time to accumulate a larger vocabulary for making butt and poop jokes.
daotoad··on Yes Silver Bullet (2019)
The only way we'll see real 10x improvements take hold is for our discipline to mature. As long as we are experiencing high rates of growth, where all it takes is 3-5 years to become "senior", while the voices of the real senior developers are swamped by hordes of newer devs, we will wallow in inefficiency and fail to improve much.

Most of the accidental complexity I see day to day comes from slow accumulation of errors in craft. Need to validate that an ID is a least plausibly valid, "I'll just match it with a regex here", and in 27 other places in the code, each one added in a different sprint. Little things like referring to data that is passed into an api with the variable name "json" when it is really a data-structure that was parsed from the body of an API request. Is this thing I am manipulating a "tab", a "filter", a "type selector" or a "group"? When methods and variables use a mix of conflicting names for the same concept.

Until we learn, as a profession, that shipping working code is not enough, that our code must clearly, concisely, and consistently communicate the core concepts embodied in the program, accidental complexity will bury us.

daotoad··on An alternative argument for why women leave STEM
My only quibble with this article is that the fact that there is a wall related to child bearing and rearing IS institutional sexism.

It's just a different form of it than the "my coworkers constantly stare at my tits and don't take what I say seriously" variety.

We've put women largely in charge of child rearing duties. Obviously, men aren't able to get pregnant and bear children. We are, however, perfectly capable of changing diapers, singing lullabies, and doing laundry.

I'd bet that we would see the same kind of impediments to women rising to the tops of their professions in many demanding fields, fields where if you take too much time to have a life, you are considered broken and uninterested in excellence.

daotoad··on An alternative argument for why women leave STEM
You are ignoring several facts:

1. Pregnancy is very hard on women's bodies. It is not uncommon for health effects like high blood pressure, joint inflammation, and gestational diabetes to become temporarily disabling for expectant mothers. 2. Infant childcare is incredibly expensive. Even at professional levels of compensation, the expense is likely to outweigh the added income from continuing to work. Costs drop significantly once children are potty trained, but remain quite high. 3. Three months of paid maternal leave is very rare. Even with saved time off, taking large amounts of unpaid leave is hard on a family. 4. Breast feeding a child while working full days requires a huge amount of work, above and beyond the exhausting labor involved in having a new baby. If a nursing room is not provided, women often resort to spending a large amount of time pumping milk in the restroom. Which is uncomfortable, unsanitary, and disheartening.

Just because some women have the resources or the stark need to return to work so early does not mean it is possible or desirable for everyone.

We need to have better maternal leave and accommodations. Fathers need to step up and do more of the work. We need to have better paternal leave and accomodations. We need to support affordable child care options. We need to make the above 4 items available to everyone.

daotoad··on 13.3" full color ePaper display
I read a lot of comics, but I also read a lot of regular books. For now, I read using a 10" Chuwi tablet because it gives me a decent, color screen, at a decent size and weight, at a reasonable price.

I would LOVE to have an eink reader that could fulfill this role. I have been watching and waiting for years.

daotoad··on AI Will Eat UI
Define optimally. Seriously, there is always going to be some easily measurable value(s) that will operate as a proxy for "optimal". Even if the model perfectly maximizes the goodness of the proxy values for every customer, the model will still be wrong inasmuch as the proxies are divorced from the actual "optimal". Also, if optimal-ness is focused entirely on maximizing revenue under the current model, the result will be a an automated user-abuse mechanism that entraps the user and forces them to put up with a horrible experience just to eke out a 3% boost in ad impressions and the 0.003% boost in clicks that generates.

And I hate, hate, hate that aspect of Facebook. God forbid you should ever want to find a post a second time. God forbid I should see posts from my friends in a timely manner. Nah, show me posts from banks and cell phone companies that I will not do business with, ever, and show them 50 times.

YouTube Autoplay is a pain in my ass that I keep having to disable.

It's too bad we weren't responsible enough to manage Usenet and email in a Spam-free way. Now we've driven ourselves into a walled-garden, crappy version of Usenet with proprietary clients that serve only the site operators. At least we know where the spam comes from...

daotoad··on You might literally be buying trash on Amazon
I don't care if people sell clean, safe, reasonable things that are gleaned from a dumpster. That's waste reduction and a net good.

What I hate are all the low quality and fraudulent items on Amazon (It's not quite as bad as Ali Express, yet--Ali Express also happens to sell everything ever conceived and people generally accept that a certain portion of things are counterfeit, Amazon pretends to enforce quality.)

This is the opening that Sears should have been waiting for. They used to provide the service of selling a curated selection of pretty much anything you would need. Back in the day they had 3 of everything, you needed a widget, you could go to Sears by buy the "good", "better", or "best" version of that thing at a competitive price.

Sears, if it were managed worth a damn, could do that. They still have stores all over the place to serve as distributed warehouses, show-rooms and customer service centers.

Maybe Target will figure this out. I don't think Amazon will. The closest Amazon has come to addressing this is making their own house brand (a la Kenmore). Which is fine, I guess, if you don't have congress calling you a monopoly. If anything is going to bring Amazon down a peg, it is going to be the ingenuity of fraudulent sellers outstripping the ingenuity of their anti-fraud systems and policies.

daotoad··on AI Will Eat UI
Just Plain Wrong:

Reason 1: Generative Design is a horrible basis for building UIs.

GD requires a well understood model of how the design needs to operate and be built (ie, physics + specifications + machine tool kinematics). We don't have a physics of UI design. GD makes weird, ugly stuff.

Reason 2: Do you not remember how awful Clippy was?

See: https://en.wikipedia.org/wiki/Office_Assistant

TLDR Extract: The program was widely reviled among users as intrusive and annoying,[22][23] and was criticized even within Microsoft... Smithsonian Magazine called Clippit "one of the worst software design blunders in the annals of computing".

Reason 3: Also brought to you by Microsoft: the UI Hell of Adaptive Menus in Office 2000.

See: https://blogs.msdn.microsoft.com/jensenh/2005/10/10/combatin...

TLDR Extract: Adaptive Menus were not successful. In my opinion, they actually add complexity to the interface...Auto-customization, unless it does a perfect job, is usually worse than no customization at all.

daotoad··on AI Will Eat UI
Automatically changing interfaces are terrible.

Static menus are faster that magically changing menus. People want to know where to click to do a thing.

User customizable menus can be faster (when used well) than static menus.

Here's a study: http://user.ceng.metu.edu.tr/~tcan/se705/Schedule/assignment...

IMO, you'd get more mileage out of a menu with "Frequently used commands" that you can lock items into than with an AI rearranging stuff. And the algorithm is much simpler.

The hard part in UI is discoverability not repeatability. We would be wise to develop an easy to use workflow for finding commands based on what the user wants to do. Natural language processing could help here. Find a command: user types "How do I draw a box around some text". The search results should show where to find each command in nested menus, and be able to play an animated workflow example. An AI solution could help a user sift through a result set and find the choice that best matches their needs (for the box example, one way to add a box would be to turn on a border for a given paragraph, another way to get a box would be to add a free-form vector rectangle, positioned on the page).

daotoad··on Things that are illegal to build in most American cities now
The real driver of health benefits tied to employment was that businesses were not allowed to give huge wage hikes during World War II. In order to compete for very scarce workers, businesses added a variety of benefits, including health insurance. Around this time, medicine actually started being effective, which has led to an ever increasing set of costs (now we use million dollar machines and whacky drugs by the bucket load, when it the past they just tried to keep you comfortable or stop you from bleeding to death).

As the cost of health benefits increased, corporations lobbied for tax-exemptions providing this benefit. Congress gladly obliged because it seemed to be an effective way to get everyone (who mattered) insured. This really cemented our current system in place.

daotoad··on Job loss predictions over rising minimum wages haven't come true
Because the way the American social safety net works, you often wind up losing more than $5/hour worth of benefits to get that $5/hour job.

Many low wage jobs are physically demanding, have terrible (or no dependable) schedules, and offer limited hours so as to avoid having to offer benefits. It's not uncommon for low wage workers to juggle two or three jobs in order to get enough hours of paid work to survive. The problem then is that it is very hard to manage schedule conflicts between the jobs when they occur. Too many conflicts can cost you your job. I've seen this happen many times.

Check out this article in Atlantic: https://www.theatlantic.com/business/archive/2016/07/life-af...

Also highly recommend On The Media's multipart investigation into poverty in America: https://www.wnycstudios.org/podcasts/otm/projects/busted-ame...

daotoad··on The Firefox UI Is Now Built with Web Components
It's not just the rendering that makes a website slow.
daotoad··on The perfect programming language
All that and his code examples are bizarre trash.

Despite the way he tries to crap on Perl (5) by referring to a Perl 6 (now Raku) example, I find a Raku FizzBuzz far easier to read than his mess:

    multi sub fb( Int $n where * %% none(3,5) ) { return $n }
    multi sub fb( Int $n where * %% all(3,5) )  { return 'fizzbuzz' }
    multi sub fb( Int $n where * %% 3 )         { return 'fizz' }
    multi sub fb( Int $n where * %% 5 )         { return 'buzz' }

    .say for (1..15).map({ fb($_) } );
Or if you want to name your specialized types:

    subset Fizzy of Int where * %% 3;
    subset Buzzy of Int where * %% 5;
    subset FizzBuzzy of Int where * %% (3&5);
    subset Otherwyzy of Int where not * %% (3|5);

    multi sub sfb( Otherwyzy $n ) { return $n }
    multi sub sfb( FizzBuzzy $n ) { return 'fizzbuzz' }
    multi sub sfb( Fizzy $n ) { return 'fizz' }
    multi sub sfb( Buzzy $n ) { return 'buzz' }

    .say for (1..15).map({ sfb($_) } );
daotoad··on Can the long-lost abalone make a comeback in California?
That's what we thought about abalone, dodos, passenger pigeons and buffalo.

Fugu isn't exactly easy to process for eating, but people are willing to pay a LOT of money for the privilege of eating it.

All you need is the right marketing, and purple urchins will be like hen's teeth within 10 years.

daotoad··on Diamonds Keep Getting Cheaper
Ignoring everything else about the article, the graph of price over time is total crap. If you want to show a change in the real price of something,

1. show the full price range in the Y axis. I'll have none of this clipping off the bottom half of the scale nonsene, please.

2. use a logarithmic scale so a unit of length always equals a percentage change.

3. adjust the price data for inflation. I don't want to compare apples to oranges, bananas, nectarines, and grapes! Give me a single value to consider. Ad 2002 dollar is a different beast from a 2018 dollar.

Death to bad charts!

daotoad··on Can the long-lost abalone make a comeback in California?
Spread this information to any sushi chefs you know. The opportunity to help sustainable fisheries by eating puple urchins into obscurity is huge. It's what our economic system is best at.
daotoad··on Larry Wall has approved renaming Perl 6 to Raku
Perl 6 started out as a plan for the next version of Perl.

Over the years (announced in 2000, delivered in 2015) it evolved into a distinct language.

In the meantime, Perl5 suffered from the Osbourne Effect.

Meanwhile a rift developed in the Perl community. Some are for Perl 5 forever. Some are Perl 6 forever. Some Perl 5 people blame Perl 6 for Perl 5's perception as a dead language. Some Perl 6 people blame Perl 5's reputation for being "write only" and "dead" for difficulty getting people to try Perl 6.

IMHO, both sides are correct, both sides over-state their case.

Renaming Perl 6 has been discussed for close to a decade, by people who are Perl 5, Perl 6, and just plain Perl partisans.

It's been a difficult decision. Many people have worked very hard on both projects, and have strong feelings tied up in the issue. Important contributors to the projects have quit as a result the issues.

This isn't a change that was lightly made. It's far bigger than the Python 2 to Python 3 divergence. It's more like moving from C to C#.

daotoad··on Her iPhone died. It led to her being charged as a criminal
I don't know about UK jurisprudence, but in the US, it should have been easy to file a continuance on the hearing, so it could be rescheduled to a later date.

If it's the same, then she just needed to send a letter to the court outlining the steps she had gone through, and was working on to get documentation for the case. Depending on jurisdiction, she may have had to appear before a judge to make the request.

It's up to the judge, of course, but in 99% of the cases, if you have a reasonable request, then you'll get your continuance.

daotoad··on The myth of inevitable technological progress
The changes aren't random and generally small. It's closer to Lamarck than Darwin.

Remember that successful products aren't necessarily good or beneficial. Tetraethyl lead in gasoline is one example. The Late nineteenth, early 20th century radium craze was full of other examples.

daotoad··on Perl is dying
So the story goes. Care to relate some examples that show how it is worse than any other language?

I’ve seen mind-curdlingly horrible Perl of several varieties (novice, mad genius, and the biggest ugliest balls of mud you’ve ever seen), yet nothing has yet touched even the hem of the horrors I presented over-architected Java ravioli with acute patternitis.

daotoad··on Serverless: slower and more expensive
Cooperative multitasking => Node
daotoad··on Is the era of the $100 graphing calculator coming to an end?
I had an HP28c ( https://www.hpmuseum.org/hp28c.htm ) that saw me through high-school calculus and undergraduate work. In it's day, it was a revolutionary product.

I never got to play with the data sharing stuff, since none of my classmates had such an expensive or geeky piece of kit (I got mine used, but it was still expensive).

daotoad··on Is Perl 6 Being Renamed?
Let me clear that up for you, if you are still in doubt.

Perl5 had a period of slow releases in the 2000s, this changed in 2010 with the release of version 5.12. Since then, Perl 5 has been on a yearly release cycle. The current release is version 5.30.0. When it became clear Perl6 wasn't coming any time soon, some people left Perl. Others knuckled down and wrote some great code that made Perl5 into a much better language. With many core feature additions and deprecations, new CPAN modules, and tooling to support consistent work by teams, the Perl5 language is more expressive and better than ever.

Perl6 took forever, had major internal conflicts, but managed to survive and ship a specification in December 2015, version 6.c (6.a was an alpha version, and 6.b a beta). The Rakudo Perl6 compiler gets monthly releases, but most people install the Rakudo Star distribution, which bundles some extra modules and just makes life a bit easier. Rakudo Star began shipping "A usable Perl 6 compiler" in 2010. Regular releases tracked changes in the compiler.

The Perl6.c spec was announced in December 2015, and the first Rakudo to implement it was released at the same time. Rakudo Star, lagged a bit and released in January 2016.

Here's the Perl6 release announcement: https://perl6advent.wordpress.com/2015/12/25/christmas-is-he...

The Perl 6.d spec was released in November 2018, and the Rakudo 2018.11 version defaults to supporting it.

Here's a link the Perl6 FAQ with more info on the Perl6 versioning and releases. https://docs.perl6.org/language/faq

If you liked Perl5 then, come back and give modern perl5 a try.

Perl6 is an amazingly expressive and fun language to write with.

daotoad··on Is Perl 6 Being Renamed?
If you like OOP you should check out Moose and Moo in Perl 5. https://metacpan.org/pod/Moo

If you want regular Perl5 for Windows, Strawberry Perl is quite nice. http://strawberryperl.com/

Perl6, OTOH, has powerful OOP features like traits all built on a powerful, standard meta object protocol. Its functional programming features have evolved beyond Perl5's excellent support.

Come back and try these things out.

daotoad··on Is Perl 6 Being Renamed?
The type system and multiple get rid of so much “if this then do that” code.

  multi sub eat-pie( Pie slice where *.is-custard ) { ... }
  
  multi sub eat-pie( Pie slice where *.is-fruit ) { ... }

  multi sub eat-pie( Pie slice ) { ... }

  eat-pie( a-slice-of-pie );
That’s just awesome.
daotoad··on Is Perl 6 Being Renamed?
Perl5 has linters (Perl::Critic, Perl::Lint). And warnings to keep you from using ugly features (if you assert compatibility with the 2010 release 5.12, strict mode is automatically turned on).

JavaScript actually copied its `‘use strict’` syntax from Perl's `use strict;` which in Perl is using a pragma, not a magical string literal that reconfigures the compiler.

You want types? Several systems exist, but the leading implementation is Type::Tiny.

A big part of Perl culture in the late 2000s and early 2010s was focused around rooting out horrible old practices and tutorials, defining good practices, and getting tooling to help. Perl Best Practices came out of in 2005. Some effort to describe these tools and techniques as “modern Perl” followed—check out the inaugural entry of the Modern Perl Books blog from 2009. http://www.modernperlbooks.com/mt/2009/01/

Since Perl5 did what you’re asking for, maybe you should check it out and see what Perl 5 looks like in 2019.

daotoad··on Is Perl 6 Being Renamed?
As I said elsewhere in this thread, check out my article for the 2018 Perl6 Advent Calendar.

https://perl6advent.wordpress.com/2018/12/16/day-17-checking...

I walk through the development of a utility for auditing Santa's Naughty and Nice lists. Along the way, I introduce literate programming, multiple dispatch, types, type subsets, links to documentation, perl6 collections, and File IO. And, I've been told I managed to do all this without making the reader they've been dragged over rough ground behind a certain festive sleigh.

The key thing to remember when you start learning a Larry Wall Language is that you only need to worry about the parts you need to worry about. It's more like learning a natural language than a programming language. Learn how to say the things that are important to you, and it will serve you well even if you speak with an accent.

daotoad··on Is Perl 6 Being Renamed?
You can also call Python from both languages. It doesn't mean they are the same.

https://metacpan.org/pod/distribution/Inline-Python/Python.p...

https://github.com/niner/Inline-Python

← PreviousPage 8 of 11Next →