Hacker Newsnew | past | comments | ask | show | jobs | submit | proamdev123's favoriteslogin

His article https://andymatuschak.org/books/ inspired me to build https://readboost.io/ to embed Q&A and SRS into ePubs. Might be buggy still, but I personally found it quite useful!

I very highly recommend a blog post by this same author: [How to write good prompts](https://andymatuschak.org/prompts/). This post made spaced repetition click for me.

I think most tech folks struggle with it because they treat LLMs as computer programs, and their experience is that SW should be extremely reliable - imagine using a calculator that was wrong 5% of the time - no one would accept that!

Instead, think of an LLM as the equivalent of giving a human a menial task. You know that they're not 100% reliable, and so you give them only tasks that you can quickly verify and correct.

Abstract that out a bit further, and realize that most managers don't expect their reports to be 100% reliable.

Don't use LLMs where accuracy is paramount. Use it to automate away tedious stuff. Examples for me:

Cleaning up speech recognition. I use a traditional voice recognition tool to transcribe, and then have GPT clean it up. I've tried voice recognition tools for dictation on and off for over a decade, and always gave up because even a 95% accuracy is a pain to clean up. But now, I route the output to GPT automatically. It still has issues, but I now often go paragraphs before I have to correct anything. For personal notes, I mostly don't even bother checking its accuracy - I do it only when dictating things others will look at.

And then add embellishments to that. I was dictating out a recipe I needed to send to someone. I told GPT up front to write any number that appears next to an ingredient as a numeral (i.e. 3 instead of "three"). Did a great job - didn't need to correct anything.

And then there are always the "I could do this myself but I didn't have time so I gave it to GPT" category. I was giving a presentation that involved graphs (nodes, edges, etc). I was on a tight deadline and didn't want to figure out how to draw graphs. So I made a tabular representation of my graph, gave it to GPT, and asked it to write graphviz code to make that graph. It did it perfectly (correct nodes and edges, too!)

Sure, if I had time, I'd go learn graphviz myself. But I wouldn't have. The chances I'll need graphviz again in the next few years is virtually 0.

I've actually used LLMs to do quick reformatting of data a few times. You just have to be careful that you can verify the output quickly. If it's a long table, then don't use LLMs for this.

Another example: I have a custom note taking tool. It's just for me. For convenience, I also made an HTML export. Wouldn't it be great if it automatically made alt text for each image I have in my notes? I would just need to send it to the LLM and get the text. It's fractions of a cent per image! The current services are a lot more accurate at image recognition than I need them to be for this purpose!

Oh, and then of course, having it write Bash scripts and CSS for me :-) (not a frontend developer - I've learned CSS in the past, but it's quicker to verify whatever it throws at me than Google it).

Any time you have a task and lament "Oh, this is likely easy, but I just don't have the time" consider how you could make an LLM do it.


Here are a bunch of things I use LLMs for relating to code.

- Running micro-benchmarks (using Python in Code Interpreter) - if I have a question about which of two approaches is faster I often use this pattern: https://simonwillison.net/2023/Apr/12/code-interpreter/

- Building small ad-hoc one-off tools. Many of the examples in https://simonwillison.net/2024/Oct/21/claude-artifacts/ fit that bill, and I have a bunch more in my tools tag here: https://simonwillison.net/tags/tools/ - Geoffrey Litt wrote a great piece the other day about custom developer tools which matches how I think about this: https://www.geoffreylitt.com/2024/12/22/making-programming-m...

- Building front-end prototypes - I use Claude Artifacts for this all the time, if I have an idea for a UI I'll get Claude to spin up an almost instant demo so I can interact with it and see if it feels right. I'll often copy the code out and use it as the starting point for my production feature.

- DSLs like SQL, Bash scripts, jq, AppleScript, grep - I use these WAY more than I used to because 9/10 times Claude gives me exactly what I needed from a single prompt. I built a CLI tool for prompt-driven jq programs recently: https://simonwillison.net/2024/Oct/27/llm-jq/

- Ad-hoc sidequests. This is a pretty broad category, but it's effectively little coding projects which I shouldn't actually be working on at all but I'll let myself get distracted if an LLM can get me there in a few minutes: https://simonwillison.net/2024/Mar/22/claude-and-chatgpt-cas...

- Writing C extensions for SQLite while I'm walking my dog on the beach. I am not a C programmer but I find it extremely entertaining that ChatGPT Code Interpreter, prompted from my phone, can write, compile and test C extension for SQLite for me: https://simonwillison.net/2024/Mar/23/building-c-extensions-...

- That's actually a good example of a general pattern: I use this stuff for exploratory prototyping outside of my usual (Python+JavaScript) stack all the time. Usually this leads nowhere, but occasionally it might turn into a real project (like this AppleScript example: https://til.simonwillison.net/gpt3/chatgpt-applescript )

- Actually writing code. Here's a Python/Django app I wrote almost entirely with Claude: https://simonwillison.net/2024/Aug/8/django-http-debug/ - again, this was something of a side-project - not something worth spending a full day on but worthwhile if I could get it done in a couple of hours.

- Mucking around with APIs. Having a web UI for exploring an API is really useful, and Claude can often knock those out from a single prompt. https://simonwillison.net/2024/Dec/17/openai-webrtc/ is a good example of that.

There's a TON more, but this probably represents the majority of my usage.


I've used both extensively. I disagree with this. I dislike the HP48 series but I dislike the TI89 more. It's probably because most people don't understand how to use the 50G properly. You really need to go through the HP training video ( https://www.youtube.com/watch?v=OTPruRVV-e8 ). Incidentally if you haven't watched that it's worth watching on its own - great production! In an engineering context, the 48-series was designed to produce small composable reusable programs and tools in the file tree which can be executed quickly.

Try a quick EE example for parallel resistor calculation that takes 2 and puts 1 value back on stack

<< 1/X SWAP 1/X + 1/X >>

Store that in RPAR in whatever directory you want or HOME. Then you whack in 2 resistors and hit the RPAR F-key. There is nothing faster or more efficient than that.

I still use a 15C all the time though. Even easier! 99% of what I do is on paper though and ends up getting chucked in the numeric solver.


It's always chess or music, sometimes basketball. But how does one become say, a first class lawyer, or a teacher, or any of the 99% of human skills that do not have easy performance metrics?


I disagree with almost everything on this list. But that's what makes note taking a personal experience I guess.

1. Buy an automatic counting machine. https://www.amazon.com/Cosco-Automatic-Numbering-6-Digits-02...

2. Number your pages. Number your cross references. Date as it makes sense but always have a primary key (aka page number) to reference any page in your notes.

3. Never use loose paper by themselves. They get lost everywhere and are hard to track. Always have a binding strategy, even the simplest staple combines 10 sheets of paper into logical organization.

4. Prefer 2-hole punch, 2-hole bindings (https://wwwsqp8.officedepot.com/a/products/640746/ACCO-Premi...) for large documents.

Use https://www.officedepot.com/a/products/543712/Office-Depot-B... for smaller amounts of notes of loose leaf paper.

5. Prefer cheap 70-sheet notebooks. Spend a few minutes with automatic counting machine to label every page: page1 on the front, and implicitly page 1.5 on the back. Only label the fronts of any notebook. Rarely use the back sheet as additional room, but prefer to use new pages.

6. Use notebooks like the FAT filesystem. Write linked lists of subjects. Ex: one set of running notes could be page 4, page 7, page 9, 9.5, 20. Keep the first two sheets (1, 1.5, 2, and 2.5) as reserved for your table of contents / page numbers of your 'files'.

7. Learn the art of rewriting notes. Delete old notes and rewrite them into better organization as you work forward. Anything worth writing is likely worth rewriting.

8. Write so much that most of your writing is trash. That's okay, simply skip the trash during your rewriting passes. You won't know what is or isn't trash until 6 months from now anyway so write everything down.

9. I prefer pencil. But a nice Pentel Kerry. Keep a pocket notebook and the pencil always with you. Rewrite notes from pocket notebook as per earlier rules.

10. Shop at Jetpens.com. or maybe not, you might buy too many things lol. I do admit that impulse buying a 70-page notebook from grocery stores / Walmart / pharmacies is highly important to me. Knowing how to work with a 70-page wire notebook is important if only because they're EVERYWHERE and dirt cheap. Your more permanent notes deserve a more expensive journal (bonus points if they are already prenumbered like LEUCHTTURM1917)


Thanks for the kind words, Adrig! (about MicroConf, my book, etc). I really do appreciate it.

Some links to what Adrig mentioned:

- https://www.indiehackers.com

- https://microconf.com

- https://www.startupsfortherestofus.com (podcast)

- My new book is https://saasplaybook.com

- https://tropicalmba.com - the podcast for 7- and 8- figure founders

I think everything else is pretty easy to find via Amazon/book website of your choice.


The content on the pages clearly explain the differences.

Mathematica is a symbolic language based on 'rewriting' There are other examples - Prolog would be an example, a logic language. Also most other computer algebra systems are in this category, similar to Mathematica: Macsyma/Maxima, Axiom, ...

> WolframLang has all the characteristics of LISP

It has many, but there are a lot of differences, too.

The big difference is the actual engine. Mathematica is based on a 'rewrite system'. It translates expressions by applying rewrite rules.

Lisp evaluates expressions either based on an interpreted evaluator or by evaluating compiled code. Lisp has macros, but those can be transformed before the code is compiled or running. The practical effect is that in many Lisp implementations usually all code is compiled, incl. user code. Mathematica uses C++ then. Most of the UI in Mathematica is implemented in C++, where many Lisp systems would implement that in native compiled Lisp.

Thus the computation is very different. Using a rewrite system for programming is quite clunky and inefficient under the hood. A simple example would be to look how lexical closures are implemented.

Another difference is that Mathematica does not expose the data representation of programs to the user all the time, where Lisp programs are also on the surface written as s-expressions (aka symbolic expressions) in text.

The linked page from the Mathematica book also claims that Mathematica is a higher level language. Which is true. Lisp is lower level and languages like the Wolfram Language can be implemented in it. That's one of its original purposes: it's an implementation language for other ('higher-level') languages. Sometimes it already comes with embedded higher-level languages. CLOS + MOP (the meta-object protocol) would be an example for that.


http://xahlee.info/M/lisp_root_of_wolfram_lang.html

http://xahlee.info/M/lisp_vs_WolframLang.html

> WolframLang has all the characteristics of LISP:

seems you either don't know what lisp is or you've never written mathematica


I am pretty amazingly sure it is because of "office politics." It's more than being a "brown-noser."

Probably 95% of people go into companies with zero idea of office politics. I sure didn't when I started.

What I have found is that people either 1) say that they hate office politics so they ignore it, 2) they pick the wrong "friends"

The first reasons is obvious why people don't get promoted.

The second reason is that people look at work as an extension of their social life, instead of as a job. I'll go into this.

One has to realize that a job is not for friendship, it is for work. If you had a billion dollars, you wouldn't even be in that job in the first place in order to make "friends." Because it's a fucking job. Everyone you meet should be "business associates." Now, I know someone is going to say, "Yeah, but I met my best friend of 20 years at my first job." Every time. Well, all I can say is that this is NOT about you. So what if you did. I didn't. Many others don't. Again, this is about getting promotions, not about making friends. Make friends outside of work. It's just as easy. I don't care about how you make friends at work. It's immaterial. I'm trying to relate how to get promoted at a job and not talk about your social life. If you want to discuss that, let's start another completely different conversation on reddit or something.

Probably the biggest mistake that many people starting a job will go into the job and the first person who comes up to them and is friendly is now a "friend." And they get into that "clique."

What one should do is not to become "friends" with the first person friendly to them. I'm not saying you shouldn't be friendly to all, it is very important that one is friendly to everyone. No gossip, no backstabbing, none of that evil shit.

So when you start a new job, look around. Figure shit out. Find out who the "power-players" are. This is not difficult if you are aware.

Once you figure that out, then you develop deeper business relationships with those people, just like you would anyone else. You want visibility with them for long-term success.

I've done this many times and have been plucked from obscurity. You start rising through the company fast, because first, everyone knows you are associated closely with powerful people and nobody wants to fuck with you, they want to be nice because they want you to say nice things about them to powerful people in the business. And if you get along with the powerful person, that person will start telling other powerful people about "keep an eye on this person" kinda shit, and they all become aware of you. It's how it works. It truly is.

Now, if you piss off a powerful person at the start, probably can expect your career will be less than ideal at that company.

As far as your immediate boss goes, you have to know exactly what they want and get it done. If they change your priorities every week, and you don't like that, too bad. You do what they say. End of story, your personal preferences are not important. The #1 goal is to get promoted out of there anyways, so it is just a temporary thing anyways. So that part of office politics "brown-nosing" is correct, but it is just one tactic in the overall goal, and a minor tactic at that.

Another super tactic is to write and public speak. If you do this, you become an "industry expert." It doesn't matter if you speak on arcane shit in your industry, or basic stuff, it is unimportant. The important part is to write and speak to the public. I know one guy that does public speaking a few times a week - to small and large groups. It doesn't matter.

One time I spoke at a small group of 25 people in an obscure technical conference. As a speaker, everyone wants to talk to you after your talk and the meeting - it's almost always that way. Well, I was talking to some people, then at lunch I struck up a conversation and talking a while to some dude I didn't know. Well, he tells me he's like to talk some more later in a few weeks and to call him. He gave me his card and he was the CIO of a Fortune 500 company and I talked to him a little about it and he is at the head of a 10,000 person tech group. I asked him why he flew out for this small meeting and he said he was close with one of the other speakers there and so was going to hang out with him afterwards or something like that, I forget exactly.

That was an anomoly and in no way did I expect it, but the point is that just by giving a public talks, you gain so much credibility. Same with publishing in some kind of online or offline publication/media in your industry. If you're in supply chain management and publish some article on supply chain management, your immediate boss and also the COO of the company will know, because 1, you let them know, and 2 - you publish and speak a lot so it is difficult to ignore and they will know you are an "up and comer." You are an industry expert. Your public persona will rub off on your boss, the COO, and the company.

Also, another byproduct of public speaking and public writing means you will always have job offers coming out your ass, no matter what field. The one guy I knew who did two speaking engagements a week got 3-5 job offers daily. He showed me the emails.

I know everyone can understand what I wrote. And it is a template to success. I've used it many times and know it is true.

.

The issue that most people have is the "small talk" part. There is a solution to that. The solution is just the exact same as anything else you've done in your life. If you are a programmer, you didn't pop out of your mother's womb writing code. You might joke that someone has, but in seriousness, nobody is born with all knowledge - it takes effort to learn.

So in order to learn how to make small talk and to get along with people, one has to work at it, same as if a CPA had to learn double-entry accounting in university. Like a physician has to go to med school.

If you don't want to do it because you hate it, then so be it. But if you want to get promoted, you best learn how to be social and communicative.

There's a shitload of resources now that I didn't dream of when I started my career.

https://www.youtube.com/results?search_query=how+do+i+make+s...

https://www.youtube.com/results?search_query=how+do+i+not+be...

https://duckduckgo.com/?q=how+do+i+play+office+politics&atb=...

https://www.youtube.com/results?search_query=how+to+strike+u...

https://duckduckgo.com/?q=how+do+i+make+small+talk&atb=v314-...

https://duckduckgo.com/?q=how+do+i+not+be+socially+awkward&a...

https://www.youtube.com/results?search_query=how+do+i+play+o...

https://duckduckgo.com/?q=how+to+strike+up+a+conversation+wi...

.

Don't just watch one or two videos and read one or two articles. Make a study out of it. Put as much time into it as you did whatever your occupation is.

There are many techniques. Some will work for you, some won't. Write down those that you think will work. Do them, test them. You don't even have to do them at work. You can practice conversation techniques with your grocery store clerk, with the admitting person at your doctor's office, with anyone. Don't randomly talk, use the techniques and test them over and over. None should be by the seat of your pants conversations. It's the same with anything - learn programming the first time - you have to learn what a variable is, what a iteration/loop is. And do them over and over so that they are second nature. You don't just randomly write miscellaneous computer lines. There's a plan. One specific line of code has to come after another line of code.

And again, you for sure don't have to be an asshole. I am always smiling and friendly to everyone, and sincerely so. I've always liked everyone where I work and think everyone has liked me. Sure, there's sometimes been a bit of friction, but because I'm nice all the time to everyone, and develop that reputation, they know it is not me just being a dick for being a dick's sake.

All of the above has to do with larger companies - a few hundred or more people. If you're in a startup with 5 people, of course all of the above doesn't apply, which I think is self-evident. You know everyone.

And, also, if you don't want to be promoted and want to just do what you do best, well this whole converation is pointless for you to read or comment on. It is for people who DO want to get promoted and rise in their company.


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: