HNHacker News
TopNewBestAskShowJobs

justinweiss

1,047 karma · joined February 27, 2008

dev at https://www.aha.io

Mastodon: https://mastodon.justinweiss.com/@justin GitHub: https://github.com/justinweiss Email: justin@justinweiss.com Web: https://www.justinweiss.com

submissionscomments
justinweiss··on Coding AI without deterministic outcomes
> Let's say it kind of does what you want, but not exactly. I now have a problem. How do I fix what I told it to do so it does exactly what I want? I do not know. Do I need to be more persuasive? Should I be argumentative? Do I need to be rude? Was I ambiguous in a way that I did not understand as I wrote it?

Yes! This is one of the major challenges I still have. It's easy to say "fix model errors in AGENTS.md / the system prompt." But finding a way to prove the effect of that change is the hard part.

It's so frustrating when a model says "no, your guidance was fine, I just didn't follow it, I'll do better next time..." It just makes me want to yell "No! You won't do better next time! This is the problem!"

> In that respect, working with an LLM is much more like working with another person than working with traditional software.

Yes, but if you work with another person, at least they'll have a chance of remembering suggestions you make.

The simple answer is "Have the AI do a refinement -> eval -> refinement loop." That pushes the problem somewhere else, into the "what goes in the eval" question ("and make sure you don't overfit" -- something AI-driven prompt refinements are not good at).

justinweiss··on Ask HN: Does the Framework laptop stand the test of time?
I have an AMD 13" running Linux that I've used for a little over a year. I love it, would absolutely buy it again. The 7840U is a great processor, and one I'm happy to sit on for a little while -- works fine for what I need it to do, fairly efficient, and even plays some modern games pretty well. A few random thoughts:

- All the hardware works out-of-the-box in Linux, at least as far as I can tell.

- Swappable ports seems like a gimmick, but it's nice. A few months ago I realized I'd rather have a built-in Micro SD port than an extra USB-C, and that change was trivial.

- If I had bought a traditional laptop, I would have been very annoyed to have an upgrade with a much nicer screen and webcam released 6 months or so after buying the laptop. Instead, I just bought the new screen and webcam module and swapped them in in less than 15 minutes.

- Speaking of the screen, I've missed matte screens ever since Apple went glossy. It's really nice to go back. The 3:2 aspect ratio is a huge bonus, the extra vertical space is useful.

- On Linux, I get around 5-6 hours of battery life under my normal use, 8 or so under light load. That's more than enough for me. Finding a way to charge has never really been a problem since laptops switched to USB-C charging.

- The speakers are not great, and they're downward firing which makes them worse. The easyeffects presets here help quite a bit: https://github.com/ceiphr/ee-framework-presets

- The trackpad is fine. It's better than most non-Apple laptops I've used, but it's still nowhere close to a MacBook's.

- Most of the early issues with the processor have been solved with newer kernel versions. There's still a crashing issue that prevents running large accelerated LLM / image models: https://gitlab.freedesktop.org/drm/amd/-/issues/3482. This isn't a problem with the Framework specifically, but I wish they provided a BIOS option to reserve more VRAM.

- I'm very much looking forward to upgrading the RAM later without buying a new machine. I'll probably do this when the above bug is fixed.

- I wish there was just a little more focus on the details. For example, the swappable port modules don't sit exactly flush with the case on the right side (they're just barely recessed too deep) and it annoys me a bit every time I see it.

Overall though, it's my favorite laptop I've owned since the 12" MacBook. It makes me happy every time I use it.

justinweiss··on Nintendo 3DS discontinued after almost a decade
devkitpro (https://devkitpro.org/) is the toolchain and base libraries, and sets up a package manager for downloading others.

For the basic stuff you can use the usual C libraries. I picked up a lot by reading and tweaking the examples, which are installed along with the toolchain: https://github.com/devkitPro/3ds-examples

libctru, installed with devkitpro (https://libctru.devkitpro.org/) is where a lot of the platform-specific APIs live. There are also some higher-level libraries built on top of it

A good understanding of ARM will take you a long way. A lot of what documentation there is (especially on 3dbrew.org) assumes you understand the terms and general architecture of an older ARM platform. This book https://www.brucesmith.info/arm-a32-assembly-language/ was great for building enough understanding that I could understand most of the official reference manuals. From those, I found the ARMv7 reference manual and the ARM11 MPCore Technical Reference Manual to be the most useful, and I refer back to the ARM instruction set reference card a lot.

Besides that, it's reading and modifying the source of other projects, and trying things out. If you look at homebrew apps like ctrQuake (https://github.com/masterfeizz/ctrQuake), you'll notice there's usually not a lot of platform-specific code -- most is just standard C / C++.

Hope that helps. Just like anything, it's knowing enough to get started (a toolchain, some C, and some examples) and using your questions and ideas to draw you into the next thing to learn.

justinweiss··on Nintendo 3DS discontinued after almost a decade
Absolutely agree. I just got into 3DS development last year and it's been such an exciting development experience. The open-source tools are excellent (even supporting remote debugging!), and the system hits that sweet spot between being powerful enough to build interesting things and taking real work to make those things fast.

Over the last year or so I've been squeezing individual fps's of performance out of the PSX emulator and it's been some of the most fun hobby programming I've done in a long time.

Plus you can write for a platform with a 3D screen! How cool is that?

justinweiss··on Ask HN: What is your favorite method of sending large files?
I was asking myself exactly this a few days ago, to share ~500mb worth of files with a few people on a message board. https://gofile.io/ worked fine.
justinweiss··on Ask HN: What interesting problems are you working on?
For hobby development, I'm trying to speed up the unofficial PlayStation emulator on the Nintendo 3DS. There are all kinds of interesting problems there, like SD reads being so slow that it tanks the framerate any time the emulator hits the disk (so I might be writing a read thread + precache?), and some apparent room for hardware-specific optimization in the lighting and blending routines.

It's been fun to work around the constraints on an underpowered device. It's also an excuse to learn ARM assembly, and a nice break from all the JavaScript I've been spending my time in lately!

justinweiss··on Ask HN: Feasible Alternative to the MacBook Pro?
I wanted to dip back into Linux, and found a ThinkPad x230t for around $70. I'm amazed by how much I like it. I'm running mostly vanilla Gnome on Arch. Every piece of hardware just works. You can take the entire thing apart with just a normal screwdriver. Tablet mode has been great for reading papers and articles on the couch. It's a common enough linux machine that there are tons of setup instructions and suggestions written specifically for it. With an SSD and 8-16GB RAM, it's plenty fast.

It's bulkier. the screen is non-retina and a worse aspect ratio. The fan is noisier. Turns out none of these things bother me anywhere close to what I expected. Hardware-wise, the only annoying thing has been the terrible speakers. Then again, I'm usually on headphones. I miss USB-C ports and USB-C charging, but not too badly.

On the other hand, I had almost forgotten what a good laptop keyboard felt like, and after getting used to the trackpoint, I like it a lot.

I still use a Mac for work, but as a lot of my favorite Mac software has gone subscription-only or subscription-preferred, I've gradually moved more toward open-source options: password-store from 1Password, org-agenda from OmniFocus, etc. So the change wasn't as big or as hard as I was expecting. Decoupling from iCloud will definitely be a thing (photos, iTunes Match, etc.), but I'll figure it out.

edit: Forgot to mention matte screen! Don't know why all the manufacturers thought glossy was the way to go, but it's nice not having to stare at a reflection of the room around me all the time.

justinweiss··on Ask HN: Who is hiring? (August 2015)
Avvo (http://www.avvo.com) | Seattle, WA (ONSITE) | Rails API/Backend Developer

We’re looking for great software developers to help us connect people with the legal help they need.

As an API / Backend Developer, you’ll build fast, easy-to-use APIs to help our Mobile team ship remarkable apps. You’ll bridge between our iOS, web, and platform teams, and help us unlock new ways to bring our data to other apps and devices.

About You:

- 3+ years of API development experience with frameworks such as Rails, Django, or node.js (or others!).

- Strong CS fundamentals: A good knowledge of data modeling, object-oriented design, and algorithms.

- You’ve worked with multiple product teams at once, and can make the right tradeoffs based on those teams’ needs.

- You can clearly explain complex ideas without buzzwords and jargon.

- You love to mentor and be mentored. You live by the philosophy that everyone has something to teach you.

- You’re addicted to shipping, solving problems, and helping the people around you succeed.

About the Team:

- We mostly run on Rails, but have brought in technologies like Go, Angular.js, Scala, and Sinatra. We’re open to using the right technologies for what we build.

- We iterate quickly, and ship multiple times a day.

- We work in small teams with product managers and designers, and help shape the products we’ll be building from day 1.

- We have a strong tradition of supporting open source. Projects like resque_scheduler, robut, resque_unit, and json_api_client were all extracted from our codebase, and we’ve contributed several patches back to Rails.

Why Avvo?

Right now, you have an opportunity to join the team while it’s still on the small side, and grow your career faster than you would at almost any other company. You’ll be able to help shape our dev organization and define our culture. Companies in our position are rare, and joining a company like ours will be one of the most memorable parts of your life.

(Side note: I've been here 8 years, and still love it. It's an awesome place to work.)

Contact: jweiss@avvo.com

justinweiss··on Show HN: Practicing Rails, a book about learning Rails without being overwhelmed
Yep! I was actually planning to drop the discount today (since it was originally a pre-order discount), but figured I'd extend it by a day or two for the release.

I know where you're coming from, though -- I've seen a bunch of scammy countdowns too, and those "only 17 copies left (of this book I can make infinite copies of)!" on other sites :-)

justinweiss··on Show HN: Practicing Rails, a book about learning Rails without being overwhelmed
I've been writing posts about Rails on http://www.justinweiss.com for a little over a year now, and I've heard from so many people that are excited about Rails, that have bought all kinds of videos and tutorials and courses and bootcamps, but just can't build their own projects.

So, I wrote a book to help. It's not so much a Rails tutorial as it is a guide to programming, project management, and motivation, using Rails as a medium.

I'm happy to answer any questions you have!

justinweiss··on Show HN: Practicing Rails: Learn Rails without being overwhelmed
Which browser? I wonder if it's related to the poodle fix.
justinweiss··on Show HN: Practicing Rails: Learn Rails without being overwhelmed
Hey! I actually posted a short snippet from the testing chapter to the blog yesterday: http://www.justinweiss.com/blog/2014/10/20/writing-better-te...

That snippet is just a page or two, but should be a good representation of the kind of information in that chapter.

justinweiss··on Show HN: Practicing Rails: Learn Rails without being overwhelmed
I just opened up beta book sales today! If you'd like to learn more about the reason behind the book, you can read more here: http://www.justinweiss.com/blog/2014/10/21/learn-rails-witho...

And I'd be happy to do my best to answer any questions you have!

justinweiss··on This POODLE bites: exploiting the SSL 3.0 fallback
FYI, if you're using Twilio: https://twitter.com/twilio/status/522446663130963969

"If you are encountering trouble with inbound Twilio requests while mitigating the SSLv3 vuln, contact help@twilio.com for direct help."

(That is, they have to manually enable TLS on your account.)

Also, if you're using GET requests with ExactTarget, you'll run into the same thing, but I haven't heard back from them if / when they'll have that fixed.

justinweiss··on Ask HN: Why doesn't your team ship?
Two main things:

* Bad estimates. When people are too aggressive with their estimates and miss them, it derails everyone that was depending on that team's stuff being done at a particular time. It causes blockages that cost way more than an over-estimate would have reserved as buffer time.

* Getting distracted. Dev should work really closely with design and PDM to get things done, but if Design / PDM has already moved on to the next project, it's distracting for everyone when they have to get pulled back in. Then, you have multitasking, and blockages, and stuff doesn't get done as smoothly as it should.

justinweiss··on Ask HN: Who is hiring? (August 2014)
Avvo is hiring web developers in Seattle, WA!

Feel free to contact me directly: jweiss@avvo.com, and let me know you came from HN.

We're looking for a Web application developer to help shape the way people connect with the lawyers who will make a difference in their lives.

At Avvo, you'll get to work with smart, passionate people in small, focused, cross-discipline teams building Web, iOS, and Android applications. You'll take a product from conception to completion, shaping its direction the whole way. You'll have the flexibility to build each project in the way you think is best, using the best tools and technologies. You'll own the development of the project from the front end to the database layer.

When you're done, you'll get to extract stuff that would be useful to other people and open-source it. We're the team behind projects like resque-scheduler (https://github.com/bvandenbos/resque-scheduler), robut (https://github.com/justinweiss/robut), resque_unit (https://github.com/justinweiss/resque_unit), and delsolr (https://github.com/avvo/delsolr).

We use whatever tools and technologies we think are best for the situation, including Ruby, Rails, Redis, Solr, Git, Chef, SASS/Compass, neo4j, Sinatra, Objective-C, and EC2.

We're looking for:

* Passion for building software. Huge bonus points if you've built or maintained open source software or side projects. (Send us your GitHub profile!)

* The ability to identify and institute software best practices throughout a team and organization.

* Someone who can provide technical leadership. You should be comfortable mentoring new developers, sharing knowledge across the team, driving a new project from the beginning, and thinking about how projects and teams will interact on a strategic level.

* Experience working on a large software project over several years. You should be able to reliably add features to shipped code, identify and reduce technical debt, participate in the product design process, estimate accurately, and provide quality feedback to the rest of the team.

* Enthusiasm for learning about new technologies and sharing them with your coworkers. We've seen huge productivity improvements from using new tech, so a keen eye for cool new stuff is a plus.

* Collaboration with other disciplines - you'll be working closely with designers and PMs, and it takes everyone's skills to build something remarkable.

* A strong desire to build the best product for your customers, no matter how long it takes to get there.

We'll give you:

* A competitive salary and generous stock options. * The machine of your choice.

* Three weeks of vacation each year.

* Paid conference expenses, books, and classes.

* A great working environment in a beautiful building in the International District, on the bus and light rail lines, walkable from Belltown, Downtown, Capitol Hill, and Pioneer Square.

* A free ORCA card for all your public transportation needs.

* A strong work / life balance - we'll ask a lot of you while you're here, but we're not going to make you work 10-hour days.

Besides all this, I've been here for almost seven years and I still love it. Devs really get a lot of freedom and autonomy here, and we get to work really closely with other disciplines like product, design, and marketing. I love that, since we all get to learn from each other. And we ship code all the time.

justinweiss··on Today Rails turns 10 years old
After a few years of Java and C# (especially in finance) I came really close to leaving the software industry altogether. Ruby, and then Rails, brought me back into it.

They returned the joy and excitement I felt when I first got that ASCII eye to blink from the 250 lines of BASIC I typed in from the back of a magazine.

And I've never been happier as a developer.

justinweiss··on Fix 260 character file name length limitation: Declined
When I was still at MS, a lot of these kind of bugs didn't get fixed -- the code checking against the old (smaller) path size would often not be owned by anyone anymore, and nobody wanted to touch it (because that would make them the new owner).
justinweiss··on Recreating the Reeder Two-tone Horizontal Rule in Pure CSS
I've seen this problem when using @font-face generators that remove font hinting to save space. Last time I used FontSquirrel's generator, I had to specifically unset the option to remove hinting in order to get the fonts to look right on Chrome on Windows.
justinweiss··on Reactive Extensions (Rx) is now Open Source
I found this book to be pretty good: http://www.introtorx.com

I'm not a .NET developer, but Rx was still one of the more interesting things I learned this year.

justinweiss··on NASDAQ:FB
This whole thing reminded me that there was a Facebook employee in my "class" for an internship I had in 2004. Little did I know...

http://cl.ly/0g3r3Q3W0K360g2y0g06

A valuation of a whole $4 million!

justinweiss··on Tether Launches HTML5-Based iPhone Tethering Solution
Yeah, it looks like they use WebSockets, and the iPhone webpage just pipes data from the Mac/PC app to their servers.
justinweiss··on Source Map Proposal - Mapping generated/minified JavaScript to its source
Some basic support for this landed in WebKit recently: http://peter.sh/2012/01/css-selector-profiler-source-mapping...

I'd like to see this hooked up to the Rails asset pipeline!

justinweiss··on Rails master is now 4.0.0.beta; Ruby 1.8.7 support dropped
On a pretty large rails app, we switched to 1.9.2 about a year ago. Startup time for our app is much, much worse than it was under ree, but our average response time significantly improved -- we saw close to a 50% drop in the time spent in ruby code across nearly all requests. I wouldn't use slow startup time as a reason to avoid benchmarking your app in production mode against 1.9.x, since it could result in a huge perf boost across the whole app.
justinweiss··on Carrier IQ references discovered in Apple's iOS
If you're interested, you can see the data the iPhone has collected so far -- Go to Settings -> General -> About -> Diagnostics -> Diagnostic & Usage Data.
justinweiss··on GitHub open sources Hubot (chat bot)
Also, if you're using HipChat, you should give robut a try:

https://github.com/justinweiss/robut

justinweiss··on Setting Up A New Machine for Ruby Development - as used at 37signals these days
Macports helped a lot with open-source on the Mac, but I wouldn't say it solved the imagemagick problem.

Imagemagick, or one of its many dependencies, would often be broken, and when it worked it would still take a ridiculously long time to download and compile (unless you remembered to specify "no-x", setting aside the fact that you had to know that variant existed in the first place).

I used Macports for a long time, and it worked well for installing mysql, git, and all the other open-source software I used, but the imagemagick install was painful enough that I still kept around my own script to build it until homebrew came around.

justinweiss··on GitHub Flow
I'm not sure it's how GitHub does it, but we use the jenkins gem to do pretty much the same thing: https://github.com/cowboyd/jenkins.rb
justinweiss··on GitHub Flow
Using something like the Jenkins gem (https://github.com/cowboyd/jenkins.rb), it's pretty easy to script. The hardest part is setting up the job configuration the branches will use.
justinweiss··on The FBI stole an Instapaper server in an unrelated raid
Looks like it's back:

http://twitter.com/instapaper/status/84106275796946944

"As of 2 minutes ago, my DigitalOne server is back online. The logs indicate that it was off and not booted during the time it was missing."

Page 1 of 3Next →