Right after finishing Electronics vocational school I spent the next year working as an intern at Unicamp (Campinas University in Brazil). The job was at the computer lab of the School of Electrical and Computer Engineering[1]. This was before ethernet (yeah, I' that old), so dumb terminals were linked to the CPUs through RS-232 cables - when I was not burning my fingertips soldering DB-25 connectors I was tinkering with every computer I could get my hands on.
I saw /etc/passwd and asked my boss how to decrypt the passwords. He told me it was a one-way encryption, so the login program would just encrypt the password you provided and compare to the encrypted value. He went on explaining the old crypt algorithm and even made a bet I could not guess his password. He said it was related to a movie.
So at 17 I was hooked and started studying the sources. In the end I just patched and recompiled the passwd binary to store clean text passwords in a hidden file. Later I learned this was called a trojan horse.
And even now, 30 years later, I remember his face when I told the movie was Citizen Kane and his password was "rosebud".
Thank you Miguel and Gorgonio for teaching me about C and Unix! This knowledge paid my rent for 3 decades and I still love the job.
It is a catch 22: unless you are spending at least half your time prospecting new clients it is hard to keep a steady income, but it is hard to invest that much time in the commercial side of your "one man show" if you are not charging high enough.
Every beginner underestimate how much salesmanship it takes to run a successful freelancer career.
It may come as a surprise, but neurotypical people also show stereotypical movements (stereotypy is the term used formally in scientific literature for this behavior).
There is a neural pathway that triggers this to occur in about any human, under the right circumstances - just watch anyone doing something that demands deep focus or concentration combined with fine motor skills.
For example, watch a musician or a someone playing videogame and you can identify motor stereotypical moves in the facial muscles (specially tongue/mouth/jaw).
The stereotypical moves in autistic persons tend to be very characteristic and are easy to spot if you have a trained eye.
So don't worry about moving your toes in patterns or jiggling your leg while you are coding, it is perfectly normal.
* GMO that don't produce viable seeds so I have to buy seeds from you every season.
* GMO that only works with some other supply available only from the same provider (think of a car that only works with gas from Ford).
* Patents on living organisms: a farmer should be allowed to plant the seeds they grew in their own farm, produce hybrids and so on, without paying royalties.
* If GMO strains get accidentally cross-pollinated from a neighbor farm you should not be on the hook for it.
Python is kind of a strange beast - definitely imperative but with some FP-ish features: functions first-class citizenship, list comprehensions, generator functions/expressions (and there is the functools module). It is gaining more and more native immutable collections with each release. This multi-paradigm approach is what makes it one of the best glue-languages out there.
Python lacks tail call optimizations and recursion dept is limited to ~1000, so if your algorithm is not O(log n) or better you may have to convert from recursive to iterative (there is a recipe that makes conversion trivial) but other than that I'm content with its FP-style features.
Have you tried Python's SQLAlchemy, the ORM parent posts are praising? The `sqlalchemy.sql` module is awesome and pretty much maps 1:1 to raw SQL.
Composing SQL expressions using this library instead of using string interpolation/concatenation has several advantages:
* DRY and composition
* safety
* portability (if you have switch the underlying DBMS)
Often the result is as good or better than my raw SQL. The fact that Python has an amazing REPL makes the process pretty much like testing queries in the database prompt but with less cognitive switch between languages.
In the end it is a matter of taste, but I have to agree with parent posts, SQLAlchemy raises the bar for other ORMs.
The space elevator itself would be something outrageously expensive and dangerous to build - but there will always be people willing to take the challenge.
I just finished reading the "Mars Trilogy" by Kim Stanley Robson where there is a tension between the "red" and "green" parties (first group want to keep Mars pristine, the other want to terraform it). The reds even sabotaged Mars space elevator in order to slow down emigration.
I guess it will be like Antarctica, where several countries made territorial claims[1] over it, many of them overlapping.
The UN's 1984 Moon Treaty[2] is dead letter - it has never been defied but is defunct in practice as none of the most prominent space-faring nations have ratified it.
If someone settles in the Moon you can refute their claims over territory there but what else can you do? Set an embargo? Send a military force and try to kick them out? Nuke them? Someone with knowledge and resources to colonize that desolated rock in space is not an adversary to be underestimated...
The moon has ideal conditions for solar energy harvesting: no atmosphere, no weather...
Since Project Apollo in the 1970s it is known that all the materials needed for manufacturing photovoltaic cells are present in lunar rocks and dust. Not saying it is an easy engineering feat, but the raw materials are there.
In Brazil there is a concept called Business Entity Disregarding (Desconsideração da Personalidade Jurídica) that can get both ways: make partners liable for company debts or companies liable for partner debts. It can be triggered when the plaintiff engaged in some kind of asset hiding fraud or there are substantial confusion regarding company/personal assets.
As I understood, once you hire someone in France the labor code makes it virtually impossible to terminate the contract.
In Brazil employers have to pay a fine if they fire a worker without a "fair cause" (~ 3.2% over the sum of all compensation paid to the employee while they worked for you), so the longer someone worked for you the more expensive it gets to fire them.
Interesting, in Brazil all the companies in the chain are liable in a labor-related law suit. Before the 2017 Labor Reform[1], frivolous law suits by former employees were a billionaire market because it used to be a risk-free gamble - after the reform the litigant is liable for exaggerated claims and there was a 46% drop in labor cases[2].
When I look at any market where the labor code is excessively protective, I see high unemployment rates specially among the young - Brazil, Spain, France[3]... I don't know about causation but clearly there is a correlation between employee over-protection and unemployment rates. I think it is the law of unintended consequences[4] in action: the legislator intention was good (protecting employee) but the net result is negative.
If you run a terminal multiplexer like byobu you may want to run it only for the ssh connection, not for every sub-shell (otherwise you may get a warning about running a multiplexer inside another multiplexer session).
I think transcription (even if not perfect) helps a lot when English is not your first language and you are still training your ear. Remember not everybody processes audio the same way, think ASD or ADD people.
I like to use darker film in side windows, but it makes hard to use the side mirrors at night, I would love to replace them with cameras.
Things like night mode and anti-glare would be pretty cool as well.