908 karma · joined November 8, 2016
Or Perl 6. `do-stuff() if $a.y;` is the Perl6 version. You can even declare your variables to be sigil-less so you end up with `do-stuff() if a.y;` if you want. See my Perl6 Advent Calendar article for a quick tour of the language, available docs, with practical examples focusing on using Perl6's novel features to write a self documenting command line script.
https://perl6advent.wordpress.com/2018/12/16/
I've written code in everything from assembly to ML, Java, and Prolog. Perl6 is the only language I've used that I would "mind-expanding". The more I use it, the I realize how radical its design is.
Sophomoric joke notwithstanding, you've hit on the distinction between a thought out critique and mere criticism.
And there are drivers for everything from PostgreSQL and Oracle to text files and the Azure WMI.
In comparing Python, Ruby and Perl, each relies to a certain extent on symbols in the code to express meaning. Python uses symbols very sparingly, and those it does use are either very much like other languages or established patterns from mathematics, even going so far as to ban braces for indicating structure--nothing is exotic. Perl is the opposite extreme, with to sigils encode variable context (which is a concept foreign to other language) and complex regular expression and quoting schemes built into to language. Ruby sits very much in the middle between these languages.
The use of all non-word symbols to densely encode meaning helps reduce code size at the cost of apparent readability. That's why you think Ruby is "more eloquent". Perl can be even more expressive than Ruby, but it's compactness can intimidate people, leading to defensive "humor".
Real readability comes from good structure and explicit code, whatever the language. It is especially important for developers using dynamic languages to document the contents of their data-structures.
If Python tends to be readable, it comes from a culture that values readability and focuses heavily on choosing a single, consistent style. Not from any inherent technical factor.
This is a nice piece on code readability in real life terms: http://www.pgbovine.net/python-unreadable.htm (TLDR: code may be readable in over small sections, but what really matters is whether you can understand the whole program. If you get lazy, you will make a mess. Be explicit.)
I've done it and the tools can work quite well. The same consistent instrumentation of your code also makes it easy to build really great dashboard monitoring.
All this time building tools costs money and adds complexity to your stack, so, yes, distribution had better be worth it for your business needs before you take it on. Pretty much like any engineering trade-off.
Also missing is level 4: I don't have to work to be at level 3 levels of comfort.
There's a tiny fraction who own significant wealth that are in a special level 5 or higher. "I don't care what anything costs."
Nobody.
"weather this name is an acronym or..." An image labeled "A screen show of the Lisa..." which has multiple items clearly labeled as coming from a Mac... "Furthermore, Jobs had leaved the Lisa team..." Odd unattributed quotes from ??? The article asserts that Macintosh product design was key to its success. Then shows an original Macintosh with a Mac Color Classic 2 (a machine that hardly had an impact) but completely ignores the original clear iMacs (the computer which was part of revitalization of Apple and whose design owed much to the original Mac).
Alternatively, everyone could pretend to be a muslim-environmentalist-communist with strong interests in nuclear chemistry and virology. It isn't possible to watch everyone.
Crap, they're gonna be watching me, now, too.
Are you sure you aren't an agent provocateur?
There could be a hidden assumption on the part of the engineering team that light-skin is "normal" and anything else is a special case. Nobody is saying "I hate black people" or anything of the kind.
Or, as happened with a voice recognition system a former employer used, it was tested on the engineering staff, who happened to be all male. As a result it didn't work well for most women who tried to use it. There was no intentional exclusion of women from the test data, and I'd argue, no intentional exclusion of women from the engineering teams. But it is reasonable to say that systemic sexism that excludes women from engineering careers helped this system fail.
These kinds of problems are difficult to solve, because they aren't active decisions on anyone's part. They evolve out of pervasive conditions, and unconscious biases. At root, the source is still racism, or sexism (or another form of discrimination).
Do ad hock networks lead to fetlock-in?
A hock is a joint in the lower end of a quadruped's hind leg, between the knee and fetlock. It's in analogous position to the ankle in humans.
Of course 'hock' can also mean 'to sell, especially to a pawn broker'.
The word you want is 'hoc' which is Latin for 'this'. You may be familiar with the 'post hoc' fallacy: which is that if event A is followed by event B, event B must therefore be caused by event A. The full name of the fallacy is 'post hoc, ergo propter hoc', which means 'after this, therefore because this'.
The latin word 'ad' simply mean 'to' or 'for'. So 'ad astra' means 'to the stars', an 'ad hominem' argument is to literally direct your argument 'to the person' and their faults.
So finally we arrive at the combination 'ad hoc', which means 'to the purpose'. Ad hoc things are done in purely pragmatic manner, for a particular purpose. They are often short lived arrangements which end once their purpose has been meet or is made moot.
Oh, and you didn't make this mistake, but I'm going to blather about it anyway. 'etc.' is short for 'et cetera', it is not spelled 'ect.', nor 'excetera', nor is the usage 'and etc.' valid. 'et cetera' means literally 'and the rest'--meaning anything, not necessarily just the Professor and Maryanne.
Yes the actual laws of physics can't be broken. We don't know those. We know an approximation of them based on centuries of careful observation and analysis. That approximation is incredibly good, too. It lets us make microchips with 7nm features, synthesize high atomic weight elements, and build spacecraft that have traversed the solar system. Even so, there are things we know we don't know and there are bound to be things we don't know we don't know.
It would be nice if the EmDrive turned out to be a ground breaking demonstration of a hole in our model. We could probably squeeze a century of amazing science out of it. Not to mention the potential practical applications.
But groundbreaking new discoveries that shake the foundations of a developed scientific theory are incredibly rare. So, as awesome as it could be if it were right, the odds were always against it.
What makes the brutalist buildings in the Pacific Northwest beautiful is that many of them are now covered in vegetation, with mosses or vines muting their harshness.
That said, this so-called "brutalist web design" is bullshit. It's just avant-garde design of the 80s applied to web pages.
Plus you can access all this programmatically and not just through the dbish command. Since this is a central part of Perl infrastructure, there are a ton of tools that extend the DBI, from a variety of ORMs like DBIx::Class, to data export and even DDL delta management.
Generalized Database Interface: https://metacpan.org/pod/DBI DBI Shell program: https://metacpan.org/pod/DBI::Shell CSV driver: https://metacpan.org/pod/DBD::CSV
The feature pragma (see https://perldoc.perl.org/feature.html) lets you manage new features on an individual basis. You just write: feature NAME_OF_FEATURE;. For example, feature signatures; In this case adding subroutine/method signature support. This is a compile time check.
If you don't want to hassle with enabling features on a piecemeal basis, you can also specify a version of perl you wish to rely on with use VERSION (see https://perldoc.perl.org/functions/use.html). For example, if want all of the standard features of perl 5.26.1, you say use v5.26.1.
But it most definitely works.
But....
IMO, the project name is a disaster.
If successful it will muddy the water on searches for RxJS (and other Rx) observables.
Please do like the Amber.js team did when they learned of a name comflict and rebrand as Ember.js. That would be awesome.
If your microservice code is significantly harder to manage than your monolith, you've factored it wrong. Which means you shouldn't find yourself constantly working on 6 or 7 different services at once. If so, try a different decomposition.
Saying one team per service is like saying "a team should only handle one or two classes".
This meant, for example, that my team, had our whale, an audio transcoding service, an automated transcription service, a post-phone-call messaging service, and several data integrations.
If you need a whole team to do nothing but maintain a service, it seems to me like you built it to do too much.
If you know Unix, you will already know about 80% of perl. If you know Perl well, you already know a lot of Unix concepts.
Perl is a pain to learn if you don't have a solid Unix background. However, IME, if you acknowledge the sources Perl draws from, look at how they're integrated, and spend some time learning the underlying technical culture, it actually simplifies the learning process.
Interestingly enough, it's also easier to learn a natural language if you spend some time learning the underlying culture.
The claims of 30% faster for a particular workload are reasonable, but what configuration is needed and what exact workload are we talking about? I'd love to see some benchmarking code.
What are the limitations imposed by running in memcached mode? Can you still do clustering?
What other changes are they planning? Site just says "many". Are we talking about memory allocation or persistence changes? Maybe additional interface compatibility modes? It's hard to bet on this when we don't have any idea what else it will bring to the table.
Where possible, I'd really like to see these improvements factored into distinct redis modules and made available as plugins to the core.
Scrapie is a transmissible spongiform ecephalopathy, similar to mad cow disease, in sheep and goats.
I have seen far more 6+ hour interview loops that 40 minute ones.
Maybe each session within the full loop accounts for 40 minutes.
That being said, people have their pet questions they use to sort the wheat from the chaff--if you can't fizzbuzz your way out of a wet paper bag, I am not hiring you. The best questions are more about process than the final answer. Solve an easyish problem, add some features, add some more features. What other ways could you have solved that problem? Why did you choose this way? When would you use a different approach? How does your solution scale?
The worst questions are gotcha questions with a right and wrong answer, `what does the C99 standard indicate is the correct size of a stack frame?`