HNHacker News
TopNewBestAskShowJobs

coreyp_1

2,799 karma · joined January 18, 2015

LinkedIn: https://www.linkedin.com/in/corey-pennycuff-aa7a79202/

BMus in Piano Performance, Midwestern State University

MS in Computer Science, Midwestern State University

PhD in Computer Science, University of Notre Dame

My YouTube channel where I post videos about CS: https://www.youtube.com/user/coreyp1

The playlist where I create a programming language from scratch (watch video #100 to get an overview of the project): https://www.youtube.com/playlist?list=PLZqirAnnqaCZ8lT8w7p2PUB7tqrId7d89

My blog that I haven't updaded in forever: https://cscrunch.com

submissionscomments
coreyp_1··on Role of Deliberate Practice in the Development of Creativity (2014)
I can't respond to the comment above, b/c it's already been flagged, but I just wanted to say that I was surprised with the quality of the output as well.

I know it's not magic. I know it's not sentient. I know it's not perfect. BUT IT'S IMPRESSIVE, and things like this demonstrate the huge leap that has happened in computing possibilities, and I'm frustrated that it gets flagged because some people are triggered by their "AI bad... human good" false dichotomy.

Thank you to the person who posted it.

coreyp_1··on Ask HN: What are the questions that companies run long inference sessions for?
What do you mean?
coreyp_1··on Lesser known tricks, quirks and features of C
That's a nice list!

I've been digging into cross-platform (Windows and Linux) C for a while, and it has been fascinating. On top of that, I've been writing a JIT-ted scripting (templating) language, and the ABI differences (not just fastcall vs stdcall vs cdecl) are often not easy to find documentation about.

I've decided that if I ever get to teach a University class on C again, I wanted to cover some of these things that I feel are often left out, and this list is a helpful reference! Thanks!

coreyp_1··on Ask HN: What is your dream BI tool?
The one I write. :)

I mean this seriously. I really don't like any of the solutions that I've worked with (although Looker does check a lot of the boxes, it also has some big blind spots), and I want to create my own reporting suite in the future.

Besides, after seeing many options over the years, I feel that I could make some substantial improvements.

coreyp_1··on Better Dotfiles
I'm a Texan and I use "whilst". So I'm confused.

Then again, I can't stand using the word "learnt" instead of "learned". It just sounds wrong. But it doesn't make me stop reading someone's blog.

coreyp_1··on Ask HN: What are you working on (August 2024)?
I'm writing a programming language. https://github.com/coreyp1/CTang (probably will be moved eventually).

It's meant to be a scripting language to be embedded in another program, generating HTML. Eventually I hope to make a CMS and this be my solution for easy templating.

Technical details: Written in C, the language has an x86_64 JIT compiler, but falls back to a bytecode VM so it should work on any architecture. The language itself is dynamically typed and garbage collected. Currently at 20K LOC (not counting blank lines or comments), with good test coverage and checking for memory leaks. It's been quite enjoyable!

coreyp_1··on [dead]
OK. But I completely disagree.

The comment in question (1) provided a link bypassing the paywall (which is very valuable and conducive to inclusivisity and enables more people to be a part of the conversation), and (2) provided context as to why the OP thought that it should be posted (since HN does not allow any explanatory text to accompany a link when it is posted).

Both of those things were valuable to me.

If you want to say, "This site belongs to YCombinator, and they can do whatever they want," then fine, I agree with you. But then you can never make any arguments about "community" because evidently the community actually doesn't matter for anything other than free content generation.

If you want to say, "The community feels that this is a low quality comment..." then I strongly disagree because I'm part of the community, and I didn't exactly get a vote. I literally couldn't upvote it or vouch for it. I couldn't even respond to the comment in question, nor did I even know why the censoring took place.

It can't be both ways.

As it is, it Streisanded me into digging deeper because it looks like a cover-up when someone is silenced without explanation. And, regardless of the politics involved (I don't care about politics __AT ALL__), this affects me because I have been a long-time member of this community.

coreyp_1··on [dead]
Interesting.

I have a completely different take. HN doesn't allow the poster of a URL to say why they posted it, so the only option is to do so in a comment. It seemed obvious to me that giving a quote is the most un-biased way of commenting on an article.

The second point is that the comment also included a non-paywalled link, which was most definitely of value. I've been on HN for a long time, and there are plenty of times where a comment's only content is that same type of link, and it doesn't get flagged. And this comment provided it first.

So, in this situation, we have a comment with a link that bypasses a paywall (which is normal and seen as beneficial), paired with a quote of the factual tldr of the article, which seemes to me as the _perfect_ way to start a discussion, and yet the comment itself is flagged.

Yeah, I disagree with that.

coreyp_1··on [dead]
I'm not sure why the only comment on this thread is flagged. It only quotes a couple of sentences from the article, which are directly related to the headline. It was provided in addition to a paywall bypass link, and without additional commentary from the poster, all of which I can appreciate.

As someone with a background in academia, this is something that I myself am interested in reading, and am now wanting to find out more about.

So, why was the comment flagged? Is there some unwritten rule that I'm unaware of? The poster seems to have a significant karma and a not-new account, so it seems suspicious that this has happened.

Can anyone shed some light on this?

coreyp_1··on London Tube map redesigned by Essex lecturer goes viral
Here is a man that painted his own highway sign: https://www.youtube.com/watch?v=26-4oARwfF4
coreyp_1··on Ask HN: What do you want in a web server?
Too bad... you're missing all of the fun low-level stuff!!!

I've never messed with TypeScript. I like JavaScript and have used it a lot over the years (decades), but I've come to appreciate the simplicity and straightforwardness of C.

Good luck with your project, though, and have fun! You'll learn a lot with these types of projects. At least, that's my goal!

coreyp_1··on Ask HN: What do you want in a web server?
Which language? Curious b/c I was going to do the same in C and have several ideas.
coreyp_1··on If you were building a house, what key tech features would you incorporate?
Some of my suggestions are smart-home specific, but are MUCH easier to install if doing it at construction time. Also, some are just "nice features" and not necessarily tech in nature, but easier to include when building.

1. DOCUMENTATION!!!!. Pictures of every wall just before drywall goes up. Pictures of the yard showing plumbing locations (incoming, sewer, sprinkler, etc). Electric circuits diagrammed and clearly labelled. Smart home software documented as well. In 5 years, you won't remember how you set up that docker container!

2. Smart home with everything self-hosted. Zigbee (my personal preference.. I have 50 switches) or Zwave devices. Nothing that can phone home. If it makes me download an app, then I don't buy it. Don't use a RPi... I've had them die too often. You want something that will still be working in 10 years, and can be sold with the house if need be. Also, everything should fail "dumb", meaning that if the smart home is inaccessible, then a switch still works as a switch.

3. Security system (cameras, sensors) that is also completely self-hosted, wired, and can integrate with smart home software. NVM, POE cameras, etc. If I have to change batteries, then it's a no-go. Interior motion sensors. Window/door sensors.

4. Automatic closet lights. My current house had them when I moved in, and they are awesome. Not tied to the smart home at all, just a switch on the inside of the door jamb.

5. Whole-house, multi-zone audio, integrated with smart home. Imagine audio following you as you move through the house!

6. Cat6 in all rooms.

7. Well-ventilated, secure server closet. If someone breaks in, I don't want them to be able to destroy the hard drives with the video evidence. I also don't want it to overheat.

8. Electrical panel monitoring on every circuit. Information logged to the smart home, of course.

9. Fiber internet if available. I love it!

10. On-demand water heaters are nice.

11. Permanently (and discreetly) installed Christmas lights. Again, I'm going to go the self-hosted route for the software. It's much easier to route power if planned for ahead of time.

12. Thermostat connected to smart home. I use a Zigbee one. They are harder to find, but I love it!

13. Dumb TV. I don't trust anything that wants to connect to the internet... especially not a TV! lol

14. Ceiling up-lighting. Mine is tastefully hidden behind crown molding, but it is a nice effect. It can come on automatically when you enter a room at night. You can also use colors for different notifications, such as someone at the front door.

15. NO fancy doorbell. Again, I don't trust any of the current companies (Ring, Nest, etc). I have my self-hosted cameras (Reolink RLC-811A) that have on-camera person detection and I integrate it with my home automation.

16. Outside lighting. Mine is automated, of course. It looks amazing and is much more secure than just darkness everywhere.

17. Buried electric cable. Again, my current house has it. Neither of my neighbors do, and both have had tree limbs knock out their power.

18. Insulation. I'll say it again: Insulation!!!! Do more than required. It will save you money because electricity will just get more expensive.

19. Solar? I'm undecided on this. If I do get them, I will buy them outright.

20. Whole-house water filter.

coreyp_1··on Ask HN: What would you do with $1M?
I would hire some students, mentor them, and we would build all of the open source projects that I want to build (that I'm already slowly working on/planning out on my own).
coreyp_1··on Ask HN: What are some niche problems you have with money global and local?
It's hard to track. I want a self-hosted solution so that I don't have to give a 3rd party access to my accounts, and that will automatically download my transactions from my bank, but that is evidently impossible, although I don't have any idea why.
coreyp_1··on Would you pay for a programming language?
I think the problem is that you would have to elaborate on what "better than C" means. And python is pretty simple, although I must admit I don't like white space being significant.

In just this one post, you used the word "better" a lot. But how would it be better?

I already really like C. And c++. And python. And javascript. And several others.

My question, then, would be what do you think you can offer that they don't already address?

Granted, I may not be your target audience. But I, as someone who is also currently designing a programming language, am curious as to what your thoughts are for your language.

coreyp_1··on Would you pay for a programming language?
Nah... I'm just making my own. :)
coreyp_1··on The user is on their own
Is this proof that it's not AI generated?
coreyp_1··on The Illustrated Word2Vec (2019)
Quite frankly, it's stuff like this that makes me love the HN community.

Thank you for the additional resource!

coreyp_1··on LilyPond: Music notation for everyone
Lily pond is great! I used it to be able to script the creation of musical examples to be put on PowerPoint slides and instructional videos. With a little bit of tinkering, you can get Lily pond output as an SVG to play nicely with Manim, and get some really interesting computational animations.
coreyp_1··on Browsers Are Weird
I love Andreas Kling's live coding videos. :)
coreyp_1··on Reducing BigQuery Costs
Rule #1. BQ is not a standard database. If you use it like one, it will cost a fortune.

Rule #2. BQ is amazing for being able to churn through and analyze massive amounts of data, and can very well be the best option in some use cases.

Rule #3. Letting "just anyone" run queries is as dangerous as casually handing a credit card to your drug-addicted cousin. Just wait until you get the bill!

Rule #4: Partition and cluster your data wisely. You don't have indexes.

Rule #5: Duplicate data. Throw all of the normal forms out the window. Storage is cheap, computation is expensive.

Rule #6: BQ is not meant to be used like MySQL. It's "spin up" time is too slow, but you would be hard-pressed to beat its performance on truly large data sets.

My perspective: One of our customers has a database growing by 17 gigs a day. One of them. There's several on the same scale. Yes, it's necessary. Another instance: One of our customers spent $8k in one month because limits were not properly placed on the account and we didn't catch it until the bill came. We monitor better now. A different instance: We had a dev trying to optimize a query, and they spent $250 in queries to get the cost down from $50/query to $15/query. Most of the time, though, our queries are only pennies.

Now that I've written all of this out, I feel like I need to record a video about it. There's not a lot of BQ info aside from the marketing fluff put out by "teh Google".

coreyp_1··on Tell me your most exotic selfhosted solution
I don't "do" reddit, so I'll post mine here.

Back when I was a prof., there was a monitor mounted on the wall outside my office whose display I had control of (it was from the previous prof and I inherited it).

I connected it to a RPi and set it to display a website. The website was one that I wrote that did 2 things. First, it displayed a random XKCD comic, rotating every 30 seconds, as well as a scrolling message at the bottom (usually just a disclaimer that the images were chosen at random). Second, it was an endpoint for Twilio.

The end result was that I could send a text message from my phone and it would display that message on the monitor on the wall outside my office. It rejected any message that was not from my number. I used it to display things like: "Had to run across campus. Be back at 1:30." or "Left for the day." And, since people would often stop and read the comics, they would definitely see the message.

coreyp_1··on Ten years isn't long enough for maximum age settings
To me, 10 years is long enough to completely forget how to fix the problem, once it becomes a problem in 10 years' time.

Most people won't document well enough to even be aware that the 10-year deadline is approaching, much less how to fix it! When the deadline hits, everything will break, and then you basically have to reinvent the wheel to get it up and running again.

In my opinion, if something can last 10 years, then it could probably just last indefinitely.

Alternatively, have something that lasts a short time, but that is renewed automatically. I suppose that is the advantage of let's encrypt, for example, in that their certificates expire after 3 months, but that just means that I set up a Cron job to automatically renew them for me.

coreyp_1··on Cold-blooded software
Haha... I agree about it being subjective! I find that I enjoy the process as much as the result. It's like bringing order to a chaotic universe. :)

The thing is, I don't have many segfaults in C, and I find C much easier to debug and hunt down issues in than even C++ (which I also enjoy). Also, because C uses very little "magic", and I also know exactly what I'm getting with my code, I find it much easier to reason about.

I heard a quote the other day while watching a presentation "When you're young you want results, when you're old you want control." I think I'm on the old side now.

As for Go, I genuinely don't have anything against it, but I don't see why I need it either. I don't doubt that others have stellar use cases and impressive results with Go, and that's fine, too, but I don't sense any lack which prompts me to investigate further. I would love to learn more about it, but most of what I see online is either over-the-top (and therefore vomit-inducing) fanboyism, or otherwise unspectacular, which makes me ask "why bother?"

coreyp_1··on Cold-blooded software
This. This, so very much!

I built my websites on Drupal 7 and have enjoyed a decade of stability. Now, with D7 approaching EOL in 1 year, I'm looking for a solution that will last another decade. There's no reason for the EOL, either, other than people wanting to force everyone to move on to a newer version. It undoubtedly means more business for some people, as they will be able to reach out to their clients and say, "Your website is about to be a security risk, so you have to pay to update it!" Unfortunately, it means more work for me to support my personal projects.

And why? Because someone somewhere has decided that I should move on to something newer and more exciting. But I don't want new and exciting... I want rock solid!

I'm on vacation this week. Am I learning a new hot language like Rust, Zig, Go, etc.?

Nope.

I have no desire to. I don't trust them to be the same in a decade, anyway.

I'm focusing on C. It's far more enjoyable, and it's stable.

coreyp_1··on Ask HN: Which open-source license should I use for my project?
The big difference between a permissive license and a copyleft license is in the obligation of the user when modifications have been made to the code.

A permissive license may require that you make the original source code available to your users, but that does not necessarily apply to your modifications. So if, for example, I have written project X, and license it as MIT, and you add a single feature to it, and now a user wants to see the source code, then you can give them the original code to project X, but you are not required to provide the code for your privately developed feature.

Conversely, with a copyleft license, in the same scenario, you would be required to release the code for your privately developed feature as well to your customer. Moreover, they would then be able to freely distribute that source code as well, including your privately developed feature. That is why the copyleft licenses are often defined as being viral or infectious, because they propagate to whatever code they come into contact with.

So then, the question of boundaries comes into play. What if the software is on another system? For example, you write program Y, and it calls system X across the network. With the GPL version 2, the copy left license does not cross the network barrier. Agpl, however, removes this barrier, making the virality of project X extend to program Y.

In short, copyleft is generally hostile to any proprietary use, and many companies won't touch it for any software that must be distributed to customers. Again, this aligns with some people's political and philosophical wishes, so they do not see a problem with this.

In short, permissive versus copyleft is a fundamental difference in how freedom is defined. The permissive license gives you the freedom to use software however you see fit. The copyleft license tries to eliminate the possibility of proprietary control. It's really two different sides of freedom. Permissive is freedom of the individual from control of the many. Copyleft is freedom of the many from control of the one.

coreyp_1··on Ask HN: Which open-source license should I use for my project?
I'm actually speaking to a group of University students about this very topic later this week.

In my opinion, permissive licenses such as MIT, BSD, and Apache are best for libraries. A library is not the final product, but is a helpful tool that could be of benefit to many different projects. It can encourage participation for many different sources, including commercial.

A copyleft license, such as anything in the GPL family, is better for a final product in order to keep people from copying the product wholesale and passing it off as their own work. The AGPL is probably the strictest license possible in this domain. A copy left license discourages commercial participation in many circumstances, although not all. The Linux kernel, for example, is GPL version 2, but does benefit from commercial contribution.

For philosophical reasons, some people will say that you should only ever use a copyleft license, regardless of the subject matter. They do this because they believe that everything should be copyleft, and copyleft licenses are infectious. That is, the inclusion of a copyleft piece of code forces all of the code to be copyleft and subject to the distribution requirements. It may also invalidate software patents which, again, some people are strictly opposed to, and therefore they will only recommend copyleft licenses.

There's a lot of nuances to the different licenses, and the license is often reflect philosophical and political beliefs. For me, personally, I have released my code as MIT, which I greatly favor, however I have also written gpl'd libraries for something like drupal because that was the only option as Drupal itself was gpl.

coreyp_1··on Microsoft lays hands on login data: Beware of the new Outlook
Don't know why you're getting downvoted. I couldn't figure out how to get past it, but it looked like the article is in English.
coreyp_1··on Streaming service prices have more than doubled since coming onto market
Where are you buying DRM-free albums?

I'm currently just ripping my CDs (flac), but am completely undecided about new purchases.

← PreviousPage 3 of 25Next →