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.
Yes, it's very difficult to balance and it's been an interesting experience in the sense that no one really cares about what work you've done in the past; if they like you on a personal level they'll hire you.
I'm comfortable doing sales, but it's maintaining that balance that I find difficult – if I spend too much time pitching I make no money as I have no employees to deliver the work and if I spend too much time working I get stuck in a cycle of feast and famine.
Yup - another resource is "the E-myth revisited" which makes the point that if you want to be a baker, don't start a bakery because now you're dealing with taxes, permits, hiring, vendors, marketing, etc - not just baking.
Similarly, if you want to spend all your time programming, a true, short term consulting business isn't going to get you there.
I'd assume that (if all goes well) you'll bill 1000 hours a year (about 50% utilization with the balance going to sales, marketing, accounting, updating software, keeping up to date with the industry, etc). It's conservative (assuming you sell enough to be busy 40+ hrs a week every week), but it's better than assuming you'll bill 2000 hrs (40 hrs x 50 weeks) and finding you have to work 70 hours every week just to get by.
I'd just like to offer a doubling down on this. If you are a software consultant you are first a salesmen and second a software developer (maybe third if you include marketing as a separate category from salesman)
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.
Strongly agreed. GM proponents try to confuse the issue with what's natural vs unnatural, that kind of thing, but for me (and you) it's never about that; GM is a tool, like a knife, neither got nor bad but for how you wield it. Monsanto want it as a form of IP and lockin.
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.
I guess many beginner developers haven't realize this feature of Python yet. There are a couple of lib to enhance the FP feature of Python. Like itertool, functool, maybe more. In PySpark there are many functions take other function as parameters.
Another language is JavaScript. It uses function as parameter all the time but often just one time but not in a general way. Seems no JavaScript developer really seriously care about the term FP or OO.
>Seems no JavaScript developer really seriously care about the term FP or OO.
Oh no, they care. The reason it doesn't seem like FP is big in the web dev world is because of reactive programming paradigm.
Reactive programming paradigm is designed so when one part of the program is processing it doesn't lock up the UI elements. This defaulting to being thread safe and lock free comes from the FP world.
Reactive programming is a marriage between functional programing and procedural programming paradigms and is incredibly popular. I suspect it is far more popular in the front end world than FP is in the back end world, showing their adoption, despite different, is stronger.
--
On the backend side of things, many of the popular languages have been slowly gaining FP toys, not just Python. C++, Java, Scala, and so on..
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.
Correct, the moon has a lot of aluminum and iron in its composition, once you can put a smelter and forger on the moon you have access to an endless stream of girders and other materials to make stuff out of. That stuff might not be strong enough for space elevator construction but there are plenty of other things you could use it for.
Whether any of that would be economical is another matter.
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.
That sweet Helium 3 nuclear fusion :) .
Oh, wait, it would be just wasteful to use aneutronic fusion to smelt metals on the moon. You could probably sell the Helium 3 back on Earth and just use regular nuclear fusion to do that.
you dont even need a smelter/forger if you want to build a massive space colony at the L1 lagrange point (which the moon elevator would pass through). Just pack the raw lunar regolith into prefab plastic sheeting similar. this is similar in concept to inflatable space habitats with the added benefit of radiation protection and thermal insulation.
Not a snark, but how long before the is some sort of preservationist, nationalist, or other, declaration that the moon isn't they to be exploited.
I do not know how much is in place already with regards to regulation but you can be damn sure nations and people will be tripping over themselves once someone does find a means to make money using the moon for resources.
the fantasies of space elevators appeal the geek/nerd in many of us but as a world we are far from the need of one if not too far from being united to having one. throw in there are just enough parties with the means to damage or destroy the ground side of one if ever built
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...
I don't think there are that many parties on the moon with the means to "destroy the ground side". In fact, as of right now there are actually zero. (Though that would probably change should a lunar space elevator be developed.)
"With a space elevator in the moon you can use raw material from the moon to assemble huge stations and ships in space."
Yeah, you really believe its trivial to work in space? Repairing the Hubble cost billions, I can't imagine the cost of building 1 ship in space (from stuff manufactured on the moon, which itself would be so costly I can't even imagine).
The space elevator itself would be something outrageously expensive and dangerous to build - but there will always be people willing to take the challenge.
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.
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.
There is definitely a causation for high unemployment by such laws. But it actually goes even deeper.
In France for example, it is difficult for a company to fire an employee once they are legally hired.
Oracle, for example, has a policy of initiating an "intra-country transfer" where the employee is mandated to relocate from Paris to Montpellier. Not everyone wants to uproot their family like that. And then if they do accept the move, next year Oracle will relocate them to Bordeaux...
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.
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.