<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Peeks, Pokes, and Pointers!</title>
  <link>https://garote.dreamwidth.org/</link>
  <description>Peeks, Pokes, and Pointers! - Dreamwidth Studios</description>
  <lastBuildDate>Tue, 12 Aug 2025 20:32:22 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>garote</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>https://v2.dreamwidth.org/10908361/2711609</url>
    <title>Peeks, Pokes, and Pointers!</title>
    <link>https://garote.dreamwidth.org/</link>
    <width>100</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/348150.html</guid>
  <pubDate>Tue, 12 Aug 2025 20:32:22 GMT</pubDate>
  <title>Code commentary</title>
  <link>https://garote.dreamwidth.org/348150.html</link>
  <description>&lt;p&gt;I rarely write about my work here.  But today I think I will!&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://garote.bdmonkeys.net/livejournal/bards_tale/Bards_Tale_1-House-Guild-Inside.png&quot; style=&quot;float:right;padding:0 0 1em 2em;max-width:30%;&quot; /&gt;I&apos;ve worked on many codebases, with very large numbers of contributors in some cases, and only a few in others.  Generally when you make a contribution to a large codebase you need to learn the etiquette and the standards established by the people who came before you, and stick to those.&lt;/p&gt;&lt;p&gt;Not making waves - at least at first - is important, because along with whatever code improvements you may contribute when you join a project, you also bring a certain amount of friction along with you that the other developers must spend energy countering.  Even if your code is great you may drag the project down overall by frustrating your fellow contributors.  So act like a tourist at first:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Be very polite, and keen to learn.&lt;/li&gt;&lt;li&gt;Don&apos;t get too attached to the specific shape of your contribution because it may get refactored, deferred, or even debated out of existence.&lt;/li&gt;&lt;li&gt;It won&apos;t always be like this, but no matter what kind of big-shot you are on other projects, it may be like this at first for this new one.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Let me put it generally:  Among supposedly anti-social computer geeks, personality matters.  There&apos;s a reason many folks in my industry are fascinated by epic fantasy world always on the brink of war:  They are actually very sensitive to matters of honor and respect.&lt;/p&gt;&lt;p&gt;Anyway, this is a post about code commentary.&lt;/p&gt;&lt;p&gt;In one codebase I contributed to, I encountered this philosophy about code comments from the lead developers:  &amp;quot;A comment is an apology.&amp;quot;&lt;/p&gt;&lt;p&gt;The idea behind it is, comments are only needed when the code you write isn&apos;t self-explanatory, so whenever you feel the need to write a comment, you should refactor your code instead.&lt;/p&gt;&lt;p&gt;I believe this makes two wrong assumptions:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The only purpose of a comment is to compensate for some negative aspect of the code.&lt;/li&gt;&lt;li&gt;Code that&apos;s easy for you to read is easy for everyone to read.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The first assumption contradicts reality and history.  Code comments are obviously used for all kinds of things, and have been since the beginning of compiled languages.  You live in a world teeming with other developers using them for these purposes.  By ruling some of them out you are expressing a preference, not some grand truth.&lt;/p&gt;&lt;p&gt;Comments are used to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Briefly summarize the operation of the current code, or the reasoning used to arrive at it.&lt;/li&gt;&lt;li&gt;Point out important deviations from a standard structure or practice.&lt;/li&gt;&lt;li&gt;Explain why an alternate, simpler-seeming implementation does not work, and link to the external factor preventing it.&lt;/li&gt;&lt;li&gt;Provide input for auto-generated documentation.&lt;/li&gt;&lt;li&gt;Leave contact information or a link to an external discussion of the code.&lt;/li&gt;&lt;li&gt;Make amusing puns just to brighten another coder&apos;s day.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;All of these - and more - are valid and when you receive code contributed by other people you should take a light approach in policing which categories are allowed.&lt;/p&gt;&lt;p&gt;The second assumption is generally based in ego.&lt;/p&gt;&lt;p&gt;I&apos;ve been writing software for over 40 years, and I haven&apos;t abandoned code comments or even reduced the volume of the ones I generate, but what I have definitely done is evolve the content of them significantly.&lt;/p&gt;&lt;p&gt;I&apos;ve developed an instinct over time for what the next person - not me - may have slightly more trouble unraveling.  That includes non-standard library choices, complex logic operations that need to be closely read to be fully understood, architectural notes to help a developer learn what influences what in the codebase, and brief summaries at the tops of classes and functions to explain intent, for a developer to keep in mind when they read the code beneath.  Because hey, maybe my intent doesn&apos;t match my code and there&apos;s a bug in there, hmmm?&lt;/p&gt;&lt;p&gt;The reason I do this is humility.  I understand that even after 40 years, I am not a master of all domains.  The code I write and the choices I made may be crystal clear to me, but not others.  Especially new contributors:  People coming into my codebase from outside.  Especially people with less experience in the realm I&apos;m currently working in.  For the survival of a project, it&apos;s better to know when newcomers need an assist and provide it, than to high-handedly assume that if they don&apos;t understand the code instinctively, then they must be unworthy developers who should be discouraged from contributing, like by explaining what&apos;s going on you are &amp;quot;dumbing down&amp;quot; your code.&lt;/p&gt;&lt;p&gt;Along the same lines, it&apos;s silly to believe that your own time is so very valuable that writing comments in code is an overall reduction in your productivity.&lt;/p&gt;&lt;p&gt;You may object, &quot;but what if the comments fall out of sync with the code itself, and other developers are actually led astray?&quot;&lt;/p&gt;&lt;p&gt;I have two responses to this, and you may not like either one:  First, if your comments are out of sync with the implementation it&apos;s either because your comments are attempting to explain how it works and the implementation has drifted, or your comments are explaining the intent behind the code, and the behavior no longer matches the intent.  In the first case, the comment may potentially cause a developer to introduce a bug if they&apos;re not actually understanding the code.  But if they&apos;re reading the code and they can&apos;t understand it because it&apos;s complex, then the commentary was justified, and it should be repaired rather than removed.  (Or, you should refactor the code so you don&apos;t need to explain &quot;how&quot; so much.)  In the second case, someone has &lt;i&gt;already introduced a bug&lt;/i&gt;, and the comment is a means to identify the fix.&lt;/p&gt;&lt;p&gt;And second, if it feels like a lot of trouble to maintain your comments, then perhaps you write great code but you&apos;re not very good at explaining it in clear language to other humans.  You should work on that.&lt;/p&gt;&lt;p&gt;If it&apos;s your project, you can make the rules, and if it&apos;s your code, then obviously it&apos;s clear to you.  But if you want to work on a team, and have that team survive - and especially if you want to form a team around your own project - then you need a broader philosophy.&lt;/p&gt;&lt;p&gt;By the way, I should note that there are less severe incarnations of &quot;a comment is an apology&quot; out there.  For example, &quot;a comment is an invitation for refactoring&quot;.  That&apos;s a handy idea to consider, though it still runs afoul of the reductionist attitude about the purpose of comments.&lt;/p&gt;&lt;p&gt;You should indeed always consider why you think a comment is necessary because it might lead to an alternate course of action.  Even if that action has no effect in the codebase itself, like filing a ticket calling for a future refactor once an important feature gets shipped, it may be a better move.  But this is an exercise in flexibility, and considering what you might have missed, rather than a mandate that code be self-explanatory enough to be comment-free (and an assumption that you personally are the best judge of that.)&lt;/p&gt;&lt;p&gt;Here&apos;s my own guidelines for writing comments.  They&apos;re a bit loose, and they stick to the basics.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Comments explain why, not how.&lt;/li&gt;&lt;li&gt;Unless the how is particularly complicated.  Then they explain how, but not what.&lt;/li&gt;&lt;li&gt;Unless the what is obscure relative to the standard practice, in which case a comment explaining what might be useful.&lt;/li&gt;&lt;li&gt;You learn these priorities as you go, and as you learn about a given realm of software development.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Always be thinking about the next person coming in after you, looking around and trying to understand what you&apos;ve done.  And, try to embrace the notes they&apos;re compelled to contribute as well.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=348150&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/348150.html</comments>
  <category>work</category>
  <category>computing</category>
  <lj:security>public</lj:security>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/340854.html</guid>
  <pubDate>Tue, 19 Nov 2024 22:23:48 GMT</pubDate>
  <title>The tech industry job search</title>
  <link>https://garote.dreamwidth.org/340854.html</link>
  <description>&lt;p&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/ssi/PIC5.DAX_79_8.png&quot; style=&quot;float:right;padding:0 0 1em 2em;max-width:33%;&quot; /&gt;Two months ago I ended the longest stretch of unemployment - by far - that I&apos;ve experienced in 30 years.&lt;/p&gt;&lt;p&gt;Some of that time was voluntary.  I had a huge backlog of stuff to go through from my father&apos;s passing, including hundreds of 35mm slides that needed to be carefully digitized and catalogued, along with notes and other corroborating stuff.  I spent almost two months bent over a scanner with a dustcloth and canned air, and wrote custom Python code to add descriptions and EXIF tags with approximate timestamps and locations.  The project would have dragged out for years if I&apos;d been working, and I had savings to sustain me, so it felt like the right move.&lt;/p&gt;&lt;p&gt;When that was done I began applying for jobs.  I assumed it would go just like the last four times:  I&apos;d send my resume to a few places that seemed compelling, then get snapped up after only a handful of interviews.  Instead, I was in job hunt purgatory for eight months.&lt;/p&gt;&lt;p&gt;Here&apos;s the breakdown:&lt;/p&gt;&lt;p&gt;About 200 applications made in total, with about 30 of those being for additional positions in the same company.&lt;/p&gt;&lt;p&gt;About 60 of those applications received a response, politely declining me.&lt;/p&gt;&lt;p&gt;About 15 of those led to some kind of interview sequence, over the phone or in person.&lt;/p&gt;&lt;p&gt;All the rest - about 125 - got zero response of any kind.&lt;/p&gt;&lt;p&gt;This wasn&apos;t some shotgun approach.  I curated, and only applied for things I that seemed like an excellent match.  I wrote cover letters for every position, briefly calling out the most relevant parts of my resume to help recruiters do their work.  This was the approach I used in 2011 and it got a steady stream of results back then.  Not this time.&lt;/p&gt;&lt;p&gt;Four of the applications led to a second round of interviews.  That&apos;s the true gauntlet, where you meet with six to ten people, usually all on the same day, and they all hit you with different questions or code tests.&lt;/p&gt;&lt;p&gt;Of those, two made offers.  I declined one, then accepted the other.&lt;/p&gt;&lt;p&gt;I was very relieved to be employed again, but the larger question remained:  What happened?  Even during rocky times in the industry I&apos;ve always been a good candidate.  I&apos;ve had to regularly decline or ignore offers to recruit me away from the place I&apos;m at, since I tend to dig in thoroughly and be happy where I am.  It turns out 2024 was a terrible time to be looking for tech work, even for me, for multiple reasons.&lt;/p&gt;&lt;p&gt;First, for all of 2024 the specter of generative AI haunted my search for employment.  Companies began using AI tools to screen resumes, and applicants began using AI tools to mass-apply for positions indiscriminately, creating a &lt;a href=&quot;https://en.wiktionary.org/wiki/caucus_race&quot;&gt;caucus race&lt;/a&gt; straight out of Wonderland.  Data churned and electricity burned, moving documents around that nobody wrote, and nobody read.  At the same time, people on both sides of this mess didn&apos;t know how AI-assisted coding tools would change the industry.  Were programmers vestigial now?  Was there any point to even hiring them?  Would a junior developer work just as well as a senior one with 20 years of experience, with ChatGPT at their side?  There was too much noise and speculation, and very little data.&lt;/p&gt;&lt;p&gt;At the same time, the remote work exodus triggered by COVID was in a new phase.  Since it was now expected that a remote-first worker would be living in a low-rent area, having moved there to exploit the difference in cost of living, employers in an uncertain market could offer them lower salaries that they would be forced to accept, trapping them there.  They leveraged the uncertainty created by AI tech:  Better take this job, since it&apos;s all you&apos;re worth from here on out, and even that will be gone soon.  Sorry but your skills are garbage now.&lt;/p&gt;&lt;p&gt;I&apos;d followed the rise of generative tools with interest, but had not developed my hands-on skills with machine learning beyond the basics.  As this unfolded around me I began to believe that writing code - a core part of my work - was about to stop being a thing, and we would all just describe the program we needed to an AI and it would cook everything for us.  So the only remaining money would be in further refining these AI models and tools, and that meant I would have to walk away from almost everything I knew about software development - including any specific language skills - and re-learn a career from scratch.  That felt like a journey directly into burnout.  Since that would take a long time, I began to feel like I should take any offer at all, even one for almost nothing, just to close the gap in my resume and keep the lights on while I re-trained on my own time.  Perhaps if I aimed low enough I could stand out against recent college graduates - who in my past experience were barely employable at all - before my savings were totally gone.  Perhaps I should strip 15 years off the tail of my resume so I didn&apos;t look overqualified.  Perhaps that wouldn&apos;t work anyway, since there were white hairs in my beard, and age discrimination is definitely a thing in my industry.&lt;/p&gt;&lt;p&gt;An eight month search makes one ask all kinds of scary questions.  &quot;Is my kind of work just gone, and not coming back?  Am I a terrible candidate?  Do I interview badly?  Do I even like this kind of work anymore?  Am I asking too much, even when I ask for the same salary and inflation has hollowed it out?&quot;  As the process wore on for me, the questioning got worse, and I tried to adapt.&lt;/p&gt;&lt;p&gt;I broadened my range of applications, took endless coding tests, reworked my resume and portfolio multiple times, and eventually started calling in favors from people I knew.  One of the screening interviews I did was when my confidence was at a low ebb, and I clearly blew it, which was humiliating.  In the worst cases, interviewers half my age were asking me questions that felt inane, and I no longer had the confidence to push back.  I just wanted to stay on their good side and pass the gauntlet, so I would nod when they told me things like &quot;JavaScript and Java are basically the same thing,&quot; and &quot;Everyone uses Tailwind for CSS. There&apos;s nothing else like it.&quot;  They were all so confident.  They were employed, and I wasn&apos;t.  They held the keys, and I was locked out.&lt;/p&gt;&lt;p&gt;A lot of those applications - about a third of them - were through LinkedIn.  Zero of those led to even a first round.  The only interest I got from LinkedIn was in the form of recruiters, three of which had lengthy phone interviews with me, promising they were setting me up for an interview with a specific company which then never materialized.  That&apos;s right:  The alleged clearing house for tech jobs, with the allegedly buzzing social media realm wired into the application process for the industry, sucked up days of my time and gave me &lt;i&gt;jack shit&lt;/i&gt; in return.  It was especially gross when their service began to barrage me with clearly AI-generated &quot;show your expertise&quot; questions, like, &quot;You&apos;re faced with complex coding challenges. How can you sharpen your problem-solving skills?&quot; ... Which I saw other users respond to with, of course, their own AI-generated pablum.  LinkedIn was taking people desperate to find work, with limited energy and confidence, shoving them all onto a digital hamster wheel together, and running them to exhaustion for the sake of ad traffic.  Meanwhile, the jobs they competed for ... were as fake as the &quot;expert&quot; questions in their forums.&lt;/p&gt;&lt;p&gt;During my second round at Amazon, the HR person straight-up told me that all the postings I&apos;d applied for in California were fake.  Amazon was required by law to post them publicly, but the truth was they were moving all those positions out of state, to areas with a lower cost of living, so they could cut salaries.  Apple did the same thing, making a huge round of layoffs in late 2023 and then posting hundreds of open positions, and directing every application quietly into the garbage while they interviewed displaced internal candidates.&lt;/p&gt;&lt;p&gt;It took months of spinning my wheels before I understood what was going on.  I banished LinkedIn from my browser and inbox, turned away from the big tech companies, and went searching around on - of all things - Google Maps, for companies within commute distance of my home.  I made a huge list, then went directly to their websites and applied to what I found there, unless they redirected me to LinkedIn.  I went through about 70 applications in this manner, day by day, and slowly made progress.  That process was what led to the offers, and to the position I&apos;m currently in.&lt;/p&gt;&lt;p&gt;And here&apos;s the kicker:&lt;/p&gt;&lt;p&gt;After two months at this present job, I am finding that software development is subject to exactly the same constraints and problems, and is serving the same needs, that it has for the last decade.  Generative AI coding tools do make a lot of helpful suggestions, especially in self-contained projects, but they do not make junior developers into senior ones, let alone make us obsolete.&lt;/p&gt;&lt;p&gt;I thought everything was different now?  I thought this was all solved problems, hand-waved away by the magic of chatbots telling us all what to do and write?&lt;/p&gt;&lt;p&gt;Machine learning and generative AI are being leveraged here, to optimize and automatically control extremely complex systems and do previously impractical things like examine 2d and 3d imagery for details and patterns that humans would never see.  But that&apos;s what I would have expected two years ago, before the massive buzz clouded everyone&apos;s judgement.  Where&apos;s the real industry-shattering stuff?  I was told that AI coding would actually &lt;i&gt;end&lt;/i&gt; software development as a discipline, the way the car ended the horse-drawn carriage.  But the people I&apos;m working for are still in desperate need of progress on the same two fronts - infrastructure and interface - as always, and the problems they need solved still require the same legwork and dialogue they did ten years ago.  Someone needs to be there, needs to know what questions to ask and which to skip, needs to find the edges of the gap in a process and decide what goes there, and yes, someone needs to sit down and actually write code that fills the gap.  Someone still needs to design the thing, build it, install it, test it, document it, and then redesign it as the needs change.&lt;/p&gt;&lt;p&gt;AI can help with most of those things but there&apos;s an absolute world of difference between &quot;can help with&quot; and &quot;can do the whole thing unassisted&quot;.  And there&apos;s a limit to that help, because the human needs training just as much as the AI does.  A really really great set of tactical gear purchased from The Man Store will make an anarchist look like a marine, but he ain&apos;t gonna act like one, because he ain&apos;t got the training.&lt;/p&gt;&lt;p&gt;Of course, I am fully prepared to eat my own words ten years from now, when I can potentially have a conversation with a robot that has been trained in all of the problem-solving skills I have, and is smart enough to schedule its own follow-up meetings with myself and other stakeholders, and is interconnected with enough networks and data sources and other hardware to just write and deploy software by itself.  That&apos;ll be cool.  It doesn&apos;t scare me because by then I&apos;ll either be retired or doing something different.&lt;/p&gt;&lt;p&gt;But for now, after ten months of unemployment, I&apos;m apparently back in the same industry I left, which kind of surprises me.  I&apos;m not sure how the industry is going to solve its problems with remote work, fake AI screening and applications, bait-and-switch employees, espionage, deliberately wasted effort, and the ongoing explosion and implosion of AI technology, but at least now it&apos;s not existential for me personally.  I can learn on the clock, and there&apos;s some truly amazing stuff happening at my workplace.  In the meantime, to anyone else still trapped on the wrong side of the door, trying to impress young self-important punks in the interview gauntlet, you have my sympathy.&lt;/p&gt;&lt;p&gt;A postscript:&lt;/p&gt;&lt;p&gt;Just before I accepted that offer in September, it was as though a tide had turned in the industry, and three other companies contacted me asking to schedule a second round of interviews.&lt;/p&gt;&lt;p&gt;Out of curiosity, I went in for one of those.  The company was 23andMe.  I went down to Sunnyvale and interviewed for about four hours.  Afterwards I drove home, and heard ... nothing from them.  Not even an email declining me.  In retrospect that wasn&apos;t surprising:  Two days later their board of directors resigned, and a few months after that the company laid off half its workforce.  So ... they were distracted.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=340854&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/340854.html</comments>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>13</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/339686.html</guid>
  <pubDate>Wed, 30 Oct 2024 05:34:49 GMT</pubDate>
  <title>QA</title>
  <link>https://garote.dreamwidth.org/339686.html</link>
  <description>A QA engineer walks into a bar.&lt;br /&gt;&lt;br /&gt;Orders a beer.&lt;br /&gt;Orders 0 beers.&lt;br /&gt;Orders 999999999 beers.&lt;br /&gt;Orders a parrot.&lt;br /&gt;Orders -1 beers.&lt;br /&gt;Orders a ˆ¨ºø¨´.&lt;br /&gt;Orders &quot;minus zero&quot; beers.&lt;br /&gt;Orders a beer from a customer.&lt;br /&gt;Orders a bar.&lt;br /&gt;Pays for a beer in doubloons.&lt;br /&gt;Leaves a -$500 tip.&lt;br /&gt;Walks in and out of the bar 5000 times in one second.&lt;br /&gt;Attempts to pay a tab without ordering.&lt;br /&gt;Attempts to sell a beer.&lt;br /&gt;Opens a tab for Bobby “; DROP TABLES;.&lt;br /&gt;&lt;br /&gt;The QA engineer walks out.&lt;br /&gt;&lt;br /&gt;The first real customer walks in and asks where the bathroom is. The bar bursts into flames, killing everyone.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=339686&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/339686.html</comments>
  <category>computing</category>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/335846.html</guid>
  <pubDate>Fri, 16 Aug 2024 20:41:24 GMT</pubDate>
  <title>Signs You&apos;ve &quot;Leaned In&quot; Too Far:</title>
  <link>https://garote.dreamwidth.org/335846.html</link>
  <description>&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/infocom_journey/journey-zappo.png&quot; style=&quot;float:right;padding:0 0 1em 2em;max-width:33%;&quot; /&gt;&lt;ol&gt;&lt;li&gt;Cleaning up the dining area means getting the fast food bags out of the back seat of your car.&lt;/li&gt;&lt;li&gt;You keep trying to open your front door with the key to the office.&lt;/li&gt;&lt;li&gt;You think a &quot;half-day&quot; means leaving at 5 o&apos;clock.&lt;/li&gt;&lt;li&gt;Anything under an hour each way is not a &quot;real&quot; commute.&lt;/li&gt;&lt;li&gt;Your reason for not staying in touch with family is that they do not use your preferred messaging app.&lt;/li&gt;&lt;li&gt;You normally eat out of vending machines and at the most expensive restaurant in town within the same week.&lt;/li&gt;&lt;li&gt;Your grocery list has been on your refrigerator so long some of the products don&apos;t exist any more.&lt;/li&gt;&lt;li&gt;You&apos;re using packed moving boxes as furniture.&lt;/li&gt;&lt;li&gt;You cannot remember the last time someone told you a joke in-person, rather than forwarding you a link.&lt;/li&gt;&lt;li&gt;When you&apos;re at the office, you dream about catching up on sleep.  When you sleep, you dream you&apos;re at the office.&lt;/li&gt;&lt;li&gt;Every now and then you remember a friend, and think about reaching out to them when work is not so busy ... only to remember a moment later that you recently went on social media and read that friend&apos;s obituary.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Adapted from &lt;a href=&quot;https://garote.dreamwidth.org/188937.html&quot;&gt;a similar list&lt;/a&gt; I gathered 13 years ago.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=335846&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/335846.html</comments>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/335119.html</guid>
  <pubDate>Sat, 20 Jul 2024 01:26:53 GMT</pubDate>
  <title>Well...  This is an interesting new scam.</title>
  <link>https://garote.dreamwidth.org/335119.html</link>
  <description>From &lt;b&gt;lucas.jiang.itdev@gmail.com&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;I hope you&apos;re doing well. This is Lucas, a full-stack developer from Malaysia. I wanted to propose collaborations - either non-technical or technical.&lt;br /&gt;&lt;br /&gt;To keep it short, I&apos;m looking to get well-paid jobs with companies or clients in the US. While this is feasible from Malaysia, they tend to prefer hiring developers from similar time zones. Especially for full-time jobs at companies, they typically don&apos;t hire developers outside of the US.&lt;br /&gt;&lt;br /&gt;So, I believe the best way to get US jobs is to &quot;impersonate&quot; someone who resides in the US. It might sound risky, but it won&apos;t be risky as long as we keep this 100% confidential. I have the following two options in my mind.&lt;br /&gt;&lt;br /&gt;Option #1&lt;br /&gt;&lt;br /&gt;Have you heard of Upwork.com or Toptal? There&apos;s no easy way to get well-paid jobs, and Upwork or Toptal has a lot of competitive freelancers. However, I&apos;m very confident that I can get great jobs to make decent money. I would suggest a split of 20% ~ 25% for you and 75% ~ 80% for me.&lt;br /&gt;&lt;br /&gt;Here&apos;s how it would work:&lt;br /&gt;- You open an Upwork or Toptal account if you don&apos;t have accounts, and log in to it on your secondary laptop.&lt;br /&gt;- I connect to your secondary laptop via the AnyDesk app, and I search for jobs.&lt;br /&gt;- You receive money into your bank account when I finish jobs with clients.&lt;br /&gt;- You take your commission and send me the remaining.&lt;br /&gt;&lt;br /&gt;Option #2&lt;br /&gt;&lt;br /&gt;For full-time jobs at US companies, which obviously makes us way more money than freelancing jobs. I would suggest a split of 30% ~ 35% for you and 65% ~ 70% for me.&lt;br /&gt;&lt;br /&gt;Here&apos;s how it would work:&lt;br /&gt;- I apply for company jobs on LinkedIn using your LinkedIn account and get you scheduled with interviews on your calendar.&lt;br /&gt;- You crack the interviews and get job offers.&lt;br /&gt;- I perform day-to-day work on those jobs while you only attend the daily/scrum meetings. (I can also join the meetings if team members usually turn off cameras.)&lt;br /&gt;- You get paid into your bank account bi-weekly or monthly, and you send me my portion after deducting your commission.&lt;br /&gt;&lt;br /&gt;Please reply to this email if you want to schedule a call to discuss this further or if you have any other opinion for the collaboration.&lt;br /&gt;&lt;br /&gt;Best,&lt;br /&gt;Lucas&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;I&apos;m pretty sure this is just a strangely-dressed version of the usual &quot;give us your banking details&quot; identity theft scam.  But the boldness of the proposition surprises me.  This is what people go for?  This sounds like a good idea ... to anyone?&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=335119&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/335119.html</comments>
  <category>computing</category>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>8</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/332321.html</guid>
  <pubDate>Thu, 02 May 2024 22:52:19 GMT</pubDate>
  <title>When co-pilot becomes pilot</title>
  <link>https://garote.dreamwidth.org/332321.html</link>
  <description>I&apos;m a bit concerned at how we&apos;re throwing around the term &quot;AI&quot; to describe the process of mimicking intelligence starting from random noise and training data.&lt;br /&gt;&lt;br /&gt;And at the other end of the pipeline, I&apos;m also concerned at how we use the word &quot;intelligent&quot; for systems that read and visually examine data and recognize various things in it.  There is &quot;classification&quot;, and there is &quot;curation&quot;.  These things do the former but not the latter.  It still takes a human to do the second.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/bards_tale/Bards_Tale_1-Garth.png&quot; style=&quot;float:right;padding:0 0 1em 2em;max-width:23%;&quot; /&gt;This is not &quot;intelligence&quot;.  Whatever intelligence is active in this system is the intelligence that a human is bringing to the table as they manipulate a prompt in a generative tool to get some result, or change the way it classifies subsequent information.&lt;br /&gt;&lt;br /&gt;Most of our current concerns are about how a human can - and often does - bring &lt;i&gt;almost no&lt;/i&gt; intelligence to this process, and then uses the result to try and fool others.&lt;br /&gt;&lt;br /&gt;This is a huge problem in higher education currently.  Reforms are needed.  And I think we have to frame any reforms by asking, &quot;what’s the goal?&quot;  If it’s to make students employable, that suggests one approach...  If it’s to give them a liberal-arts-style understanding of themselves, society, and the world, maybe that suggests a different approach.  I don&apos;t have answers here.&lt;br /&gt;&lt;br /&gt;I keep asking myself how these tools can enhance my own work.  And mostly what they can do, so far, is make suggestions to scaffold parts of a codebase that aren’t written yet, based on the existing codebase, and a huge library of examples.  This is pretty handy, though you still need to rewrite large chunks of it and of course you have to understand all of it.&lt;br /&gt;&lt;br /&gt;In less than a year I suspect this is going to be formalized into a process where a software developer has the option of explaining, in writing or out loud, what they want a function to take in, what they want to do with it, and what to return, and the computer will spit out a really high quality first draft of that function.  Like, to the point where it might not even need any editing at all.  That could be very useful to a person like me, who has enough experience to know what I want, and the ability to describe what I want in reasonably clear human language.&lt;br /&gt;&lt;br /&gt;But then, let&apos;s take that a step further:  Imagine that we now preserve the description - nay, the entire dialogue - that I, the developer, had with the generative tool to create that function.  Now imagine that dialogue is preserved for all the functions in the codebase.  Now imagine that &lt;i&gt;that dialogue&lt;/i&gt; is what we feed into a &quot;compiler&quot; to generate code, in whatever language is appropriate for a platform.  And computers run that, and we roll with it, until something goes sideways and only then do we break out debugging and forensics tools.&lt;br /&gt;&lt;br /&gt;That’s awfully plausible, and it will change the nature of software development.  My resume will no longer list &quot;Python, C, C++, Javascript, Typescript&quot;.  It will look more like an academic&apos;s resume:  &quot;I authored this, I was on the development committee for this, I co-authored the spec for that...&quot;&lt;br /&gt;&lt;br /&gt;Far from making people like me obsolete, it will make people like me more useful, because I can spend a lot more time looking at overall systems, consulting with people to nail down requirements, and drilling down into code with fancy tools to find bugs only when something goes wrong...  All things that require long-term expertise.&lt;br /&gt;&lt;br /&gt;But we’re not there yet, of course.  Maybe another 2 or 3 years?&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=332321&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/332321.html</comments>
  <category>work</category>
  <category>computing</category>
  <lj:mood>contemplative</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/332054.html</guid>
  <pubDate>Tue, 30 Apr 2024 22:34:45 GMT</pubDate>
  <title>Dorks riffing on Nethack, like dorks do, and a dream.</title>
  <link>https://garote.dreamwidth.org/332054.html</link>
  <description>&lt;table style=&quot;margin-top:0.7em;&quot;&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Fellow Dork:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt; &quot;Metal command buffer &apos;out of memory&apos; policy.&quot;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Me:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Let me guess.  That&apos;s a scroll labeled &quot;Policy&quot; that catches fire as soon as you unroll it, a la Nethack?&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Fellow Dork:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;It&apos;s a cursed scroll of &quot;confuse programmer.&quot;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Me:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Of course.  And reading a blessed one makes you mess up a bunch of commits, confusing others.&lt;/p&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;There should be a shop in Nethack for scrolls like this.&lt;/p&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;&quot;Hello Sir, welcome to Asidonhopo&apos;s QA emporium!&quot; (You enter an 8x10 room filled with scrolls labeled &quot;Bug Report&quot;.)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Fellow Dork:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Right. And then every interaction - picking things up, dropping, trying to pay, trying to fight, trying to leave - &lt;i&gt;doesn&apos;t work&lt;/i&gt;.&lt;/p&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;You can still chat to the shopkeeper, but he just spews stuff like &quot;Did you try turning it off and back on?&quot;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Me:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Well, you can always attack Asidonhopo, yes?&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Fellow Dork:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;&quot;Your fist waves ineffectually in the air.&quot;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Me:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Dammit! ... Okay, I zap wand of polymorph at the scrolls!&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Fellow Dork:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;They transform into Death, and/or War, and/or Pestilence, and/or Famine.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Me:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;#pray&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Fellow Dork:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;&amp;lt;deity&amp;gt; just laughs&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Me:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Hmmm...  I throw a cockatrice egg at Asidonhopo!&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Fellow Dork:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Asidonhopo catches the egg in mid-air and eats it. &quot;Yum!&quot; he says, while rubbing his tummy.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Me:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;#quit&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Fellow Dork:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;&quot;Nice Try.&quot;&lt;/p&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Really the only thing you can do after entering this hellhole is to &quot;kill -9 nethack&quot;.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Me:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Error: Connection refused.  &quot;You do have another terminal open already, right?  Right??&quot;&lt;/p&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;&quot;Dammit now the whole university mainframe needs a power cut.  Nice going. &lt;i&gt;Never go into that shop!&lt;/i&gt;&quot;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-wrap:nowrap;vertical-align:top;text-align:right;padding: 0 0.7em 0 0;color:#AAA;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;Fellow Dork:&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding:0;&quot;&gt;&lt;p style=&quot;margin:0 0 0.7em 0;&quot;&gt;It&apos;s the Room Where Everything Is Broken.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/bards_tale/Bards_Tale_1-Temple.gif&quot; style=&quot;float:right;padding:0 0 1em 2em;max-width:23%;&quot; /&gt;&lt;p&gt;Actually I had a dream like this recently.  I&apos;m pretty sure it&apos;s because I&apos;ve been applying for jobs.  It&apos;s like the adult software engineer version of &quot;that school dream&quot; we&apos;re all familiar with.&lt;/p&gt;&lt;p&gt;You know the one:  You&apos;re wandering the halls, naked, looking for a classroom where a final exam is already halfway done, and when you find it and sit down the whole document is made of gibberish and diagrams you can&apos;t fathom...&lt;/p&gt;&lt;p&gt;In this version, I&apos;m sitting at a desk, which is placed in the middle of a living room, and my family members are all crowded into the room talking and eating and playing music, so I can&apos;t concentrate at all.  There&apos;s a big box next to the desk full of computer gear, sent to me by a prospective employer, and I&apos;ve set some of the equipment up on the desk and am trying to complete a coding challenge.&lt;/p&gt;&lt;p&gt;The hardware is unfamiliar, and operating system is glitchy, all the keyboard shortcuts are different, and the sample code in the editor is in a language that looks like a cross between two other languages, which makes interpreting it almost impossible.  Somewhere in the layers of buttons and tabs is a document explaining what the coding task actually is, but I can&apos;t find it, no matter how much I click around, and in the background is a voice, trying to get my attention and ask if I need more time, because the interviewer is connected to the machine remotely and can see every fumbling move I make on the machine in real-time.&lt;/p&gt;&lt;p&gt;The box by the desk has other stuff in it too.  Filing boxes, wire baskets full of paper, and a whole lot of ragged-looking clothes.  It looks like a box you&apos;d see at an estate sale.  It looks suspiciously like the posessions of another developer -- one they hastily fired and frog-marched out of the building, before sweeping all of their stuff into a box and mailing it directly to me.&lt;/p&gt;&lt;p&gt;Or, you know, maybe the developer is dead, and this is my inheritance.  If I&apos;m hired, I&apos;m supposed to set the rest of this stuff up, and put on the old developer&apos;s clothes.&lt;/p&gt;&lt;p&gt;... And thus, the curse is transferred to me.&lt;/p&gt;&lt;p&gt;You ever have a job like that?&lt;/p&gt;&lt;p&gt;Courtesy of Dall-E, here&apos;s an example of one of the diagrams from my nightmare coding challenge:&lt;/p&gt;&lt;p style=&quot;text-align:center;&quot;&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/gibberish_woodcut-diagram_1.jpg&quot; style=&quot;max-width:60%;&quot; /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=332054&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/332054.html</comments>
  <category>work</category>
  <category>computing</category>
  <category>dreams</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/329504.html</guid>
  <pubDate>Thu, 07 Mar 2024 08:38:27 GMT</pubDate>
  <title>Mythologizing and ranting</title>
  <link>https://garote.dreamwidth.org/329504.html</link>
  <description>Today I went to Best Cafe and settled in with an iced mocha, and worked for a while, then organized music and did some sticker shopping for the holidays.  Synced another 300GB or so of music to the new phone.  20MB a second is a real drag!  They&apos;ve got to move to a new protocol.&lt;br /&gt;&lt;br /&gt;My nephew showed up, to do some studying alongside me.  For a while we riffed on the idea of a startup company whose entire philosophy was built around the Goonies movie.  &quot;Company motto: Never say die!&quot;  &quot;When you&apos;re working here, it&apos;s &apos;our time&apos;.&quot;  &quot;Start every meeting with &apos;HEY YOU GUUUUYS!&apos;&quot;&lt;br /&gt;&lt;br /&gt;Eventually he got down to studying and we listened to some technoey music together.&lt;br /&gt;&lt;br /&gt;After a while I got annoyed by a professor sitting at the table nearby and talking to a credulous-seeming pair of people at length about capturing the &quot;innovative genius&quot; of Steve Jobs.  Having worked in the depths of the company he founded long enough to build my own picture, I wanted to turn to the guy and start ranting.  To avoid going off the rails with my work, I typed it into a document instead.&lt;br /&gt;&lt;br /&gt;&quot;How well did you know him?  How much of your idea of who he was and what he was capable of came from exploring the mythology built up around him by the employees at the company, and then by the people who wanted to emulate him or ride on his coattails by discussing him?&quot;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/bards_tale/Bards_Tale_2-Conjurer.gif&quot; style=&quot;float:right;padding:0 0 15px 15px;max-width:25%;&quot; /&gt;&quot;He&apos;s not the only person in business or management with a magic crap detector.  He&apos;s not the only person in business who was occasionally a rude asshole, a showboating negotiator, or a temperamental, capricious, arrogant, judgmental product manager.  He also worked hard, had the right friends, was extraordinarily lucky, took his lumps and learned from his mistakes, and never promised to deliver something unless he knew it was technically possible.  He was a mixture of good and bad traits.  Unfortunately, that means that people who want to be as famous as he was, as rich as he was, or just want to be as much of an asshole as he was and feel justified doing it, can pick up on the bad traits he displayed and claim that those are what makes a great leader.  And then other people fall for it.  That&apos;s the mythology, not the man, lumbering around like a patchwork monster.&quot;&lt;br /&gt;&lt;br /&gt;&quot;I&apos;ve known my fair share of managers, and in many cases their effectiveness was greatly enhanced by traits that were completely the opposite, or even the reverse, of the mythology of Big Steve.  But you don&apos;t want to draw from those people, right?  They don&apos;t have a dramatic arc, and they don&apos;t give you license to throw tantrums, keep secrets, mock the establishment, and do other &apos;disruptive&apos; things that sound like fun.  You want to wear that black turtleneck and blue jeans to give off a signal?  Big Steve did it to express himself, not to remind people of Big Steve.  But that&apos;s why you&apos;re doing it.  That signal is permanently changed now -- and there could not be any better, clearer sign that you are some other kind of person.  I hope those people across from you absorb every word and then go home and laugh about you.  Good day sir!&quot;&lt;br /&gt;&lt;br /&gt;Of course I didn&apos;t say that.  It would be abrasive and start an argument, and, what was the point?&lt;br /&gt;&lt;br /&gt;After another hour or so I wrapped up and my nephew returned to campus.  I rode downhill as the twilight settled over the city.  Rachel described it as the &quot;gloaming&quot;, which I thought was a really cool word.&lt;br /&gt;&lt;br /&gt;At the house I moved sheets to the dryer and watched three hours of Midnight Mass.  Interesting but slow-moving interrogation of religion, with some crowbarred scenes to let various characters act as mouthpeices for different aspects of faith.  Taking a very deeply trodden path in horror:&lt;br /&gt;&lt;br /&gt;A  group of casually religious people suddenly renews their faith when outside-of-science miracles begin happening in their midst, and the skeptics among them get a weird kind of comeuppance for their doubt in God, right up to the point where it&apos;s revealed that God isn&apos;t performing the miracles but some demon, or ghost, or alien, or vampire, or zombie, or weird mutant lab experiment, or angry squirrel, or other suitably unnatural but also heretical MacGuffin.  Then the religious people get their own comeuppance, and no one wins, but maybe a few people survive by weird coincidence, and that&apos;s perhaps evidence that God is around after all, just more, you know, &lt;i&gt;ineffable.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The core lesson unintentionally becomes this:&lt;br /&gt;&lt;br /&gt;Miracles, rather than being evidence of God, are evidence that something is deeply horribly wrong nearby and you should probably pack a &quot;go bag...&quot;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=329504&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/329504.html</comments>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/318469.html</guid>
  <pubDate>Fri, 16 Dec 2022 00:22:18 GMT</pubDate>
  <title>Going remote</title>
  <link>https://garote.dreamwidth.org/318469.html</link>
  <description>&lt;p&gt;When people visualize working remotely, they see two scenarios.  It&apos;s either a quiet office space at home, or a laptop open on a series of coffee shop tables.  The home office scenario looks like a dream to the introvert whose work demands focus, and the laptop seems like a dream to the adventure-hound vagabond, who wants to put in eight hours at the keyboard and then go wander the city until bedtime, from city to city across the world.&lt;/p&gt;&lt;p&gt;I&apos;ve done variations on both of these, for different chunks of time in my career, but the vast majority of my work experience has still been in a physical office, with a real commute.  And I can state with confidence:  The appeal of remote work - home or abroad - diminishes quickly with time.  You really should not build your life around it, because you&apos;re giving up something valuable.&lt;/p&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/ssi/PIC1.DAX_2_0.png&quot; align=&quot;right&quot; hspace=&quot;10px&quot; /&gt;&lt;p&gt;If you have an office, with a reasonable commute, you not only get the physical presence of workmates as social contact, but you stand a chance of actually hanging out with them after work, because most of your social venues overlap.  If you want to go to a show or throw a dinner party, your workmates can probably get there.  In my workaholic country, this is a major way that adults renew their social lives.  If that strategy is closed to you, you need to renew that social life by other means, or your emotional health will crumble.&lt;/p&gt;&lt;p&gt;If you have a home office, your social contact is restricted to your household.  By itself, that&apos;s unsustainable, so you also need to have friends over, or go outside with them.  Where do you find those friends?  Perhaps you made some earlier in life, or perhaps you lean on your spouse to provide them.  Either way you are not actually able to maintain or renew that supply of social contact.  You have outsourced that task to others.  If friends peel away from your life and no one else replaces them, you can&apos;t compensate.  The walls close in.&lt;/p&gt;&lt;p&gt;If you work from a series of hotel rooms, RV spaces, campsites, or whatever, the social deficiency is worse.  You have abandoned any chance of being in the same physical space with people who know you beyond a superficial level, except perhaps the person you are traveling with - friend or spouse - and it&apos;s guaranteed you will get sick of them for large chunks of time.  You may be content with that for a month, six months, two years, and so on...  But the changes that you push yourself through, in order to stay contented with being rootless for such large chunks of time, come with side effects.  You may think you have moved beyond loneliness into something different.  It has merely grown transparent and you are breathing it now.&lt;/p&gt;&lt;p&gt;I&apos;ve met people who have cobbled together various habits and patterns to make remote work sustainable for them.  Specific gear, complicated rituals, rules and limits...  You can make it work, and stave off the emotional decay for a long time.  People pursue it because they can save up money by living somewhere cheaper, or split their time between work and childcare, or because they can be in exotic places without taking vacations.  At the same time, the company saves money by not having to provide a desk, a parking space, meeting areas, bathrooms, power, water, and so on, in the kind of costly urban area that most people would prefer to live -- not just for the weather and the clean sidewalks, but for the thriving social life.&lt;/p&gt;&lt;p&gt;To keep that equation fair, a person handling all those resources by working remotely should be paid at least as much money as someone driving to an office, right?  More, in fact, because the missing social contact is a very expensive loss indeed, even if it&apos;s rarely acknowledged.&lt;/p&gt;&lt;p&gt;Instead, the white-collar world has attempted to scam people into thinking they are granted the &quot;privilege&quot; of going remote, based on the questionable assumption that someone who works remotely has more opportunity to hide from their obligations, since they&apos;re not physically close to a manager who could sneak up behind them at any moment and make sure they&apos;re not browsing Instagram on the office computer.  Seriously; that&apos;s the logic:  If you&apos;re remote, you can&apos;t be policed, so you will be lazy, so you&apos;re worth less.  The more you think about it, the more insulting it becomes.&lt;/p&gt;&lt;p&gt;Measuring productivity can be complicated, but if your company is measuring it by how busy a person looks while sitting in a specific chair, they&apos;re definitely doing it wrong.  With modern internet tools there isn&apos;t a single white-collar performance metric that can&apos;t be evaluated by digging around in some electronic documents and having a few virtual meetings with the right people.  Companies have no real excuse for mistrusting you, aside from their own paranoia and incompetence perhaps, but they know remote work is appealing.  So if you ask for it, it&apos;s an opportunity to renegotiate your wages down.&lt;/p&gt;&lt;p&gt;Meanwhile, if you&apos;re highly productive and working remotely, but accepting less money for the &quot;privilege&quot; of kneecapping your social life and providing your own office furniture, food, water, and power, you&apos;re not living the dream, or getting away with anything.  You&apos;re being exploited.  Same as usual.  Why did you accept the pay cut?  And now, the company can use any sense of isolation you feel from your co-workers against you, to convince you that the loneliness itself is evidence of your lack of effort, so you deserve that lower wage.&lt;/p&gt;&lt;p&gt;I expect it will take the workforce a while to collectively wake up to this scam.  Working remotely is a win-win, not a win-lose.  The last time I saw this sort of smoke-and-mirrors justification for a downward pressure on wages was in the mid-2000&apos;s, when companies were gleefully embracing the idea of outsourcing all their difficult programming and IT work to India, and shouting that domestic workers had better get used to accepting equivalent wages because there was clearly way more supply than demand now.  How could a lowly domestic worker with their high mortgage and social needs possibly compete on a global scale?&lt;/p&gt;&lt;p&gt;People are fretting over the same question nowadays.  If your job can be done from a cafe in Bangladesh, why would anyone pay you more than the cost of living there?&lt;/p&gt;&lt;p&gt;Here&apos;s some food for thought, leading to an answer:  It&apos;s also possible to do your job &lt;i&gt;really, really badly&lt;/i&gt; from a cafe in Bangladesh.&lt;/p&gt;&lt;p&gt;If you&apos;re good at what you do, insist on a decent wage.  &lt;i&gt;You&apos;re worth it!&lt;/i&gt;  And, if you&apos;re remote already, you may want to explore the idea of returning to an actual workplace, so you don&apos;t go nuts.  Maybe the new white-collar social contract will be &quot;eight months here, four months remote&quot;, in some kind of staggered configuration, and the company would only need to provide two-thirds of the desks and floor space.  I could honestly really go for that.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=318469&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/318469.html</comments>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/315414.html</guid>
  <pubDate>Tue, 28 Jun 2022 06:41:24 GMT</pubDate>
  <title>I only sort of work here</title>
  <link>https://garote.dreamwidth.org/315414.html</link>
  <description>The Silicon Valley rat race is a certain constant size.  This is because for every starry-eyed young volunteer charging into it, there is a transformed, dissatisfied veteran headed in the other direction.  (Or a corpse plowed into the track.)  And as they pass each other, they whisper, &quot;you&apos;re making a mistake.&quot;&lt;br /&gt;&lt;br /&gt;Last night I had a weird dream where I was visiting an old schoolmate at work and an ex-girlfriend appeared at the periphery working in the same room.  I found this unremarkable and didn&apos;t pay much heed of her, but she was so traumatized by my appearance that she spoke quietly with some managers in the room and had them confront me.  They kept asking me questions that were mumbled or garbled in the din of the office room and I tried to politely tell them that I couldn&apos;t understand, but got more and more annoyed, and they in turn got less and less polite and finally a security guard came up and escorted me from the building, doing some kind of &quot;walk of shame&quot;.  I woke up and realized that the noise in my dream was the heater in the wall getting louder and louder and then shutting off, over over.  I unplugged it, used the bathroom, then went back to bed.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/ssi/PIC5.DAX_79_8.png&quot; align=&quot;right&quot; hspace=&quot;10px&quot; /&gt;I&apos;ve only had a handful of dreams about this ex, but this was the second I&apos;d had in less than a week.  Recounting it the next morning, it felt appropriate somehow that she had devised a way to get rid of me that involved jerking me around with poor communication.  In the dream I felt degraded and worthless, as though by being career-focused and having a successful career - making more money than me even - she was part of an elite social group that I, with my only semi-serious attitude towards career, was not welcome in.&lt;br /&gt;&lt;br /&gt;My choice to leave the super-serious career path had been a deliberate one, brought about by both need and a desire to change.  But my time with her caused me to re-evaluate that choice, for a little while.  So many people around me were pushing to make the maximum wage, or have the maximum impact, at almost any cost.  They would have their names on more papers published, patents filed, plaques nailed to buildings.  They would wander around in more extravagant chunks of beach-front property, fly on the more expensive trips, sit at the fancier tables with the sunset views, wearing classy business attire and shaping the fates of millions of people around and below them.  I could be with them.  I was among them, more and more often, for a number of years.  I could just keep putting in more years like that, and keep climbing higher.  See just how many rooms I could get my beach-front property up to.  I would never call it easy - obviously it&apos;s incredibly hard work - but the choice to do it would seem easy to anyone with access and skills.&lt;br /&gt;&lt;br /&gt;Right now the whole idea of pursuing that just makes me feel bored.  Bored as hell.  You want to shape your self-perception around how much power you can wield?  What a fucking boring-ass way to structure your life.  You want to drive yourself batty, obsessing over the exact highest impact you can have in a cause you have decided is vital to the survival of society, or even the human race itself?  Bend your whole life around making that thing manifest?  Well that sounds like a great distraction for you, but you go do it somewhere else because I find the arrogance that focus engenders appallingly boring.  Or maybe you want to find someone who carries that same obsession, and fall into step behind them, fawning while that sociopathic megalomaniac rants and raves about quality and essence and nowness, because other people hear it and hand them astonishing amounts of money, and all that money can&apos;t possibly be wrong?  Borr-r-riiing.&lt;br /&gt;&lt;br /&gt;All that money.  Here in the Silicon Valley, the money was here before you arrived, and it has already threaded into everything and everyone you see, and warped it.  That sense of urgency and &quot;disruption&quot; you feel is not an accident, it&apos;s part of the program.  It&apos;s fundamental to the cult you have joined.  Your co-workers will take the place of your friends and family.  Your commute will become your downtime.  Your desk will become your dining table, and vice-versa.  You will make more money in one day than whole families make in an entire year, and then you will hand a third of it to a landlord or a bank, and blow most of the rest on booze, jet fuel, and kale that withers in the fridge, and it will feel right because you are where the power is.  Where else would you go that wouldn&apos;t be a step down?  This is the only ascent that matters. &lt;br /&gt;&lt;br /&gt;Here&apos;s a little piece of my family history, wedged in my brain, that acts as a kind of antidote to this:&lt;br /&gt;&lt;br /&gt;Before they retired, both my parents were teachers.  My father, for example, taught high school for 35 years.  Roughly 30 students a class, four classes a day, two semesters a year, plus summer school.  Over a career, he personally drilled math and english skills into the minds of ten thousand teenagers -- the population of a small city.  It&apos;s not power, but it&apos;s a kind of influence.  On a fundamental, unimpeachably positive level.  And without fanfare, and with barely any recognition, and for unexceptional pay, because he was not part of an exalted power structure.  He wasn&apos;t a &lt;i&gt;disruptor.&lt;/i&gt;  Nevertheless, thanks to his work, ten thousand people have been making use of those skills their entire adult lives.&lt;br /&gt;&lt;br /&gt;Think about that, and think about how many other teachers are out there, exercising their incredibly useful and persistent influence.  And you don&apos;t know jack about any of them.  Sure, you know Elon Musk and Mark Zuckerberg, and you assign them a level of genius and vitality that is frankly comical, but ... even those two tastemakers had to learn basic math and english, just like everyone else, and some teacher made that happen.&lt;br /&gt;&lt;br /&gt;Given that such a strong example of influential work can be right in front of your face and yet still invisible until you think about it, how much else could be missing from your picture?  Or is something narrowing your vision; something you don&apos;t want to acknowledge?  Maybe, just maaaybe, it&apos;s the status, and the power, and the money.&lt;br /&gt;&lt;br /&gt;What if your vision has been distorted to match this landscape?  What if that warm feeling of doing meaningful work that you soothe yourself with is actually a fake storefront propped up in front of something else, something more crass, like a feeling of superiority over all those people you &quot;left behind&quot; in your home town, or a feeling of personal security drawn straight from your bank balance?  What if, in the ugliest case of the dot-com social networking company, your big important work at your big important desk is actually no more necessary than that of a drug dealer, generating short-term pleasure and long-term misery in strangers for a profit, and you left your soul on the curb years ago and didn&apos;t notice?  Would you have the guts to leave?  Maybe you &lt;i&gt;leaned in&lt;/i&gt; too far and your face is in the bottom of a trough.&lt;br /&gt;&lt;br /&gt;I know the position I&apos;m in is not common because most people don&apos;t get the chance to be transformed by the rat race and then don&apos;t get the chance to claw their way out of it with their health still intact -- or at least in a state where it can be repaired.  I consider myself very lucky.  In general it&apos;s a great privilege to be able to do something you find satisfying for a sustainable wage, and I am even luckier still that I&apos;ve had the chance to drop back down from the most punishing circles of the racetrack to a place that lets me have a life outside of work, while still making good money.  It&apos;s a miraculous position.  The people at my current place do work hard - we all do - but not so hard it kills us.  The company isn&apos;t trying to take possession of our souls.&lt;br /&gt;&lt;br /&gt;In addition to having my health and one foot planted back in the real world, this journey has left me with some insider knowledge:  Many of the people running ragged in those higher circles are dangerously lacking in self-awareness, or willfully ignorant of the damage they do.  The power and the access and the money are not necessary to do truly good work.  They are just necessary to get the most extravagant property, the biggest lights around your name, and the most satisfying revenge on whoever doubted or wronged you long ago.  If that&apos;s not your need, you really don&apos;t have to join them, ... or listen to what they say.  And they obviously might not be the most fun to date either.&lt;br /&gt;&lt;br /&gt;And now, I&apos;m gonna go ride my bike.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=315414&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/315414.html</comments>
  <category>work</category>
  <category>philosophy</category>
  <lj:security>public</lj:security>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/299715.html</guid>
  <pubDate>Wed, 15 Apr 2020 00:02:32 GMT</pubDate>
  <title>The workday</title>
  <link>https://garote.dreamwidth.org/299715.html</link>
  <description>I woke up to a call from one of my three managers, saying that testing was suspended.  I fixed the problem over VPN then rushed to work in the van in order to watch testing.&lt;br /&gt;&lt;br /&gt;From the moment I arrived there, the work was fast and furious.  I spent half my day in the lab shepherding various projects, and during that time, activity swirled around me, as people moved equipment, configured machines, and asked questions.  It was gratifying to be such a useful and important person.  Everyone around me seemed to know that the lab was primarily mine - that I was the person to come to for permission to change something, or for advice on fixing a problem - and in every case, I could help.  It was a very good day.  I got a lot of &quot;thank you&quot;s today.&lt;br /&gt;&lt;br /&gt;During my downtime I reflected on my position there, and on the phrase &quot;lab manager&quot;.  Managing this lab is completely different from managing a lab at a university, or a library, or even in some other company.  In fact, about the only thing it has in common is the literal meaning:  There is a lab involved.  Everyone who walks in the door (and for that you need a security clearance) is a motivated learner, with a purpose and a need to be fulfilled, and is absolutely uninterested in wasting time.  And they all understand that the person &quot;in charge&quot; of the lab has a skillset - and probably a grade of pay - equal to theirs.&lt;br /&gt;&lt;br /&gt;Well, almost all of them understand.  There was one exception.  A new hire who came onto the scene working for an adjacent department, who needed to get some testing done but swore that he never, ever wanted to get lab access, because then he would be physically responsible for testing machines.  He was convinced that someone else - someone beneath him probably - would be taking care of that, and taking care of his code as it ran on the machines.&lt;br /&gt;&lt;br /&gt;In my first few conversations with him I caught this air of superiority.  He&apos;d come looking for &quot;the lab manager&quot; and been steered to me, and must have assumed I was some poor dimwit whose day consisted of jabbing &quot;reset&quot; buttons and blowing dust off cables with canned air.  Eventually he figured it out:  I wasn&apos;t just the guy who repaired and arranged the machines.  I was the architect, solitary programmer, and primary maintainer of the testing system that drove them -- and drove hundreds of machines elsewhere, in other buildings.  To make the point clear I eventually gave him a tour of the lab, including the server closet, with the RAID arrays and the databases and the build machines.  A collection of gear more expensive than a house in the suburbs.	I described all the pieces of software I&apos;d built on them and how they interconnected.  After that his tone changed.  He learned that no one here is average.  The average people get buried and quit.&lt;br /&gt;&lt;br /&gt;Last year, a new hire in the department broke down in tears when we were standing alone in her office.  She said she&apos;d been given an impossible workload, and was unable to learn fast enough to come up to speed.  People were arguing about designs, features, and architecture all around her, and she couldn&apos;t even parse most of it.  She said that taking the job here had been a mistake; it was going to drive her crazy and ruin her home life.&lt;br /&gt;&lt;br /&gt;I gently shut the door to the office and sat down across the desk from her.  I explained what I&apos;d been told when I first started:  We&apos;re running a marathon, not a race.  Somehow, she&apos;d never been given this speech, so I gave it.  We each need to learn how to pace ourselves, and we need to be assertive not just about what we can do, but what we can&apos;t, so we can establish that pace and make others aware of it.  When someone comes to you with a project, an accurate answer about how long it may take you - even if it&apos;s longer than they prefer - is a thousand times better than blind acceptance followed by catastrophe.  And that&apos;s a big problem for some people.  They struggle to be honest about their shortcomings and announce their mistakes preemptively.&lt;br /&gt;&lt;br /&gt;She seemed to listen.  She stuck with the job, and a couple months later she seemed a lot more comfortable.  She still has a tendency to overwork herself - almost accidentally - but that&apos;s typical here I guess.&lt;br /&gt;&lt;br /&gt;Her ordeal, and my encounter with the guy who disdained &quot;lab managers&quot;, made me realize something.  Many of the new hires are coming from crappy work environments, out in the world.  In their old places, if they had claimed their mistakes, they would have been happily crucified by their peers.  To earn a raise, they would have needed to make their case to disinterested managers who had no idea what was hard and what was easy, and were going by who claimed the most credit in big meetings or in their last self-evaluation.&lt;br /&gt;&lt;br /&gt;I think the real reason this is on my mind is because it&apos;s ongoing confirmation that this is the best job I could possibly have, especially in this craptastic economy.  But despite that, I&apos;m feeling an urge to travel, to try something completely different, to turn my life upside-down somehow while I&apos;m still young and tough enough to accomplish it.  Just to keep things interesting.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=299715&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/299715.html</comments>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/293754.html</guid>
  <pubDate>Thu, 18 Apr 2019 10:12:19 GMT</pubDate>
  <title>Letting the fish explore</title>
  <link>https://garote.dreamwidth.org/293754.html</link>
  <description>It seems strange to consider, but I am probably approaching a point in my career - maybe less than a year from now - when I can step away from the endless treadmill of computer use that I have been on for almost all of my life.&lt;br /&gt;&lt;br /&gt;I wonder:  what will change about me?&lt;br /&gt;Will I become more outgoing?&lt;br /&gt;Will my interest in people be renewed?&lt;br /&gt;Will I become happier, or less happy?&lt;br /&gt;Will I be more creative?&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/smallpic_TSF_VaultClerk.png&quot; style=&quot;float:right;max-width:27%;padding-left:0.5em;&quot; /&gt;I have used computers for so many different kinds of artistic pursuits that sometimes I actually catch myself wondering what other creative people can possibly be up to if they are not parked in front of a computer.  Sure, many writers prefer physical pen and paper, but those that don’t are usually sitting in front of a keyboard just like me.  Some painters may prefer the physical brush and easel, but the rest have moved to touchscreen tablets for flexibility and to save on materials.  Musicians almost never compose on paper these days.  Same with architects and engineers, until they need to print something for a construction site.  DJs and live performers have traded their massive mixing rigs for laptops with little pads and boxes dangling off them.  Seems like if everyone is migrating towards computers for artistic expression, then me being anchored to my own just places me ahead of the curve and changing my behavior would make me a Luddite -- a cranky old man sitting on his front porch and dreaming of a simpler time that&apos;s vanished into the past while he wasn&apos;t looking.&lt;br /&gt;&lt;br /&gt;But what can I say except the truth:  I am sick and tired of keyboards and mice and touchscreens.  Even switches and knobs and blinky lights.  The fact that those things are very versatile and that I am very good at using them has changed from a proud asset into a bland annoyance.&lt;br /&gt;&lt;br /&gt;I really do like music mixing, and writing little essays and letters, and organizing weird piles of information, and tweaking photos until they look the way I intended them to look when I pressed the shutter.  I have the soul of a filing clerk in me, and the computer makes him very happy.  But while he is humming blissfully away inside my head, my hands and feet and ass are complaining, louder and louder.  “Burnout” doesn’t really describe it anymore.  It’s an ongoing badly-controlled fire, and I count myself very lucky that I have inched my way this close to a financial situation that could allow me to take a long needed break from screens and keyboards and tablets and mice.&lt;br /&gt;&lt;br /&gt;So now I get to think about it -- not just as a dreamy “what if” scenario but as a real possibility.  What would it be like, if I didn’t have to spend every weekday anchored to a screen, thinking in code?&lt;br /&gt;&lt;br /&gt;Perhaps I can look at the vacations I’ve taken recently to get an idea.  Last June I spent a week at Toorcamp avoiding screens almost completely, and in July I went on a technology-light camping trip, then a trip hunting fossils in the desert with a camera, where I used the laptop only to dump videos for a few minutes each night.  How did those go?&lt;br /&gt;&lt;br /&gt;Well if I was looking for a common thread in these trips, it would be that there was a delay of a few days and then my mind started to wander in a bunch of interesting directions that it usually doesn’t reach.  At Toorcamp I really got to dig into my relationship with geek culture and see how a lot of it is just youth culture in a disguise that I can no longer comfortably wear.  On the camping trip I had a lot of interesting thoughts about structured versus unstructured time and my relationship to my work, and the way my parents and sisters influenced me.  In the desert I thought about maps and navigation, and deep time, and got to practice my cinematography.&lt;br /&gt;&lt;br /&gt;When I’m spending most of each day repeatedly dunking my brain in database and website code, these thoughts cannot crystallize.&lt;br /&gt;&lt;br /&gt;Another strong thread in common is that I found myself enjoying the company of other people way more often than usual.  I think this is because I didn’t need so much private time to reset my brain.  I know I’ve never been fully introverted - like most people I am a mix - but perhaps a lot of my current introversion is actually a side effect of my work.  It seems contradictory, but the evidence is telling me that an extended vacation might make me more of a people person and give me more room to think at the same time.&lt;br /&gt;&lt;br /&gt;Kind of a weird idea.  But I can see the sense in it.&lt;br /&gt;&lt;br /&gt;In the meantime, I build code and tend to my finances, and continue tinkering with the house, and doing all of the self-maintenance things that I need to do so that I can keep the money coming in.  It’s not like I’m in a bad position.  Middle-class life is a pretty good life.  But I do wonder, about that other half-seen version of myself, and if he will ever have a chance to emerge.&lt;br /&gt;&lt;br /&gt;When you&apos;ve been writing code for something like &lt;i&gt;thirty years straight&lt;/i&gt;, you start to wonder about stuff like this.  If you&apos;re lucky enough to go on a vacation of a month or more (I&apos;ve been able to do this exactly twice in this last 30 years) you notice that after the fourth or fifth week your brain starts to change shape really alarmingly, and it feels ...&lt;br /&gt;&lt;br /&gt;How interesting; the word I want to use is &quot;easy.&quot;  Any other mode of thinking feels incredibly easy, compared to writing code.  You look all around you at other people and realize with a twinge of jealousy that their brains get to take on all kinds of fun shapes, all day long, and just about all of them are way easier and more pleasant than what you&apos;ve been doing.  You are reminded why so few people do your kind of work even though the pay is very high:  It is very hard to do well for sustained amounts of time.&lt;br /&gt;&lt;br /&gt;And then woe is you, because when that month is over and you&apos;re back in the temple staring at the gigantic mandala and painstakingly etching out pieces of it, your brain writhes like a fish.  It wants to do anything - &lt;i&gt;anything at all, please, I&apos;m begging you, JUST ANYTHING&lt;/i&gt; - but write more code.&lt;br /&gt;&lt;br /&gt;But you plant both hands on top of the fish and add your knee on top, and eventually it stops writhing, and you write more code.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=293754&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/293754.html</comments>
  <category>work</category>
  <category>philosophy</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/289562.html</guid>
  <pubDate>Fri, 14 Dec 2018 05:06:04 GMT</pubDate>
  <title>A thought about college and anti-intellectualism</title>
  <link>https://garote.dreamwidth.org/289562.html</link>
  <description>Every now and then I see a news article float by from a &quot;respectable&quot; source, about how the working class of America has a collective distrust, even hatred, for intellectuals.  The narrative usually implies that the American educational system is going down the toilet because of this attitude.  Just behind that is the implication that if these hapless blue-collar people would just get off their lazy bitter asses and get an edumacation they would join the middle class and - shall we say - Make America Great Again.&lt;br /&gt;&lt;br /&gt;But I believe that colleges, as the self-proclaimed gatekeepers of higher education, should be under pressure to make their product actually useful to the people they sell it to.  As I see it, that utility can take two forms:&lt;br /&gt;&lt;br /&gt;If a college is courting people who want to elevate their career, their product should be valuable professional skills, at a fair price.&lt;br /&gt;&lt;br /&gt;If a college is courting &lt;i&gt;people with money&lt;/i&gt;, their product is a classical education that helps people fit in with, and form connections to, other &lt;i&gt;people with money&lt;/i&gt;.  That&apos;s where the real value is for those people, although it flies under a different banner, a more palatable one that reads &quot;Make you a more well-rounded and better human being.&quot;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/0997---Castlevania---Aria-o.gif&quot; style=&quot;float:right;max-width:32%;padding-left:0.5em;&quot; /&gt;Of course we can take the pragmatic angle and say that colleges are around to do both of these things, but the point here is this:  Sometimes people with money go to college, get a classical education, and then land a job afterwards through their connections, without actually learning the professional skills very well along the way.&lt;br /&gt;&lt;br /&gt;Or even worse, they go there without money, go into debt, work hard to learn the professional skills the college claims are important, and the college turns out to be wrong.&lt;br /&gt;&lt;br /&gt;I&apos;ve been working in my industry for a quarter of a century now.  Started it right out of high school.  I have seen &lt;i&gt;a lot of people&lt;/i&gt; here who fall into these categories.  People who blunder from job to job leaving things worse than they found them, bluffing their way through interviews.  People who are fabulously arrogant, believing that the way they did things in their final college project is the One True Way, starting needless arguments over which tools to use (Django or Ember?), which language to write in (C# or Python?), which methodology to apply (SCRUM or Agile?) and judging others for their ignorance of the One True Way.  And most often by far:  People who are simply unable to do the work, full stop.  Eventually you can get a sense for these people and even predict a time frame, for example, &quot;as a recent college graduate, this person will be completely useless to the company until at least six months have passed.&quot;  And possibly forever, if they don&apos;t knuckle down.&lt;br /&gt;&lt;br /&gt;This happens.  In my industry, it happens &lt;i&gt;quite a lot.&lt;/i&gt;  What is the proper response to this but skepticism of higher education?&lt;br /&gt;&lt;br /&gt;From my point of view, people &lt;i&gt;should&lt;/i&gt; be suspicious of a recent college graduate, until they&apos;ve proven themselves.  Especially when that graduate believes that being &quot;a more well-rounded and better human being&quot; is more important than being able to do the job.  Or when they declare that they know the work better than the people who have actually been doing it for years.  What is the proper response to arrogance?  It sure ain&apos;t deference.  &quot;You have a degree?  Oh sorry, I&apos;ll stop asking questions now.&quot;  Yeah, no.&lt;br /&gt;&lt;br /&gt;My father was the first of his family line to go to college.  I dropped out after five years because my vocation - learned outside of college - was already more lucrative than almost any other the college claimed to train and be the gatekeeper for.  My father was very frustrated with my apparent lack of a desire to do well in school (the undiagnosed ADD didn&apos;t help) and it soured our relationship for all of my teenage years, but eventually he had to recognize that I&apos;d made good on my own terms, and we eventually both agreed that college was not necessarily a path to the middle class, let alone the only path.&lt;br /&gt;&lt;br /&gt;I can tell you what did forge my path:  My parents worked hard to give me time and space, and I poured almost all that into the computer.  Call it an indirect version of apprenticeship.  I&apos;m incredibly grateful for that time and space.&lt;br /&gt;&lt;br /&gt;Now I work in a small company alongside 15+ highly educated biochemists.  Wonderful, smart, very hard-working people.  They had to put in grueling hours to learn their trade just as I did, but they had to pay out the nose to a college for the opportunity to do so.  Ask them, and they will tell you how annoying it is that a computer programmer who never took on a dime of college debt can pull down the same wage, and have higher job security.  (They can&apos;t blame the college for that, at least.  Supply and demand.)&lt;br /&gt;&lt;br /&gt;I&apos;m digressing a bit, but I&apos;m bringing this up to say that I fully understand the frustration that people out in the world feel when someone tells them that they are ignorant, or lazy, or lower class, because they do not have a college degree, or because they are skeptical that a college degree would appreciably improve their lives relative to the many other things they could (and do) pursue outside ivy walls. ... But the only reason I don’t take personal offense along with them is that I ended up making a crapload of money.  And that is really one of the best kinds of revenge.&lt;br /&gt;&lt;br /&gt;Success isn’t all about money, but if colleges are gonna take so much of it from people who have so little, then there should be pressure on them to deliver employable skills in return.  The &quot;more well-rounded and better human being&quot; part can come along as a bonus.  (It did for me.)  That pressure should apply whether the money is collected in private tuition fees, or collected invisibly as a tax on everyone.&lt;br /&gt;&lt;br /&gt;So the next time you meet someone who distrusts higher education, remember that colleges are not perfect and their place in society is not sacrosanct.  The pressure needs to be on.  A big ol&apos; pile of book-learnin&apos; doesn&apos;t exempt you from questioning.  But it does help you form answers, and you can put that to great use while you win over the skeptics.&lt;br /&gt;&lt;br /&gt;(By the way, California’s state college system is both affordable and high-quality, and a great mix of vocational and general education. Don’t forget to factor that into the argument when someone tells you that the US educational system is spiraling down the toilet.)&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=289562&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/289562.html</comments>
  <category>work</category>
  <category>philosophy</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/287653.html</guid>
  <pubDate>Wed, 03 Oct 2018 00:11:35 GMT</pubDate>
  <title>Arrrrrrr!</title>
  <link>https://garote.dreamwidth.org/287653.html</link>
  <description>&lt;p&gt;A few years ago I read about a company that started up in San Francisco, whose mission was to create a rating system for every single person on Earth.  People could go to their website and search for a name - including their own - and find a collection of reviews submitted by other people amounting to a quality score.&lt;/p&gt;&lt;p&gt;I don’t know how much investment money this startup managed to absorb before public outcry caught up with it, but it was clear to anyone on the outside that what they were creating was a gigantic trap door leading directly to social totalitarianism.  Supposedly if a person logged in and found that their rating was low they could adjust it by paying the corporation an ongoing fee, and the implications spiraled out from there.  Think about the implications for corporate-sponsored disinformation and propaganda, automated to the degree that it effortlessly reaches down into the individual daily conduct of individual lives:  Vote for us and your rating will go up.  Buy this and your rating will go up.  Complain about a problem and watch it go down.  And so on.&lt;/p&gt;&lt;p&gt;Meanwhile, I’m sure that the people on the inside of that company reassured each other they weren’t doing anything wrong, by saying that the product they were creating was merely a convenient way for people to &quot;express themselves&quot;, and was natural and inevitable, and all they were doing was trying to be first to market.  Perhaps they believed this system was arising within Facebook or Google and wanted to position themselves to be acquired for some huge amount of money.&lt;/p&gt;&lt;p&gt;And really that’s what it boiled down to.  It was a cash grab, like every other internet startup.  They believed they could insert themselves as intermediaries between people and their own social standing, and calculating the collective value of that position, they saw the potential to make so much money that it stopped mattering whether their goal was ethical.  The amount of money was so large it overruled everything.&lt;/p&gt;&lt;p&gt;I bet they all worked very hard to sell this idea as “the future”, to any investor who would listen, and simultaneously tried their best to hide what they were doing from the public and the media until they had a prototype, and a way to cram it down enough people’s throats, perhaps as a free service with ginned-up data scraped from other companies.  Then they&apos;d come up with some measurable sign of acceptance - like say, a bunch of numbers crunched out of their website traffic logs - and with that, shout victory as loud as possible until some big company bought them.  Even if they couldn’t sell totalitarianism to the entire world they could probably sell their company.  Then they could all retire to a private island, and the monster they made would be somebody else&apos;s problem.&lt;/p&gt;&lt;p&gt;How ironic that under the system they invented, their own cynical conduct would drive their personal ratings so far down into the negative that they could not participate in public life at all, and they would need that private island just to avoid the protestors.  On the other hand, they could use their buckets of money to erase their own ratings and clean up around the margins.  Either way, the company founders would be the perfect demonstration of why the company should have never existed.&lt;/p&gt;&lt;p&gt;This seems really plausible to me.  I’ve known for many years that information in aggregate has its own value, and that large companies such as Google and Facebook are primarily occupied with finding ways to exploit this aggregate information for financial gain.  It helps me to keep my eye on the ball.  Every time I look at a Facebook feed, I remember that money is changing hands as this information is presented to me, and then more money is changing hands as I interact with it, leaving my fingerprints behind.  I have no power to monetize these things I’m doing, but Facebook’s position as the intermediary gives them that power.  And people all over the Earth use this apparently free system and declare, “So what; it only adds value where there was none before.”  At least, until some piece of information being stored and presented by Facebook interferes with a person&apos;s ability to conduct their own affairs, and they realize they can’t do a damn thing about it.  Information you post is supposedly controlled by you -- but information posted by others about you is not.&lt;/p&gt;&lt;p&gt;So it really is no surprise to me that a bunch of startup-culture douchebags tried to take this activity to the next level.  Probably independent groups of them tried it many times, and only one was unlucky enough to make the news.&lt;/p&gt;&lt;p&gt;The reason this is coming to my mind today, is that for the first time in my life I find myself participating in a technology startup company whose product I would never personally consume, but whose market potential is measured in tens of billions of dollars.  It is compelling me and everyone around me to work very hard, and our attitude is partially fueled by a belief that our product is inevitable and the only question is whether we will occupy the market first.&lt;/p&gt;&lt;p&gt;There are other companies working towards the same goal, with the same visions of dollar signs dancing in their heads, buttressed by a - frankly less important - belief that this product is beneficial to society in myriad ways.  Sometimes I read about them in trade publications.  Several of them have made grand preemptive announcements, attempting to garner more financial support for their work, or scare away competition.  But our company is not particularly worried by any of them because we have a very good team -- and some very key patents.&lt;/p&gt;&lt;p&gt;At a time in my life when I have been seriously considering the prospect of entirely abandoning the career I have worked in for almost 30 years, in order to broaden my horizons and renew my interest in work and life itself, this job has chucked a golden lasso around me, tethering me to this work, offering me not just the prospect of the reasonably secure retirement I have been inching towards all this time, but the prospect of instant retirement.  Work a few more years, sell the company, sell my stake, and ... done.  Not &quot;private island&quot; done, but, for the average person with a modest lifestyle, done.&lt;/p&gt;&lt;p&gt;And you know, if I sat down and asked myself, “what would it take to keep me in this career for another damn year,” this scenario would probably - but only just barely - be the one thing that convinced me to stay.  And here I am anyway, without even asking the question.&lt;/p&gt;&lt;p&gt;Thankfully I am not in the same situation as the employees of that defunct “social review” startup.  The product I am helping to deliver does not have a downside that I can see.  But I still find myself worrying, during quiet moments, over the fact that it’s a product that I would never personally  use.  Essentially I am worried that I’m being a hypocrite for the sake of money.  And that makes me worry that at some point, perhaps years ago, I stepped through the technology looking glass and lost sight of the real world, and I can’t trust my own sense of right or wrong - or useful, or harmful - anymore.&lt;/p&gt;&lt;p&gt;This creeping sense that I lack perspective has been exactly the thing compelling me to change my career - or take some other kind of drastic measure, whose details I can’t decide - and rearrange my destiny.  The weight and quantity of unknowns I sense around me feels like a confinement; like blindness.  I want to explore, and give myself over to this exploration with the same hours-every-day discipline that I’ve fed into my career for so much of my life.  And I’m actually within reach of that, in my own shoestring way, with no need of permanent retirement.  I have the means to make this change any time, and not worry overmuch about it, and not look back.&lt;/p&gt;&lt;p&gt;I feel like a sailor, grizzled and sore from years before the mast, ready to disembark at the very next port and walk off into the country with some reading glasses, some gardening tools, and some tidy little savings for a new start, and as I gaze out over the railing into the same old churning sea for what I’m guessing is nearly the last time, a fucking bona-fide neon-lit mermaid has jumped up from the depths, with seaweed hair and shells on her boobs and everything, and shoved a god damn treasure map into my unresisting hands, bearing a wiggly dotted line and a gigantic X with skulls and gold coins drawn all around it, and suddenly everyone on board is singing “yo ho, yo ho,” and the first mate turns to me and winks and says “what be our next course, cap’n?  AAAAAAARRRRRR.”&lt;/p&gt;&lt;p&gt;It’s a bit much, and I can’t quite get my head around it, and meanwhile the ship is plowing back out into the deep ocean yet again as everyone dances madly around on deck doing yet another stupid hornpipe, and it’s hardtack and hemorrhoids and who knows how many more days at sea and some of us won’t make it ashore at all in the end.  Here we go.&lt;/p&gt;&lt;p&gt;I guess I could always jump ship.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=287653&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/287653.html</comments>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/276630.html</guid>
  <pubDate>Thu, 26 Oct 2017 06:13:43 GMT</pubDate>
  <title>Code exams</title>
  <link>https://garote.dreamwidth.org/276630.html</link>
  <description>I recently stepped from one job into another.  On Friday I was working for the Berkeley labs, then on Monday I was working for a startup company across the street.  From my new office, I can look out the window and see the sunlit hallway in the old building, where I used to take snack breaks.  My bicycle commute is exactly the same.  Nice!&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/shadoworld-1.gif&quot; style=&quot;float:right;&quot; /&gt;The old job was being cut due to lack of funding.  I was going to spend a while &quot;funemployed&quot; after that, but with a couple weeks to go I changed my mind and hit the job market.  During those few days I brushed up my interview skills.  This drove me a bit bonkers.&lt;br /&gt;&lt;br /&gt;There are a zillion companies now that claim to be able to train you for an interview -- or interview your candidate for you, with multiple-choice quizzes and in-browser code tests.  These vary in quality and content, more than you can imagine.  The worst of them are crowd-sourced, going for quantity so they can boast &quot;thousands of questions&quot; on their press material.  All the questions - multiple choice, fill in the blank, whatever - are weird nit-picky crap.  All of them.  The ones that aren&apos;t are so few that they&apos;re within the margin of error in the measurement and don&apos;t matter.&lt;br /&gt;&lt;br /&gt;I took a quiz on Bootstrap and the first question was:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&quot;Which of the following classes are generated on a blue button in the UI: btn-blue, button, ui-btn, blue?&quot;&lt;/blockquote&gt;&lt;br /&gt;Are you fucking kidding me?  Is that knowledge absolutely essential in sorting out n00bs from rock stars?&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&quot;Does Javascript&apos;s getDay() function return the weekday starting from 0 or from 1?  Does the lowest value represent Sunday, or Monday?&quot;&lt;/blockquote&gt;&lt;br /&gt;Oh wow, yeah, I need to look that up at least twice a day.  I should have it memorized.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&quot;What&apos;s the default duration of a jQuery.fadeOut() call?&quot;&lt;/blockquote&gt;&lt;br /&gt;Answer:  Fuck you.&lt;br /&gt;&lt;br /&gt;Then there are the sites where you actually write code.  They are better, but they have their own problems.  Sometimes the answer they expect is very, very specific, and if you don&apos;t follow their formatting, or put commands in the same arbitrary order, you lose.  Eventually I settled on the Codility website, which didn&apos;t suck.  I barreled my way through ten of their tests, picking them at random, switching between Python and Javascript.  Felt pretty good!  Then I hit a problem about calculating &quot;semi-prime&quot; numbers.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Find the number of semiprime numbers (numbers that are the product of two primes) within the range (P, Q), where 1 ≤ P ≤ Q ≤ 50000.  Your program must have a worst-case run time of &lt;b&gt;O(N*log(log(N))+M)&lt;/b&gt; or better.&lt;/blockquote&gt;&lt;br /&gt;There is exactly one way to solve this, and it means implementing a modified version of an algorithm called the “&lt;a href=&quot;https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes&quot;&gt;Sieve of Eratosthenes&lt;/a&gt;”.  Go read about it; I&apos;m sure you&apos;ve never heard of it.&lt;br /&gt;&lt;br /&gt;This problem is dropped in with a bunch of others about sorting arrays, walking trees, and munging lists.  Guess how often the Sieve of Eratosthe-butt-ass has come up in &lt;i&gt;thirty years&lt;/i&gt; of a very respectable programming career?  That’s right.  Not once.  But you either know it, or you don&apos;t.  Or you&apos;re Nicomachus of Gerasa from the year 60, and you come up with it on the spot.&lt;br /&gt;&lt;br /&gt;You know what this is?  This is like qualifying a construction worker to operate heavy machinery by testing his skills with the drop-claw game at the pizza parlor.&lt;br /&gt;&lt;br /&gt;Anyway, I quit after that.  I&apos;d gone far enough.  Any interview that would ask me about the Sieve of Erazzo-poof-shart is an interview I&apos;d be happy to flunk.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://garote.bdmonkeys.net/livejournal/disk_cover-tutsim.jpg&quot; style=&quot;max-width:80%&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=276630&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/276630.html</comments>
  <category>computing</category>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>9</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://garote.dreamwidth.org/266494.html</guid>
  <pubDate>Thu, 05 Jan 2017 06:05:09 GMT</pubDate>
  <title>More thoughts on obsolescence</title>
  <link>https://garote.dreamwidth.org/266494.html</link>
  <description>From an email thread with Chaz, spruced up:&lt;br /&gt;&lt;br /&gt;At the Oakland farmer&apos;s market last weekend there was a 17-year-old kid with a full drum kit set up on the sidewalk.  He sounded amazing, and I could have sat there eating my fancy-pants crepe on my paper plate and listening to him for the entire afternoon.  He had a nice stack of money collected in his hat after a few hours.  That&apos;s cool; he&apos;s expressing his passion, and getting paid for it.  He has a bright artistic future ahead of him, but still, I know he&apos;s not going to be nearly as lucky as I was.  My passion turned into a zillion-dollar industry.&lt;br /&gt;&lt;br /&gt;As a group, us geeks have won a huge victory, wielding massive influence in culture as well as economics all over the world.  There are live-televised RTS games with sports commentators now.  There are video game characters on ice-skating rinks doing tricks for families.  There are billion-dollar movie franchises based on comic books, on elves, on vampires, on wizards, on space exploration, being dubbed in a dozen languages.  You and I personally have written code that&apos;s passed through a hundred million pieces of hardware.  You and I have seen our closet hobbies become cultural touchstones.  Curating a software collection and building an online persona was just for geeks - now it is for &lt;i&gt;everyone in the modern world&lt;/i&gt;.  Catchphrases we used to throw around have become the bedrock of new language.  Everyone knows what a hacker is; everyone knows what spam is.  We have set tastes and precedents on a scale that is hard to overstate.&lt;br /&gt;&lt;br /&gt;Yet, you and I remember when a lot of this was just some farty little thing happening in a coffee shop, or a ratty club, or a ragtag college group, and while we loved it, everyone else ignored it or actively scorned us for it.  We lived through a time when nerds were still considered a group that needed &quot;revenge&quot;.  And now, this stuff has become so widespread that it&apos;s not even &quot;our people&quot; doing it any more.  Our victory has swept around the planet like a wave, and come back at us filled with alien creatures and wreckage.  To the old timers it probably feels like cultural appropriation.  (Though of course, no one would take their side in that argument.)&lt;br /&gt;&lt;br /&gt;Drowning in a crowd of imitators is not the standard outcome when you get older.  Usually, the interests of older people are plowed under and forgotten by the next generation.  This crowd is an anomaly, and an honor.  Having people fawn over the things we create, and say, &quot;wow&quot;, and &quot;if only I could do that&quot;, is great, but ... our creative skills have also directly transformed into a means to make &lt;i&gt;boatloads of money&lt;/i&gt; ... and money is even better than praise.  That&apos;s way beyond &quot;revenge&quot;.  It&apos;s no surprise that this level of victory has spawned several generations of people running in the same footprints.&lt;br /&gt;&lt;br /&gt;Two generations of new recruits has packed itself into this industry and the physical and cultural area around us, and the competition is fierce, and the growth is still exponential.  But they&apos;ve mostly grown the base, and that&apos;s grown the top, and paradoxically there is more room for us than ever before, and that room is higher up, in respect and in wages.&lt;br /&gt;&lt;br /&gt;The other day I was out at lunch with a group of people who were newly hired to the lab - 20-somethings mosty - and one of them came up to me and said, &quot;hey, are you the guy who wrote that &apos;Command Line&apos; follow-up essay with Neal Stephenson?&quot;  I recognized him as one of the people I&apos;d interviewed, back when he applied for a job months ago.  He must have dumped me into a search engine.  I felt a bit panicky - does this mean that I have to be as impressive to this guy, as Neal Stephenson is impressive to me?  I know that&apos;s not gonna happen.  I said, &quot;well, we didn&apos;t collaborate or anything.  He just said a few things to me and approved what I wrote, and that was that.&quot;  I steered the conversation as quickly as I could into some tangential topic, and cracked a few jokes.&lt;br /&gt;&lt;br /&gt;Perhaps this is the sort of cachet you and I have, now, even if it&apos;s by accident.  Things we&apos;ve done are now popping up in other people&apos;s discussions.  It&apos;s natural given the growth and scale of this whole computer thing.&lt;br /&gt;&lt;br /&gt;Of course, we&apos;re not essential.  The newcomers can innovate just fine on their own.  They don&apos;t care for us personally; they just like the same stuff we do -- or did.  We were the conduit for something that became massively powerful, but we don&apos;t need to grasp the One Ring and destroy ourselves trying to wield it; we can remain ourselves, and diminish into the west.  Either way, it&apos;s amazing that we can contemplate that choice.&lt;br /&gt;&lt;br /&gt;It&apos;s kind of great being non-essential.  We don&apos;t have to worry about &quot;legacy&quot;.  If I want to spend the rest of my life messing around in my garden, riding my bicycle, and excitedly discussing science fiction, that&apos;s fine.  If you want to sit in your cozy room and knit sweaters for people you love, and find the perfect cup of tea, that&apos;s a perfectly excellent way to spend time as well.  Inspiration and obsession will strike soon enough - they always have - and you&apos;ll find yourself on some insane adventure again.  Let the excited young people work 55 hours a week, changing the world, aiming for &quot;disruption&quot; -- whatever that is.  There&apos;s no need to compete with them.&lt;br /&gt;&lt;br /&gt;The spotlight was going to shift elsewhere eventually.  Good thing we never needed it.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=garote&amp;ditemid=266494&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://garote.dreamwidth.org/266494.html</comments>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>
