Hacker News new | past | comments | ask | show | jobs | submit | bluejellybean's comments login

I've been sharpening my axe by working on a few different projects in the shape of of an online shop[0][1]. Products are a bit of a mishmash as a result of the different projects - To date, I've been farming succulents, 3d modeling/printing (flower pots/hobby crafts/etc), and learning Rust/Next.js for the back/front ends!

Time investment has been _massive_ so far, but I just hit the first $100+ profit month, and despite the distance from my normal dev salary, the positive reviews/feedback have been an incredible reward that drives the motivation to continue. I will also say that it is quite the humbling experience to ship physical products and the experience has given me a whole new appreciation for the things we have in this world.

Early days, but check it out :)

[0] - https://freedomfrenchie.com [1] - https://www.etsy.com/shop/FreedomFrenchie


> Medium used to have an aura of carrying more reputational weight than a personal blog did.

At least within the realm of technical discussion, I'll be continuing to view it as a mostly negative signal. The institution is very rarely the individual, and there isn't value in assigning positive weight when said institution doesn't carry any itself.

Increased friction is counter-intuitively a positive here, it shows that the author has at least put some real investment into the presentation of their work. Don't get me wrong, doesn't need to be a fully self-designed/built website, just spending some cash on a domain && Wix template is at least _something_ more than throwing words at a page to profit.


I've been going back and forth for a blog/website relaunch. My current thinking is I'll just go with a new template on Google Blogger. I've actually been happy enough with that over the years.

I don't cross-post to Medium any longer.


> No pilot has ever inspected let alone installed a door plug.

Guess we run in different circles!


woah woah woah, let's be careful about these cowboys now - We NEED that bureaucracy in place for reasons!


I did just this a few days ago, it's incredible how many people will come up and ask to pet your dog. Some will keep moving quickly, others will talk about their own animals, and some will drop little hints about themselves to further a conversation. Aside from everything fun about a companion, it's really is a fantastic feeling to be able to see someones eyes light up, you're brightening up their day!


Yupp, it can! I've been able to get it to do simple examples. I was able to get it to print out a 'sum of digits' style function. I was then purposefully placed a silly bug in it by hand. I then ran the code through a 'please code review' style prompt, got a number of decent suggestions out. Using those suggestions, I was able to prompt it to refactor the function to: fix the bug, add documentation comments, include type definitions, and even add tests!.

A simple example, and not 'perfect', but it's quite impressive. Even a simple case of throwing your code 'over the wall' to the AI for review before going to an actual person is a huge time-saver.

The token size limit is the killer here, it means larger files, let alone projects, can't be fully processed in a single prompt.

Initial code produced: ``` def sum_of_digits(n):

    if n == 0:

        return 0

    else:

        return n % 10 + sum_of_digits(n // 10)
```

I didn't save the exact code review, but essentially it was just a list of suggested code changes. The prompt was:

``` prompt = f'Python3. Act like you are a senior engineer writing a code review comment on the code. Write at least two specific changes to make, being sure to check for any errors first: {prompt}. Be as concise and correct as possible, and also be sure to write in a way that is easy to understand.

```

The resulting output code was:

``` import unittest

def sum_of_digits(n):

    if n < 0:  # Added base case check for negative numbers

        return None

    elif not isinstance(n, int):  # Check type of argument passed in

        raise TypeError("Input must be an integer")

    elif n == 0:

        return 0

    else:

        return n % 10 + sum_of_digits(n // 10)


# Unit tests using built-in test suite

class TestSumOfDigits(unittest.TestCase):

    def test_sum_of_digits_positive(self):

        self.assertEqual(sum_of_digits(123), 6)



    def test_sum_of_digits_negative(self):

        self.assertEqual(sum_of_digits(-123), None)


    def test_sum_of_digits_type(self):

        with self.assertRaises(TypeError):

            sum_of_digits('abc')
if __name__ == '__main__':

unittest.main() ```

Edit: trying to cleanup hn formatting for readability


> Edit: trying to cleanup hn formatting for readability

HN code formatting is simple, prefix each line with 2 spaces and then you don't need any extra blank lines like with normal paragraphs.

  class TestSumOfDigits(unittest.TestCase):
      def test_sum_of_digits_positive(self):
          self.assertEqual(sum_of_digits(123), 6)

      def test_sum_of_digits_negative(self):
          self.assertEqual(sum_of_digits(-123), None)

      def test_sum_of_digits_type(self):
          with self.assertRaises(TypeError):
              sum_of_digits('abc')

  if __name__ == '__main__':
      unittest.main()
``` does nothing, it's just noise here.


Completely agree with this sentiment, and the general idea that this is a pretty monumental moment in time. In a couple of hours of work, I've been able to prompt for something like "Get an nginx server and node.js backend up and running", have it generate a rough outline of todo elements, add color/detail to each outlined todo, and write tickets. The tickets even included a title, what done looks like, how to QA, and additional background info as to how this ticket fits into the greater whole. The only thing I didn't get it to do was the actual code writing because I figured this article, or another like it, would prove out it's capabilities for me. Even if the code comes out looking rough like a junior wrote it, the ability to prompt for edits in the PR review should allow us to resolve most issues.

When you feed one level of prompt output into the next using some functional tricks, the ability to layer high-level ideas into the engine become extremely powerful. Even if this isn't 'true' AGI, with a few prompt scaffolding libraries, it won't exactly matter. I'm convinced this is going to radically shake up the entire software field at a process level. Both exciting and scary times ahead.


So writing code in the near future would not be unlike having manage 10s or potentially thousands of folks (ml models/agents) who have taken two semesters of CS. #EternalHacktoberfest

What your thoughts on doing TDD with this, write the unit tests to write the code. But go one step further and have it generate tests from the spec. Repeat until 1=1.


Near future, that seems right, further out I am guessing GPT-4 could enable the level to a couple years of real-world skill instead of two semesters.

With the pipeline as such: business need -> tasks/cards outlined -> tests written -> code written -> refactor as changes needed

There is still a need for someone to manage the business to task relationship. Let the business person prompt, and the engineer to confirm the prompt output tasks makes sense technically, edit for any errors, and do any modifications needed for specific architectural choices or desired abstractions. With well-enough defined tasks, you can start to write the tests that conform to those tasks. Again, engineer checks the prompt-output, ensuring the tests line up with the card, making any edits as required. With tests written, the code can be written such that it conforms to the tests for correctness, cards for general I/O, and business use-case for domain-specific variables and such.

It's the same domain splits that occur in our current day-to-day practice that are cause for pain. Business person and product person have a miscommunication, the wrong tasks/cards get outlined. The task writer and the test writer have a miscommunication, the tests get written poorly and problem the business is trying to solve gets murky. The tests are written poorly so the code is written poorly. The code is written poorly so the product must be refactored.

The understanding of each others intent must be had and communicated effectively or the downstream problems will mount quickly. It's in this area where GPT-3 still seems a bit lacking, and maybe GPT-4 will resolve the issue a bit. Another worry I have with this sort of model is the spaghetti and debuggability a misunderstanding may have. When code is written more slowly, as is the case today, one is able to mentor the junior and provide feedback over the process. This not only prevents a huge mess, but allows the team to resolve any initially unsaid misunderstandings.

The speed and scale of messes one can now create with this tool is completely massive!


I say this as someone who has been heavily using the command line for the last decade, even if you "know" how to use a CLI decently well, go read this if you haven't. From only a couple minutes of reading I found not one, but two new tidbits that I never even considered looking up. This information will completely change my daily levels of frustration when using a CLI. Very, very high ROI link.


What were the two tidbits for you?

Some notable ones for me:

* curl cheat.sh/command will give a brief "cheat sheet" with common examples of how to use a shell command.

* `sort -h` can sort the output of `du -h`

* https://www.gnu.org/software/datamash/

* https://catonmat.net/ldd-arbitrary-code-execution


> `sort -h` can sort the output of `du -h`

Not read the article yet, but this is something that is new to me but probably shouldn't be. Hopefully I'll remember it next time it might be useful!

Also scanning the sort documentation for other bits I'd not remembered/known, I notice --parallel=n – I'd just assumed sort was single-threaded, where it is not only capable of multicore sorting but does so by default. Useful to know when deciding when to do things concurrently by other means.


Molecular Biology of the Cell got me extremely excited about genetics and bioinformatics, highly, highly recommend this book to any software person I meet who is interested in biology.

As to the work environment, it seems to be extremely varied depending on the lab and team your on. I came from a number of years doing web development in marketing and finance before joining an R1 university research lab, and in many ways the day-to-day is quite similar in both fields. You are not the 'go-to' person for most things, but with that said, even as an individual contributor I feel my voice is heard on technical decisions where appropriate. As for pay, it's the biggest aspect that will make me leave at some point. If you do not have a PhD, or even a degree in my case, you can't expect to get paid a lot. As to the speculation on the satisfaction of the work, it is indeed deeply satisfying!

I got to have a conversation with one of the hero donors that gave a kidney biopsy after a life-saving transplant. It's hard to overstate just how impactful your work feels when talking to someone like that. Even as a small cog in the larger machine (our lab is around 50 strong with many people being at the top of their sub-fields), the end results of the effort will be massive improvements in individuals quality of life, this alone makes it quite easy to get out of bed in the morning.


Any particular edition of Molecular Biology of the Cell you’d recommend? I just looked up the 7th edition on Amazon (seems like the latest) and it’s $300 USD. Oof.


I've still got my 3rd edition copy (from 1999 when I was an undergrad molecular biologist). Most of the basic biochemistry and molecular biology will be exactly the same--it hasn't changed much if at all. While there have been lots of additional details added over the last two decades, the fundamentals are unchanged for the most part.

This wouldn't apply to other fields such as Immunology (Janeway's Immunobiology) where I have purchased multiple copies of the years due to the field changing so fast.


I'm on #3.

An awful lot has changed since 2000. RNA is now a Thing, where it was just a poor stepchild before. Protein folding, of course.

But yeah. The pictures are shining examples of what a scientific diagram can be.


Go on ebay and by the "international" edition


What level of chemistry do you need to know in order to benefit from reading the text?


I guess I am in the minority because I don't run an AC unit in my bedroom office here in Ann Arbor, Michigan. The humidity can get a little miserable during the height of the day, but it's completely tolerable as your body adjusts. For the few days each year when we get into the 90s, I strap a couple of reusable ice-packs from my ice chest to my back, neck, and seat. This method works exceedingly well for affordable cooling until the night temperatures bring everything back into comfortable territory.

I visited Texas this summer and the consistency of the 100+ degree days turned me off from ever considering that part of the country. I find that it's just too hostile to life; heaven forbid you experience a power outage for a week causing your AC to become a useless heap of metal; what then?

Edit: Does this data count heating as well? Whenever I hear "AC" I typically think cooling, thus my main comment is focused on that aspect. Heating here really only needs to be enough to keep pipes from freezing, beyond that, it's very easy to stay warm with enough clothing, blankets, and body movement.


Reading a Mr. Money Mustache article about heat acclimation really changed my mindset about air conditioning. For the past several summers, we've used minimal-to-low AC. It helps that we both work from home now, so we're not spending our days in a highly-air-conditioned office.

https://www.mrmoneymustache.com/2012/06/14/the-worlds-most-e...


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: