HN user

foooobaba

238 karma
Posts4
Comments82
View on HN

A large part of west Nebraska is known as the “sand hills” it’s not very fertile mainly cattle ranchers are out there. It is interesting that 30 miles or so east of where sand hills start is some very good farm land, but go west into the sand hills you risk blow out if you try to do anything with the soil (basically if you uproot some grass it will create a patch of sand, over time the wind will make the patch of sand bigger and bigger). In fact sometimes people put stuff like used tires in the spots to help prevent blowouts from getting bigger. Another fun fact about sand hills is that when it rains it replenishes the underground Ogallala Aquifer which is a pretty amazing source of water, one of biggest in the world, and very important for irrigation ect. Anyways, I think that geography has a lot to do with eastern side being more populated.

[1] Sandhills: https://en.m.wikipedia.org/wiki/Sandhills_(Nebraska)

[2] Ogallala Aquifer: https://en.m.wikipedia.org/wiki/Ogallala_Aquifer

Losing my son 3 years ago

There is pain, and there is real pain. This is real pain. When life hits you like this, it's important to just endure, rather than escape. Trying to escape the pain can lead to addictions and behaviors that bring more problems. Some people are hit with pain like this and live a whole life trying to escape it, but never do. Best thing is accept, grieve, and continue on. Regardless, you will not be the same person, this will change you. Sometimes life just sucks, and there is no way of saying it doesn't, only time and love can help. However, the sun comes up every morning, and there is a sunset every night.

This is for anyone out there suffering some acute trauma like losing a loved one, or a chronic trauma like abuse over many years. I have experienced both, and it took me over 15 years to realize what had happened and to recover. I originally chose escapism. I didn't realize it at the time, but that's what it was. I was always into something, eventually even substance abuse. Ironically, escapism is how I ended learning to code, which was an escape for me. However, I also ended up being around even worse things and witnessing more death, while living broke and stressed out. This dragged me into even more suffering to the point of wanting suicide every day, but I just couldn't do it. This was a combination of escapism, and being around people with the same negativity as me.

Fortunately in time, I found myself, and realized everything that had happened, and how life can just be like that. But also how beautiful and exciting life can be as well. This would not have happened had I not met certain people that showed me what it means to love, and to be mentally strong. Also, by reading and learning you can find inspiration and love from someone that you will never meet in real life. Regardless, we need support of strong and positive people around us. We are a social species after all. When dealing with death/loss, remember the good times, be thankful for the time we had, and leave it at that - easier said than done.

The sun will rise tomorrow, and you will too. Take care, friend.

If you are willing to pay, some of the courses and programs like micro masters, micro bachelors on edx can count for credit, which is not necessarily cheap, but may be cheaper than it otherwise might be [1], also see [2] as example.

All though even then, it may be cheaper to just enroll in some local or online classes at a community college in your state for a couple hundred dollars.

[1] https://support.edx.org/hc/en-us/articles/206501438-Can-I-re...

[2] https://www.edx.org/masters/micromasters/purduex-nano-scienc...

You should try to petition your state governor office to get the felony removed. It is a long time consuming process and will likely need help from a lawyer, but I have friends that have successfully gotten their felony removed after several years of diligently trying again, and of course good behavior in the mean time. It may never happen, but might as well give it a shot, it can’t hurt.

GraalVM for JDK 21 3 years ago

I was considering this, working on a new javafx app for a side project. Using java 17, and generating binaries with fxlauncher/jpackage/wix is not working great imo. Any good recommendations on tooling for using the graal route? I develop on linux but most users will be on windows. It would be great to not have to use windows vm for building the binaries (but i can if needed ofcourse).

Not bad (chat gpt can do this too) but it seems to be on par for this “simple” task:

Write me a python function that accepts a list of filenames and uses threads and queues to load them in parallel with the pickle library

Also, please output the results to a queue as well

Final result

  import pickle
  import threading
  import queue
  
  def load_files_in_parallel(filenames, results_queue):
    """Loads a list of files in parallel with the pickle library and outputs the results to a queue.
  
    Args:
      filenames: A list of filenames to load.
      results_queue: A queue to hold the results of the file loads.
  
    Returns:
      None.
    """
  
    # Create a queue to hold the file handles.
    file_handles = queue.Queue()
  
    # Create a thread pool to load the files.
    threads = []
    for _ in range(len(filenames)):
      thread = threading.Thread(target=load_file, args=(file_handles, filenames.pop(), results_queue))
      threads.append(thread)
      thread.start()
  
    # Wait for all threads to finish.
    for thread in threads:
      thread.join()
  
    # Return the list of objects loaded from the files.
    # No need to return anything since the results are already in the queue.
  
  def load_file(file_handles, filename, results_queue):
    """Loads a file and adds it to the results queue.
  
    Args:
      file_handles: A queue to hold the file handles.
      filename: The name of the file to load.
      results_queue: A queue to hold the results of the file loads.
  
    Returns:
      None.
    """
  
    # Open the file.
    with open(filename, 'rb') as f:
      obj = pickle.load(f)
  
    # Add the object to the results queue.
    results_queue.put(obj)

“Do I want my 16-year-old operating a power saw as a job? No, I don’t“

- then don’t let them? Why do you need to make it illegal for everyone else?

Iowa is mostly a rural state, and growing up on a farm you learn to operate power tools when you’re 10, and there are plenty of 16 year olds in Iowa that are more than capable of running a power saw and working on roofs and are proud to do it. Better than sitting around and playing video games, getting in trouble, or even sports for that matter. IMO more likely to get injured in sports like football than operating a power saw.

It’s annoying but not super hard to replace apple batteries, atleast for iPhone you can just buy a $30 kit on amazon and replace it, even with a higher capacity one too. It could be made easier but it takes less than 30m start to finish, and there are plenty youtube videos if you’ve never done it before.

GPT-4 3 years ago

I work in legaltech, and we use cloud services like aws for lawsuit data, and lawyers trust it. Any 3rd party must of course be vetted and go through NDA, and follow regional laws and guidelines ect, but using the cloud is definitely used for legaltech documents including sensitive data.

I think this idea of having formal methods integrated with AI code gen will be really powerful. If we can write verifiable specs, or even a way to automate approximate verification, then it can be used a s a scoring function to train an machine learning algorithm that performs codegen.

This is cool, I briefly read through the paper, one thing I’m curious of is how hard it would be to add ability to do scale transformation (eg zoom in/zoom out) in addition to translation and rotational transformations. Would it be as simple as just adding a scale factor to the optimization objective and rework a bit of the math?

The FFT is not used for that. For multiplying two polynomials C(x) = A(x) B(x) then FFT is used to evaluate the polynomials (evaluated at complex roots of unity) to FIND the Lagrange interpolating polynomials for A(x), and B(x) in O(nlogn) time. Then the Lagrange interpolation is evaluated in O(n) time compute the y values for y= A(x)B(x), then FFT is used again to compute the coefficients of the final C(x). This is discussed on pages 825-827 of CLRS and the diagram on page 828 shows this in a nice diagram (the pointwise multiplication refers to evaluating the Lagrange interpolating polynomials).

You may need both therapy and experience. I have no idea if this is the case, but maybe you’ve had a rough time with things and you just think it’s normal since being tough and just continuing on no matter how hard it gets is just a way of life. I also grew up a rural farmer in the country, and it took me over 10 years to find out the thing I had been struggling with was result of a combination of factors including various “traumatic” experiences (chronic, acute, vicarious) that previously I just overlooked and didn’t think much of. If you still don’t want therapy [1] might be helpful, again idk your situation, but for me it was very helpful.

Regarding “professional” type stuff for coding, it’s really no different than building something to last and be reliable on the farm, and you get comfortable with it over time. For example instead of duct taping or hastily wiring something up, sometimes you really need to take some time and measure properly, cut, weld ect.

Since you’re still a student, one option you might consider is looking for an internship (remote), you’ll still get paid and the expectation is that you don’t have experience to all the stuff they don’t teach you in school (logging ect).

Another thing you can consider is maybe see how you can build some tech for the farm and even try to sell it or let some other farmers use it for free. You can get creative like use sensors/actuators, arduino/pi, data from your equipment, data from your vendors, satellite or drone imagery, robotics, integrate with a database or mobile app or your existing equipment. Then as you encounter problems and fix them, you’ll start getting interested in all those things like logging and unit testing, CI/CD, ect to make your system more reliable. Especially if you or others begin to actually depend on it. It will become one of those things you are building to last. That will give you something to boost your confidence and discuss during interviews, even if you make no money or little actual value from it. There is also the chance it can be a nice little side hustle or even bigger opportunity, you never know.

Good luck

[1] Trauma: The Invisible Epidemic: How Trauma Works and How We Can Heal From It https://www.amazon.com/Trauma-Invisible-Epidemic-Works-Heal/...

OpenAI-to-SQLite 3 years ago

But yes, if you ask OpenAI to predict next set of tokens (which is how chat works), it won’t be up to date with latest information. But if you’re using it for embeddings this is less of a problem since language itself doesn’t evolve as quickly, and using embeddings is all about encoding the meaning of text, which is likely not going to change so much - but not to say it can’t for example the definition of “transformer” pre 2017 is probably not referring to the “transformer architecture”.

OpenAI-to-SQLite 3 years ago

You don’t need to know the target queries, if you compute embeddings of your entries and your query you just find which embeddings are closest to your query embedding. The advantage over using synonyms is that the embedding is meant to encode the meaning of the content such that similar embeddings represent similar meaning and you won’t need to deal with the combinatorial explosion of all the different ways you can say the same thing with different words (it can also work for other content, like images, or multi language if ur network is trained for it).