Ask HN:Best Development Laptop? - <AUTHOR>

Anyone have any opinions on this? I've generally gone with macs in the past but it has been a good year or 2 since I have paid any attention to hardware and I'm not sure I buy the hype of the  i3-i5-i7 performance increases. I want a solid performer and I don't want a glossy body that I feel like I have to wipe down every time I use it. If there is a site that you use that provides good rankings/ratings and isn't full of junk like cnet I'd love to hear about it! <comment><USER2> I recently purchased my first ubuntu-linux laptop from system76 (<http://www.system76.com/>) --theyre a hardware company that ships exclusively ubuntu-linux laptops.

I've been meaning to try them for a while now, but just had the chance to purchase one a few weeks ago. So far, I'm loving it.

Among other things, here's what I enjoy presently:

* They sell large screen models (17.3", here). * The hardware is completely linux-compatible. I installed ubuntu fresh (just to check hardware compatibility out of the box), and had 0 issues getting __all__ hardware components working (primary SSD drive, wifi, nVidia card, webcam, mic, etc.) * Their laptop has a really sturdy feel to it and looks very 'clean'. They use beautiful metalic casing which makes it look really high-quality. * They have one of those really sturdy 'programmer' type keyboards that I love to type on. Big win. * Their hardware upgrade option are, in my opinion, excellent. I purchased a 120G SSD primary drive, and 8G of RAM, and this thing is insanely fast. I'm talking 2 second boot time, insta-opening of even large applications (K3B, I'm looking at you), and quiet operation.

Furthermore, their screens are absolutely beautiful. I'm not sure what distinguishes it from the $1,000 laptops you see around most stores, but the screen itself is top-notch.

As a side note, I use a laptop as my primary computing device--programming / movies / etc., and only run linux. I enjoy high-resolution laptops (like the one I purchased from system76), as I can have more vim-splits open :)

NOTE: I'm actually in the process of writing a full review on my blog about this laptop at some point in the near future.

<comment><USER3> It's not a laptop, but I did buy my wife and kids a small system76 desktop. Good company, decent hardware. I would personally recommend doing a fresh Ubuntu install as well. Mine froze up using their default install. On the other hand, once I did a fresh install everything worked beautifully. No hardware problems and no hunting for extra drivers(which I deplore having to do). What I like best about them is that they charge reasonable prices for upgrades.

If you don't want a pure linux laptop, I concur with many of the other poster's here and recommend a Lenovo Thinkpad.(I have one and dual-boot Windows and Ubuntu.

</comment></comment><comment><USER4> _I'm not sure I buy the hype of the i3-i5-i7 performance increases._

The hype about the performance of the i* line over the Core 2 Duos is rarely exaggerated, in my experience. The increase in performance is _vast_. Whether you _need_ that performance boost is a different matter entirely, of course, but an i5 or i7 of the same clock speed is a _huge_ leap over C2D.

</comment><comment><USER5> Is the 'wipe down' comment related to the finish on macs? I've got a lenovo with a soft-touch finish (orange in my case), and it is great. The finish is durable, and I'm amazed how many mac owners look at my laptop and comment on how nice it is.

It has a much warmer feel than the air or it's copycats. I never thought I would buy lenovo, but I'm sold. They do need to improve battery life. I thought I'd never run down a 3 hour battery, but I'm surprised how often I do.

<comment><USER6> I'm with you. I just recently got a U260 and I love it. My wife, who is a mac user, is even impressed.

<http://i.imgur.com/R5aw8.jpg>

It's a sexy beast. Performance is good. It is quiet and cool too. Battery life is fair, but I keep it plugged in most of the time.

</comment></comment><comment><USER7> I have a '10 MBA 13. It's really an almost ideal laptop.

Pros:

-It runs a Unix based OS, but one that I don't have to install and configure myself.

-It's thin and light

-Battery lasts 7 hours (although recently I've been getting ~5:30, which is not quite enough for "all day usage")

-The display is high res. Has the same res as many 15" displays.

Cons:

Limited storage and RAM with huge markups for upgrades.

edit: love is probably too strong a word for any machine, esp. one you didn't design & build yourself.

<comment><USER8> If you don't mind me asking, what kind of development do you typically do on your MBA?

I have a 15" MBP, and considered a MBA, but I am worried that having available real estate a tad smaller would be a detriment, even with the high resolution.

<comment><USER9> I have a 15" MBP and I've played around with the 13" MBA and I will say that the real estate issue isn't noticeable. Unless you have difficultly in reading smaller icons and fonts, having the same resolution made very little difference to me.

I will also note that the keyboard feels better on the MBA and the weight is a SIZEABLE difference (~3lbs vs. 5.5lbs).

The downside of course is if for some reason you need better specs, the MBA is only an i5 and maxes out at 4GB of RAM.

</comment></comment></comment><comment><USER10> Really a question I thought I should have asked. I am a long time Thinkpad use, I am thinking of getting a personal laptop.

I visited the showroom and had a look at the various entry level HP and Dell models and not very much impressed with the build quality of the ~ 1000$ range. I have seen people recommending MBP in many forums and thought I would give it a try.

I visited an Apple showroom last week and played with the 13 inch MBP for sometime, the build quality and looks are extremely good, but I felt a bit strange when trying to use it (that was my first experience with Mac), I had used Windows and Linux with various UI (GNOME,KDE,XFCE) etc but I couldn't navigate comfortably on Mac , It felt a bit different. I came to know that Mac doesn't have a backspace key, I was also not very much comfortable with the touchpad in Mac (I was apparently searching for the trackpoint)

I will be using a Thinkpad for my office work (client mandates windows XP). How useful would be to get a Mac, will the transition be easy? I would have to work on the Thinkpad in office and Mac by evening, will this won't affect my productivity by causing confusion due to different keyboard layout and mouse.

<comment><USER11> I think you'll be fine. It IS great hardware and even if you don't fall in love with OS X the way so many of us have, you can install your favorite flavor of Ubuntu/Windows. Of course some things will be a bit jarring at first but a little time with something new goes a long way. Personally, I never click my trackpad (tap to click, two-finger-tap to right-click, three-finger to drag) and don't look directly at the finder all that ofter (command-space to go to open spotlight search, return to open something).

Of course, if you work in an SSH terminal, there will be basically no difference.

</comment></comment><comment><USER12> Unless you absolutely need the higher resolution of a Pro, hands down MacBook Air. It's fast, small, light, and reasonably priced.

<comment><USER13> I'm a bit torn over the RAM limit of 4GB. It's ok now, but if I buy a machine in that price range I'd like it to be good a couple of years.

<comment><USER14> I've got myself MacBook Air (last year's model) with 4GB RAM and now I realize that I could even be fine with 2GB model.

It works just damn smooth because of SSD, much better than my iMac with 4GB and faster CPU but regular HDD.

<comment><USER15> Memory requirements vary a lot depending on the task at hand. You may get away with 2 GiB, but I have 12 GiB and it's not quite enough. I compile huge pieces of software that require insane amounts of memory at compile time.

2 GiB is a ridiculously small amount these days, 4 GiB is not a lot on today's standards. A 4 GiB hard limit for max memory is definitely a minus for the computer in question.

<comment><USER14> To tell the truth it looks to me that if something requires even 1 GB of memory during compilation than you have a bigger problem than lack of RAM on your laptop :) So I'd like to know about some real-world example when you need that much RAM for compiler.

For most cases when people claim they need more RAM the actual bottleneck is I/O rate which is kinda improved by having RAM to use as cache, but SSD usually works out even better.

<comment><USER15> Compiling new Android systems requires 16 gigabytes of RAM at compile time. Trying to compile it with 6 gigabytes will end up swapping so much that the system becomes unusable. I have 12 gigabytes and it's a bit slow and painful.

I have no idea why it takes so much memory and I consider it to be somewhat a problem. However, it's not a problem I can do anything about but I still have to live with it daily and get my job done.

Linux has excellent caching for I/O operations, so having more memory makes things faster, so even if something does not explicitly need the RAM, having it there will make thing s go faster.

<comment><USER14> Sure that having more RAM won't make things slower. But for most uses cases SSD compensates for lack of RAM, as swapping becomes reasonably fast.

You need to swap our more than 200 MB per second to saturate SSD in MacBook Air, it is hard to produce that much of non-garbage data.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> I use a Lenovo Thinkpad X220 that I purchased in August. The battery life with the 9-cell battery is downright amazing -- I just leave the charger at home now. The keyboard and screen are really nice too, although the widescreen aspect ratio takes a while to get used to. I also like the simple, matte black finish and the fairly utilitarian design that seems to have good ventilation and heat dissipation. Even the humble Core i5 in my build is also noticeably faster than any Core 2 laptop or desktop I've ever built or owned.

My only regret now is not getting the convertible tablet version, since I underestimated how much I use wacom tablets, and having one built into the screen would be extremely convenient for me.

However, what's best for me isn't best for you. If you use Linux and don't like tap to click or the Thinkpad trackpoint (the famous red pointing stick in the center of their keyboards), you might test drive the X220 before considering it, because the clickpad they put on these models will probably drive you nuts -- especially if you're used to the multitouch clickpads on Macbooks.

Also, about the screen size. It's big enough to see what you're doing, but since it's a lot wider than it is tall, you should consider how the development software you use will work with it. I spend most of my time inside of VIM, so I just maximize the window and split everything vertically. With a nice bold 9 or 10pt font (96dpi), I still get about 100-110 columns of text in each vertical window and almost 50 lines, without having to resort to small fonts (I don't like squinting). So for me, this screen size and ratio actually works out very nicely. If you spend all of your time inside of Eclipse or Visual Studio though, the lack of screen height will probably cause some pain.

Some people also report problems with noisy fans on this model. I haven't had this problem at all, but I intentionally avoided getting a soup'd up Core i7 configuration.

That said, I would also suggest considering a Macbook Pro. They usually have excellent battery life and a fairly solid design.

</comment><comment><USER17> Here is the thing you need to look at

[http://www.anandtech.com/show/5177/holiday-2011-laptop- buyer...](http://www.anandtech.com/show/5177/holiday-2011-laptop-buyers-guide)

</comment><comment><USER18> Since I do mostly development nowadays, and little photo/movie-editing or other CPU intensive tasks, I'm looking for laptops with large battery times.

The Macbook Air (battery: 7 hours?) is a decent contender.

However, whenever I look at Lenovo or Dell laptops, they don't state how long the battery lasts, but instead state how big their battery is in kWh. I'm not sure but, while that may be more precise, it doesn't give me an overall clue to how many hours I should get out of the laptop on reasonably normal use.

<comment><USER19> I use macbook air. No quibbles with it. Maybe if it upped the Mhz to 2.5Ghz it would be ideal.

      - Quiet.
      - SSD = Fast
      - Works all day on one charge.
      - No glare (only purple light is reflected...)

</comment></comment><comment><USER20> I have a 12.5" lenovo thinkpad x220. i5, 8gb ram, kingston hyperX SATA III ssd. The screen is an IPS screen.

I run 64-bit ubuntu.

I have a 9 cell battery which, after running powerTop, I get ~12 hours battery life out of coding.

This machine is great because I can travel, but it also has VGA out and HDMI out so I can connect to a larger monitor. The SATA III drive was VERY easy to swap out and is ridiculously fast (~500mb/s read/write)

The other benefit of this machine is that there is an mSATA port...you can boot off of the mSATA and use a larger platter drive for storage, even boot other OSes that you don't use too often.

The i5 vs i7 performance isn't too big of a deal unless you're utilizing multicores all the time. I have a desktop at work with an i7 and honestly, I don't feel much of a difference. In fact, the SSD makes my laptop feel a lot faster.

My wife has a MBA 13" that I use from time to time to maintain my IOs app...Thank goodness I didn't get it as my main laptop.

As for the review site, try notebookreview.com. I've always used it and is pretty good

edit: formatting

<comment><USER20> Also, Lenovo has some good deals on their site. You should check it out.

</comment></comment><comment><USER21> I got a Macbook Air a couple months ago and couldn't be happier with it. Traveling with it has been great. And the battery is awesome so I don't even carry a charger when I take it to the office/a cafe.

I should point out though that I'm strictly using it for development. I'm not putting Photoshop or anything on it. I haven't even loaded anything in iTunes yet.

</comment><comment><USER22> I got a p151hm from Malibal with the better matte screen, 16gb of RAM and an i7 processor. I went with SSD in the main slot and had the optical drive swapped for a spinning hard drive.

This thing is a great workstation replacement: I run Linux as the host OS, with Windows 7 in a vmplayer VM for work. The VM gets two cores, 8 GB of ram and both sides stay really snappy. It also runs cool.

It's certainly no macbook though: in comparison the battery life is poor, it's heavier and the fans are a little noisier. None of these things have been an issue at all for my usage patterns: I walk to work with it and haven't noticed the weight, I use it plugged in at home and work, and ambient noise generally outweighs any fan considerations.

I couldn't recommend it more at this point. Malibal's customer service has been great, and I got more hardware for my buck than I could find from anyone else.

</comment><comment><USER23> I'm using a mid-2010 MBP 13", which was meant for iOS development only but just after a few weeks of using it I switched over to it as my main development machine.

I have modified it to 8GB RAM and removed the DVD ROM to make space for a SSD/HDD combo. Compared to my previous Windows based desktop PC, it is just so much more silent. The SSD makes up for the spec difference between my desktop and the MBP, so cannot complain there. Compared to my Asus Laptop the MBP provides less battery time (Asus ~8hs, MBP ~6hs) but it is much faster, so that it works out quite well for me.

The only regret I have is that I didn't buy a 15" or even the 17" MBP, since for development work the 13" just doesn't provide enough screen estate, so for me an external monitor is a must.

</comment><comment><USER24> I'm using an X220 with 8G RAM + Core i7. I did not buy the SSD-enabled version from Lenovo, but replaced the factory's SATA disk with a 128G SSD I previously had on an X200... Had to hack the disk a little to fit on the X220 though. It's the fastest laptop I've had, screen is super bright, and with the large battery, I get 6-8h hours depending on the use.

I'm pretty much sold on Lenovo/Linux laptops when it comes to development, although I'm pretty sure that the even-lighter Macbook Air would cover 90% of my current needs (after a huge RAM boost ¬¬). Were I more on the run, I'd probably go for the mac. Right now, I need the raw power of the X220. :)

Oh and BTW if Apple started selling ARM based laptops, I'd get one for sure.

</comment><comment><USER25> Lenovo w520 here. Running kubuntu 11.04. I have no issues with it now, but there was an issue until recently with Intel's speedstep and power management. They just released a new bios that seems to have fixed it. Here's a long thread on it: [http://forums.lenovo.com/t5/W-Series-ThinkPad- Laptops/W520-S...](http://forums.lenovo.com/t5/W-Series-ThinkPad- Laptops/W520-Speedstep-not-working-properly-on-battery- BIOS-v1-26/td-p/504029/page/14)

Other than that, it's a great dev laptop. Also keyboard and screen are great!

</comment><comment><USER26> Lots of MBP/Air users here... :-)

However, at my office we've just ordered some Lenovo x121e's. All have an i3 processor, 8GB RAM, and SSD's. The speed is great, but the screen isn't so large for those of you that need large screen real estate (11.6"). We ordered them for portable "workstations" or something powerful and speedy enough for basic development tasks.

Battery life is great at about 6-8hrs, however the price can get quite high depending on your configuration.

<comment><USER27> My x120e, the immediate predecessor, is my everyday machine. I'm sad that I've just got an AMD Fusion instead of an i3, though.

</comment></comment><comment><USER28> Lenovo Ideapad != Lenovo Thinkpad

I made that mistake once and only once, the Ideapad is trash, like your average, low-end Dell/HP/Toshiba laptop.

</comment><comment><USER29> What type of development do you do primarily? For web dev, a mac is still the best choice in my opinion b/c you can VM to test all browsers.

I think hardware-wise, most laptops have more than enough power for local development needs. What's more important to me is screen size/quality and keyboard quality. In general, I plug in when I'm at home, so even these qualities aren't a deal breaker.

</comment><comment><USER30> I've really enjoyed my MBP 15". I've heard the next gen MBP will be thinner and lighter as well, so likely I'll hold out on upgrading until those come out. [http://thetechjournal.com/electronics/laptop/apple- macbook-p...](http://thetechjournal.com/electronics/laptop/apple-macbook-pro- goes-ultra-thin-next-year.xhtml)

</comment><comment><USER31> Lenovo Thinkpad, running Debian GNU/Linux (or your favorite Debian-derived distro).

Presently a T520i. Needed to upgrade to wheezy and 3.x kernel for full HW support, but it's a dream now.

</comment><comment><USER32> Toshiba Portege [https://en.wikipedia.org/wiki/Ultrabook#First_phase_.28Q4_20...](https://en.wikipedia.org/wiki/Ultrabook#First_phase_.28Q4_2011.29_2)

</comment><comment><USER33> Like @lucisferre, I've been enjoying my 15" MBP for dev work. I miss my old 17" Dell for the higher resolution and vertical space, but it's a small price to pay.

</comment><comment><USER34> using a 2011 MBP 13" 8gb ram, now hooked up to a 30" monitor. It's honestly overkill for me.

I like it more than the legendary Lenovo T500 I formerly had (screen wasn't bright enough, wireless/sleep issues bugged me)

</comment><comment><USER35> 11" Macbook Air i7 + 256GB SSD has been pretty great for me.</comment>


Mac vs. Braun - <AUTHOR> http://www.derlacher.de/p/867476

<comment><USER2> Yes, Apple obviously got inspiration from Braun.

<comment><USER3> Did the page imply something more than a comparison? No.

</comment></comment><comment><USER4> Dieter Rams (Braun designer), one of the greatest industrial designers of all time, is also known for his 10 principles of design. He states that Apple Inc. is one of the few companies designing products according to his principles.</comment>


Super Mario 64 has been decompiled - <AUTHOR> https://github.com/n64decomp/sm64/blob/master/README.md <comment><USER2> As an amusing side-effect, the team working on this effort also implemented IRIX userland support for QEMU since the original N64 toolchain ran on IRIX on the SGI Indy, and they need the original compilers to verify functional equivalence of their source: [https://github.com/n64decomp/qemu- irix](https://github.com/n64decomp/qemu-irix) .

<comment><USER3> I wrote to SGI in high school asking for some info on their computers and they sent back a stack of beautifully printed, full-color brochures. The Indy had a webcam, which was very rare in those days. Also included was a brochure on the Indigo workstation, which Industrial Light and Magic used for Jurassic Park, etc.

Nintendo is a little mysterious when it comes to what their actual tooling was, but I remember Donkey Kong Country being the first time I read they were using SGIs (or at least the studio "Rare" was).

It's somewhat surprising they used the Indy for developing Mario 64 – I always got the sense that it was somewhat lightweight in performance compared to the Indigo, but a very cool machine either way.

<comment><USER4> I have an SGI rotting in my garage, what's amazing about them is the quality of the monitor. For CRT displays, the best damn monitor I ever experienced, just CRISP.

The Nintendo 64 had a MIPS R4300 chip, the SGI Indigio also used the MIPS Rchip, the early one had R4000/R4400 chip, the later ones R8000+ chips. I can only speculate that by using SGI, you could run some of your non specific N64 code locally and debug faster.

Original PSX had a R3000 chip, but Sony opted for BSD, their devkit ran on FreeBSD PCs and you built the code and ran on actual PSX device. Cheaper...

<comment><USER5> Can you link more info about Sony's devkits using FreeBSD?

BSD would've been a strange choice as the Playstation 1 debuted on December 3rd, 1994. "FreeBSD 1" came out just 13 months earlier

The Playstation 2 "TOOL" machines ran Red Hat for some of them, which was a bit more mature by 2001

The Playstation 3 and 4 though both run Net and FreeBSD under the hood internally though

<comment><USER6> The Playstation 1 "TOOL" actually ran windows [1]. A large success of the the PS1 however was the the "twin ISA" card dev kit, which could be plugged into any PC-Compatible for PS1 development, which drastically lowered the cost of development for the PS1.

Also BSD != FreeBSD, BSD 4.3 Net/1 (the first BSD released under the BSD license instead of containing AT&T code) was released in 1989.

[1][https://www.retroreversing.com/official-playStation- devkit](https://www.retroreversing.com/official-playStation-devkit)

</comment></comment></comment></comment></comment><comment><USER7> One thing I've always been curious about: is there any sort of clear continuity of architecture or design patterns between the games in the Super Mario series? Yes, they're probably all from-scratch rewrites of the engine, but could each successive engine be said to be a "descendant" of a previous one, on a design level?

One thing I know (and can be seen in this repo) is that SM64 emulates a version of the NES/SNES "Object Attribute Memory", as a pure-software ring- buffer. (I'd love to know whether that carries on to later titles like Galaxy, 3D World, NSMB(U), Mario Maker, etc.)

<comment><USER8> Super Paper Mario uses an extremely similar engine as Paper Mario: The Thousand Year Door, which uses a slightly modified version of the Paper Mario 64 engine.

<comment><USER7> Intelligent Systems seems to have a good head on their shoulders for code reuse. Enough so that I would suspect that their _Fire Emblem_ and _Advance Wars_ series—when they were releasing concurrently—were the same engine underneath.

(Side-note: I've always wondered how the mini-games in IS's _WarioWare_ series work—whether each game is entirely custom code, or whether they've come up with some sort of DSL for specifying reflex games. If the latter, I would bet that that has a decent genealogy too.)

<comment><USER9> Well, they made a game where you can make your own microgames (D.I.Y.), and I believe an Iwata Asks revealed it was basically a dumbed down version of the internal tools they had been using, at least for the earlier DS WarioWare game (Touched.) Not sure if that quite answers your question, but I would bet it's some kind of DSL interpreted by a microgame engine.

</comment></comment></comment></comment><comment><USER10> This is cool and illegal. What makes me envy of the West (or countries other than Japan in general) is that this kind of attempt is somewhat condoned and praised, while in Japan there would be a vocal outcry and finger-pointing campaign (with some media exposure) to the point where the author would be forced to shut down the project. It's a blessing that people can pursue things like this, and it's a huge shame that Japan is such an anal when it comes to a marginally illegal activity in an open space. (I'm sure some people do it underground though.)

<comment><USER11> > It's a blessing that people can pursue things like this, and it's a huge > shame that Japan is such an anal when it comes to a marginally illegal > activity in an open space.

I've noticed spillover effects into Japanese gamers as well -- people being suspicious of or derisive about mods, even when they're perfectly legal and the game has built-in mod support (looking at you Monster Hunter World).

My (Japanese) girlfriend is on the very conservative side of the spectrum there and absolutely hates it when I bring up any kind of modding, and so do her friends -- the culture of "authorial intent is king" is very strangely strong for a culture that also appreciates and enjoys doujin.

<comment><USER12> Doujin works are made with the awareness that they are parodies of the original work. It does not alter the body of the original work in any way and, as the term itself means, self-published. It is made without any direct affilation in regards to the original work.

</comment></comment></comment><comment><USER13> I am looking forward to the mods that this will enable. I highly recommend trying mario 64 on dolphin EMU at 1080P with a texture pack. A HD mod that added a few more polygons would really round out the experience.

<comment><USER14> Is a raspberry pi a good-enough platform to run N64 1080P games on?

<comment><USER15> The question is now, would it be possible for someone to make a port of Mario 64 that runs on the Pi, instead of trying to emulate it?

Usually after you get source releases to games, you get people that port them to different platforms. Like how we had Doom on iPods and Kodak digital cameras.

<comment><USER16> There's still a lot of assembly code

</comment></comment></comment></comment><comment><USER17> Previous discussion: [https://news.ycombinator.com/item?id=20418577](https://news.ycombinator.com/item?id=20418577)

<comment><USER18> This is the "official" release, where someone from the team that was working on the decompilation is making it public rather than just a random person on the Discord.

But not much has changed, I guess it's hard to make progress in a month.

</comment></comment><comment><USER19> "For Windows, install WSL and a distro of your choice and follow the Linux guide."

I love these instructions!

Also, I'd love to see this converted to a native executable. I wish Nintendo would actually allow that, although I'm sure they wouldn't.

<comment><USER20> If I remember correctly, some time ago I saw a video from someone who managed to build a substantial part of SM64 as a native executable and was able to verify that tool-assisted runs ran perfectly on in it (hence it being accurate). The video displayed the game as a wireframe and had no audio, since those parts are surely tied to the N64 hardware.

I can not figure out the right keywords to find it again, but you may be able to if you are interested.

EDIT: Even though I can't find the video anywhere (I promise it existed!), from [https://warosu.org/vr/thread/5644072](https://warosu.org/vr/thread/5644072)

"To answer your questions, yes: This is a full source code which can be recompiled with modern toolchains (gcc: ive done this already) and even target other platforms (PC) with quite a bit of work. There already exists some proof of concept wireframe stuff."

<comment><USER21> [https://www.youtube.com/watch?v=7VbTe7U-bo4](https://www.youtube.com/watch?v=7VbTe7U-bo4)

</comment></comment></comment><comment><USER22> It's interesting there are bits of code that don't have a purpose, and may have been there to support a second player. For example here:

        > This is evidence of a removed second player, likely Luigi.
        > This variable lies in memory just after the gMarioObject and
        > has the same type of shadow that Mario does. The `isLuigi`
        > variable is never 1 in the game. Note that since this was a
        > switch-case, not an if-statement, the programmers possibly
        > intended there to be even more than 2 characters.

[https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691b...](https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691bf0f09201cfeeeb1d9f1/src/game/shadow.c#L530)

And more results when searching for "luigi":

[https://github.com/n64decomp/sm64/search?q=luigi&unscoped_q=...](https://github.com/n64decomp/sm64/search?q=luigi&unscoped_q=luigi)

<comment><USER23> I vaguely recall reading that the multiple characters in SM64DS were a feature that was cut from the original game. Am I hallucinating or did Nintendo say that somewhere?

(The additional characters in the DS remake were horribly unbalanced, so I wonder if the earlier implementation would have been better...)

</comment></comment><comment><USER24> Always a little humbling to remember the developers are just like you and I.

[https://github.com/n64decomp/sm64/blob/master/src/game/camer...](https://github.com/n64decomp/sm64/blob/master/src/game/camera.h#L379)

[https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691b...](https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691bf0f09201cfeeeb1d9f1/src/game/level_select_menu.c#L111)

[https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691b...](https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691bf0f09201cfeeeb1d9f1/src/game/behaviors/spiny.inc.c#L59)

[https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691b...](https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691bf0f09201cfeeeb1d9f1/src/game/debug.c#L181)

[https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691b...](https://github.com/n64decomp/sm64/blob/4b46247686fd0e1ee691bf0f09201cfeeeb1d9f1/src/game/mario_misc.c#L33)

<comment><USER25> It's a decompiled result, it's _incredibly_ unlikely the comments are from the original code, rather they'll have been placed there by the people doing the decompile.

<comment><USER24> Ah, I wasn't aware of that. I thought it might include those.

That's a shame!

</comment></comment></comment><comment><USER26> Nintendo will request a takedown the second they see this, no?

<comment><USER7> What for? There's no copyrighted material in this repo.

<comment><USER27> The models and sounds aren't copyrighted? Because they are totally within the GitHub, there...

<comment><USER28> I didn't look through the repo, but given that the linked README talks about needing an original version of the ROM in order to extract assets, I would guess they're not in there?

<comment><USER27> The models certainly are. Don't think the textures are.

<comment><USER29> A number of assets, including textures, audio, and prerecorded demos, have been stripped out of this release.

</comment></comment></comment></comment></comment></comment><comment><USER30> What an awesome project. I would love to mess with random stuff like whirlpool strength and see what it does to the game. Efforts like this to make the decompiler output intelligible e.g. meaningful variable names make this much more approachable for a technical person like me without much of the niche platform-specific reverse engineering skills. In fact there are countless games I'd love to dive into like this.

<comment><USER31> Train a ML system on a range of parameters (whirlpool strength) until you have a decent port of the game to a neural network and/or tree-based algo. Then try to optimize the game based on people's enjoyment.

<comment><USER32> I think it would be much easier to use change the parameters directly in the original program. Just have to use a gradient-free optimizer.

<comment><USER31> Yours is a better technical approach to the vague dream I had described.

Am I being downvoted because I don't have an optimal solution to some problem?

</comment></comment></comment></comment><comment><USER33> I don't know much about reverse engineering field, but more than 70% code is assembly. Is extracting assembly still considered decompiled?

<comment><USER34> Outside of a few audio and PAL routines (see asm/non_matchings), everything that was written in C has been decompiled back into C. There are a few routines written in ASM, like the boot code and some of the SDK code.

Most of the other "assembly" files are for data, like the level scripts. It's not assembly of machine code.

You could try to put those into C, but you're not gaining much--assuming that it's even something that can be represented in C without a bunch of fancy compiler specific tricks. You'd be better off creating a DSL or a custom program suite, which is probably what Nintendo was doing 25 years ago.

</comment></comment><comment><USER35> So how do people do this?

Manual inspection?

<comment><USER36> They got the original compiler running and made source that compiles to the same ROM.

<comment><USER35> How does that work? They still manually reversed the disassembly right?

</comment></comment></comment><comment><USER4> It's amazing the level of effort and work that has gone into this and here I'm trying to finish a 100 line side project. :-]

<comment><USER37> You can get a lot more done with a team of people who are also getting paid.

<comment><USER38> Who was funding this decompilation? Was it from the speedrunning community?

</comment></comment></comment><comment><USER39> Once the inevitable native ports start appearing, I'd love to see an OpenGL 1 graphical backend so it can run natively on IRIX

</comment><comment><USER40> pannenkoek2012 would probably find more glitches, assuming this doesn't get taken down by Nintendo given their aggressive stance on copyright

</comment><comment> ryan-allen They wrote it in assembly, nuts!

<comment> o-__-o Binary executables are machine code. One step from machine code is assembly. It's easy to translate machine code to ASM (because you are just reversing the op code and adding data structures) from there it gets hard because compilers do all sorts of tricks to create performant assembly and throws away hints about code structure (e.g a simple overloaded function may become an ASM routine with 30 parameters depending on how it's called. Or vice versa.. it's like trying to recreate HD video from mpeg-1, entropy has been thrown away). So decompiled code is usually left in assembly. Sometimes an effort is made to create the C equivalent but that's a maddening effort.

More than likely SM64 was written in c with some critical performance parts in ASM (like mode7 and some of the OAM stuff other threads talk about).

</comment></comment><comment><USER41> It would be great if this could be done for games where the source code was lost.

Like Panzer Dragoon Saga.

<comment><USER42> This decompile was done without the original source code, just the released game, which is effectively the same as being 'lost'.

<comment><USER41> I meant where the source code does not exist anymore, anywhere.

Nintendo still has the source to SM64.

<comment><USER42> Maybe I misunderstood you.

I'm saying this same decompile process could indeed be done to any released game where the source code is lost, because that is effectively what happened in this case.

<comment><USER43> I think you misunderstood what the parent was saying.

On the technical level, you are correct in that in both scenarios the end result would be the same, as you are going from compiled code to decompiled code.

What I believe the parent is saying, is that applying this to Panzer Dragoon accomplishes more (on the human level), because devs of that game don't have the original source code anymore, while Super Mario 64 devs do.

<comment><USER44> Maybe the confusion could have been avoided if instead of:

> It would be great if this could be done...

codesushi42 would have said (emphasis mine):

> It would be great if this _would_ be done...

Not that I think it was incorrect as it was, just a little ambiguous, I guess.

<comment><USER43> Not a native english speaker, but this seems like a nitpicky non-issue to me. How is it not the same as "could you please pass me a glass of water" vs. "would you please pass me a glass of water"? Both indicate a request rather than talking about actual physical ability to perform the action.

Also, I would agree more with your point if the parent said "It could be great if this could be done..." instead of "It would be great if this could be done". The first "would" seems to indicate to me pretty clearly that the parent was talking about a request rather than ability.

<comment><USER45> > Not a native english speaker, but this seems like a nitpicky non-issue to > me. How is it not the same as "could you please pass me a glass of water" > vs. "would you please pass me a glass of water"? Both indicate a request > rather than talking about actual physical ability to perform the action.

in the case of something like the glass of water, "could" makes the sentence more indirect, and more polite.

the original post is "it would be great if [huge task undertaken by unspecified persons] could be done". this native speaker would not attempt to polite-ify a request for something like that (and i don't think other native speakers would either), so the original post can't be making a request. it is expressing a hope that the thing is possible. mburns (reasonably) then explains that it is possible. then codesushi42 sort of goes on the rails, and i can't figure out what they're attempting to convey at this point.

<comment><USER41> Huh? I wasn't making an appeal to anyone, so your point is moot.

Context is important. Why bother decompiling a game if you have the source already? Of course I meant decompiling games for which there is no source code available on any machine. Nintendo has the source for SM64.

What a ridiculous load of pedantry.

<comment><USER46> It isn't pedantry. Expressing a wish that something "could" be done is ambiguous. "Could" is both used as you originally intended _and_ as an expression of ability. It's not pedantry to misunderstand, and it's not pedantry for GP to explain why the misunderstanding occurred.

A misunderstanding occurred. The misunderstanding was clarified, acknowledged, and explained. I'm not sure it contributes anything to make accusations of pedantry.

<comment><USER47> Yes, this thread right here officer.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER48> Is there a usb compatible n64 controller?

Part of what makes this game such a watershed moment for 3d gaming is how the controller was designed to maximize it's potential.

To this day Mario 64 is one of the best games ever made.

<comment><USER49> 8bitdo once hat an N64 controller, but seems like it's not available anymore, maybe you find a used one somewhere.

Also there are "Controller Converter" N64->USB available on i.e. Amazon and iNNEXT has an Retro 64-Bit N64 Controller on Amazon as well.

Don't know if any of these will work for you, at least the iNNEXT is mentioned in the retropie wiki[0].

[0] [https://retropie.org.uk/docs/Nintendo-64/](https://retropie.org.uk/docs/Nintendo-64/)

</comment></comment><comment><USER50> lol i love seeing all the replies to comments on this that start with "No."</comment>


Ask HN: What non-technical solo founder should learn to start a online business? - <AUTHOR> <comment><USER2> There are lots to consider when starting an online business. I'd suggest you look into this website([https://thecontractorscoach.com](https://thecontractorscoach.com)) to help you get started.</comment>


Show HN: rationalfiction.io – host, share, discuss rationalist stories - <AUTHOR> http://rationalfiction.io

<comment><AUTHOR> When Eliezer Yudkowsky has written HPMOR([http://hpmor.com](http://hpmor.com)), this work has spawned a genre - fictional works focused on science, technology, and rationality.

I have made a website for people to discuss and share these stories. I want it to be the perfect place for hosting such fiction, and I want it to be a great community for the kind of people who hang out on HN(and also enjoy fiction).

Now I'm looking for some feedback - what do you think about the website? How can I make it better?</comment>


About "What is happening with this world?" - <AUTHOR> http://meshedsociety.com/the-globalization-of-news/ <comment><USER2> Too much TV</comment>


Is it time to centralize hiring? - <AUTHOR> https://medium.com/@nicksedlet/is-it-time-to-centralize-hiring-f0a9b963c8a4#.rryp3bqox <comment><USER2> Why would a company give another company so much power over their hiring practices?

Hiring is an important skill for every successful company and the more you use these centralized services, the more you will be dependent on them.

At some point they will realize this and start calling the shots and because you now have none of the required hiring knowledge, you are stuck.

<comment><USER3> Why assume that hiring is not a specialized skill, that centralized experts can best provide? At my work we rely on outside experts to help us with our marketing campaigns, our retirement packages, etc - we don't have expertise in those areas and it is way more efficient to work with people who do. Would be great to hire through someone who can look intelligently at predictors of job performance, instead of resume + ineffable interview qualities.

<comment><USER4> This is exactly right. I went on an interview once, years back, for a company that will remain unnamed.

Their hiring process was delegated to non-recruiting function hiring managers, and had no structure to it whatsoever. I met with two different people I'd have been working with, and neither had any idea how to structure an interview, or ask questions that provided them the insight needed to determine if I was capable of doing the job. There were all sorts of questions about what I've done in the past, but nothing about what I intended to do, or how I'd apply what I know to solve the specific problems the job was created to solve.

</comment></comment></comment><comment><USER3> doesn't this approach have some geographic restrictions? With the centralized hiring approach, aren't applicants still only willing to work in certain locations?

<comment><AUTHOR> Yes, fair point. To get the network effects (lots of pre-screened candidates ready to hire, lots of relevant jobs for a given candidates) recruiter needs to have a strong presence in every city it operates in</comment></comment>


Amazon's core competency? Pricing. - <AUTHOR> http://clipperhouse.com/blog/post/Amazons-core-competency-Pricing.aspx

<comment><USER2> I don't really see what the point of this article was - the entire message is summed up in one phrase "Amazon has mastered ... making money in low-margin businesses."

There is really no additional analysis, explanation, or extrapolation beyond that statement. The key thing that inspired this was that Amazon "introduced spot pricing for servers" which is never actually explained for anyone that might not know what that even means.

I think there was a seed of a good article here, but it should really be more than just stating an idea and leaving everything else up to the reader to determine.

<comment><AUTHOR> Added a bit of explanation of spot pricing, per your request.

</comment></comment><comment><USER3> Yes, _that's_ why I use their (slightly overpriced) services.

It couldn't possibly be the features, reliability, ease of us, awesome documentation and almost instant availability.

<comment><USER4> You are paying for all those things. If they are better at all of those than the competition, I'm not sure if they are overpriced.

</comment></comment><comment><USER5> To demonstrate that spot pricing is a CORE competency you would need to show that it is applied ACROSS their businesses. Where's the evidence they use it much in books sales, music etc?

</comment><comment><USER6> "Of course their technical and operational execution is excellent"

Clearly spoken by someone who has only seen the beast from the outside...

<comment><USER7> As a customer of s3 looking to use ec2, can you elaborate?

<comment><USER6> ec2 is one part of amazon that I haven't any direct experience with, but anyone who thinks that amazon is a good technology company should spend some time chatting with the legion of ex-amazon employees out there.</comment></comment></comment>


KeyChair: Extract RSA private keys out of .keychain files - <AUTHOR> https://github.com/indutny/keychair

<comment><USER2> Hmm a bit more info in the readme would be helpful. My .keychain directory only contains shell snippets that set environment variables to my SSH agent.

Where's the vulnerability? In ssh-agent? Or are we talking about a completely different keychain tool here?

<comment> robinson-wall I believe this is designed to operate on OSX keychain files, e.g. ~/Library/Keychains/login.keychain - and is unrelated to keychain the ssh- agent wrangler.

<comment><USER2> I see. Makes sense. Thank you.

</comment></comment></comment><comment><USER3> Another project (written in Python) apparently created about a year ago includes more links in the source to all the various Apple open source resources that document the KeyChain format:

[https://github.com/n0fate/chainbreaker](https://github.com/n0fate/chainbreaker)

I would have to dig quite a bit further to determine what is meant by "even the seemingly unextractable ones" in the README and whether or not this Python tool accomplishes the same. (My guess would be yes since it additionally supports decrypting the keychain using the in-memory master key.)

It was interesting to me to see what popped up when searching for the RFC 3217 (Triple-DES and RC2 Key Wrapping) IV:

[https://www.google.com/search?q=4adda22c79e82105](https://www.google.com/search?q=4adda22c79e82105)

The oldest was a keychain extractor written by Matt Johnston (the author of Dropbear) copyright 2004 but only available via the Internet Archive back to 2011: [https://web.archive.org/web/20110228153630/http://www.ucc.as...](https://web.archive.org/web/20110228153630/http://www.ucc.asn.au/~matt/src/extractkeychain-0.1/extractkeychain.py)

</comment><comment><USER4> Can we get the title updated to say '...keys out of OS X .keychain files', something like that? I feel like there's enough different keychain programs out there, it seemed confusing to me.</comment>


New live music related startup... feedback anyone?  - <AUTHOR> http://flashbck.com

<comment><USER2> I looked at your page and said, who gives a crap. Literally. That is what went through my mind. Why on earth would I use your service to 're-live the great times'. Why do I need your service? Posterous can do this for me. If I just have pictures, Picasa or Flickr. If you are offering value, you aren't making it apparent from the beginning. I spent less than 1 minute on your page and I doubt too many others would spend much more.

Hmmm I decided to spend more than a minute by clicking a couple links but I just get a 500 page.

<comment><AUTHOR> Thanks for your comments, we're working on doing a better job of explaining the proposition early on. Seeking feedback is an important part of that, so cheers.

</comment></comment><comment><USER3> I think it should at least explain something. "Re-Live Great Times" doesn't mean much.

<comment><AUTHOR> Agree, we're working on explaining ourselves better. Thanks for the feedback</comment></comment>


ARM Assembly Language Programming - <AUTHOR> http://www.arm.com/miscPDFs/9658.pdf

<comment><USER2> Since other people are reminiscing about ARM:

\- It was the first language I wrote real programs in, back in the late 80's on the Acorn Archimedes desktop machines it was originally built for. The A in ARM originally stood for Acorn, not Advanced.

\- Writing ARM demos I was always jealous of the Amiga's blitter, but then I discovered STMIA could store multiple registers pretty darn fast.

\- I chose to go to Manchester University purely because Steve Furber, one of the chip's designers, would be a lecturer on my course.

\- He spent weeks taking us through diagrams of the x86's instruction decode hardware. I was convinced that any processor that had to expend so much of its silicon just decoding instructions was doomed, not my best insight.

\- The instructions' simplicity did make it easy to build low-power versions however, hence its ubiquity in mobile devices. Steve seemed as surprised by this as anyone, it definitely didn't seem like a design goal at the start.

\- His main research project was a clockless version of the ARM chip, with asynchronous logic, called Amulet, really interesting technology that never caught on: <http://en.wikipedia.org/wiki/AMULET_microprocessor>

\- ARM is the only British-born computer technology company I can think of that achieved lasting international success. I'd welcome any other examples.

<comment><USER3> >> "He spent weeks taking us through diagrams of the x86's instruction decode hardware. I was convinced that any processor that had to expend so much of its silicon just decoding instructions was doomed, not my best insight."

I haven't found figures, but I'd be willing to bet there's far more ARM devices in the world than x86. x86 didn't die, but it's not in the same league as ARM in terms of success.

Agreed though, the x86 is an absolute dog mainly because of the backward compatibility. Tacking on 32 bit instructions with prefixes, It's a mess.

<comment><USER4> ARM core sales are measured in billions per year.

</comment></comment></comment><comment><USER5> I have a particular fondness for ARM assembly. It's a beautiful instruction set, with a minimal elegance and internal consistency.

My only experience of a "normal job" was between school and university, writing import/export filters for a DTP application written entirely in ARM assembly. It was quite a year.

If you want to get into ARM assembly, this is the original and best:

<http://www.peter-cockerell.net/aalp/>

I still have one of the original paper copies. 1987 was a long time ago, but the legacy of those heady years is still strong.

</comment><comment><USER6> The PDF is password protected, restricting copy/paste and print functions.

The old ColorSync trick ( <http://www.macosxhints.com/article.php?story=200512231728165> ) has long been disabled by Apple, but the link offers some other ideas for OS X (including GhostScript).

Freeware PDF Unlocker for Windows (which includes and uses GhostScript) proved effective at removing the restrictions (though bookmarks are broken in the process): <http://hotshare.net/file/106490-50163782f0.html>

</comment><comment><USER7> Thanks, this seems like a nice book.

As it happens, I've been learning ARM assembly in the recent weeks; just for fun so far. I've mostly used some instruction set references or ARM cheatsheets I found on the web.

Having written mostly m68k assembly before (well, 6502 too...) I knew a bit how to read ARM assembly but I wanted to learn it throughoutly and gain such insight into the instruction set that can only be achieved by writing non- trivial programs with it. Before that I wanted to learn x86 assembly but I soon gathered I'll have better use for my time than that.

I like ARM instruction set quite a lot: it's nicely coherent, has nicely orthogonal features (such as conditional instructions), and doesn't seem to be ridden with despicable backwards-compatibility hacks like x86 assembly.

I like that for once something as good as this has significant marketshare in mobile cpus. Just wondering if they could gradually creep into the market for desktop cpus as well.

<comment><USER8> > Just wondering if they could gradually creep into the market for desktop > cpus as well.

Much like I was hoping that PPC would dethrone IA-32 back in the day (I think Linux, OS/2, and NT were all just about ready to support it) but it seems economies of scale are everything.

I'd buy an ARM and a desktop motherboard just to mess around with, but I've literally never seen a local screwdriver shop that carried them even for smoke tests. I guess they're doing fine without hobbyists.

<comment><USER9> The Beagle Board is probably the closest thing there is to a desktop MB that uses the Cortex chips.

</comment></comment></comment><comment><USER10> I've been using ARM assembly language since the early 1990s. It's a beautiful instruction set, far nicer than the 8080 and Z80 I started with (and which can still be seen in the x86 line) and the m68k line I contracted for.

I've built robots with and compilers for Z80s, and programmed embedded m68k for food, but it was the ARM family that I remember with particular fondness. Every instruction being conditional, clean registers, orthogonal instructions. Simply fun to program.

</comment><comment><USER11> I became interested in ARM assembly after reading the x86 assembly Forth tutorial that was recently posted on HN. Lacking an ARM processor, though, I'm wondering what emulation options are available? I'm looking for a dead-simple setup that will let me test and run whatever toy ARM assembly programs I write.

<comment><USER6> Free ARM Emulators <http://www.thefreecountry.com/emulators/arm.shtml>

<comment><USER11> Any specific recommendations from that set? I was looking at Qemu earlier but I'm curious to hear from HN folks who have had experience with these emulators.

<comment><USER6> Check out the Amiga emulator UAE - it's been ported to virtually everything (Linux, OS X, Windows, DOS, BeOS, Palm OS, and much more, including AmigaOS!) and is under active development (WINUAE, anyway):

<http://www.thefreecountry.com/emulators/amiga.shtml> <http://en.wikipedia.org/wiki/UAE_(emulator)>

<comment><USER12> From the webpage it seems that UAE emulates the m68k, not the ARM processor.

</comment></comment></comment></comment></comment><comment><USER13> Why does it say [scribd] in the Hacker News title?

<comment><USER14> PDF links automatically give a scribd link after the original.

<comment><USER13> Okay, then there's two issues here:

1\. Adding something in square brackets after a title looks like a format hint (e.g. [pdf]) and not a seperate, clickable link

2\. With Safari (Mac and iPhone) the second link just gives me the PDF file on the arm.com site. Is scridb unsupported on these platforms? Is its purpose purely adding a redirect? What value does this add?

</comment></comment></comment><comment><AUTHOR> A nicely documented overview and introduction.

</comment><comment><USER15> [pdf]

<comment><USER16> Isn't that true of everything that comes from scribd?

<comment><USER10> It doesn't come from scribd. scribd automatically scrape every PDF they find and put it on their site. They do this without considering that many of the PDFs have copyright notices, and require the copyright holder to pay a lawyer to issue a formal C&D before they do anything about it.

I think what they do is reprehensible and I think they're scum. I don't know why the powers that be at HN automatically add the link to scribd.

<comment><USER14> Google does the same thing, but no one ever speaks up about that. Realistically speaking, if you don't want your content to be scraped by such services, put it behind a login page. We as content owners need to stop fighting against technology; it's not a battle that can (or should, really) be won.

<comment><USER10> Google provides search so people can find your site, and then sends people to your site.

Scribd do neither - they appear to take your content, put it on their own site, and provide nothing in return.

I, as a content owner, expect that a copyright notice should be respected, and I don't expect to have to track down every copy and sue the plagarists and thieves. I've certainly stopped providing PDF references to HN because they aid and abet such theft.

I'm not averse to technology, and I freely provide much of my written material for free, on my sites. I just expect to have people come to my sites to read them, and not have parasites like scribd steal the material without remorse or recompense.

<comment><USER14> Google also gives you a link to view it on their site. The only difference between Google's PDF viewer and Scribd's is that most people don't link to a Google PDF page.

<comment><USER17> No, this goes beyond indexing, referral, and reformatting. This is copyright infringement, plain and simple; Scribd monetizes your content by showing ads on the same page!</comment></comment></comment></comment></comment></comment></comment>


Will This Ring Revolutionize Wearable Technology? - <AUTHOR> http://superbcrew.com/mota-smartring-revolutionize-wearable-technology/

<comment><USER2> No.

But seriously, it's a cute toy. But it's essentially a pager in a ring. As a wearable it's not going to last long with an OLED screen and Bluetooth LE. Another thing that I need to charge every night? For me, no thanks.

It's going to be a must have for those geeks who MUST have every cool toy going - but is it going to last long? I somehow don't think so.

I'm quite disappointed with the state of wearables at the moment, and I personally think it's a dead end. But I guess it's just about getting product out there and bought, not about having something actually useful. So in that regard, it'll have some measure of success.

</comment><comment><USER3> No. But I honestly like this product!</comment>


Flat Earth Supporters Now Plan an Antarctica Expedition to the Edge of the World - <AUTHOR> https://www.forbes.com/sites/jimdobson/2019/03/16/flat-earth-supporters-now-plan-an-antarctica-expedition-to-the-edge-of-the-world/ <comment><USER2> There's a lot of fun conspiracy theories related to Antarctica. Flat Earthers think it's the edge of the world, Hollow Earthers think it's the entrance to the inside of the planet, some other group thinks it's an alien crash site, and almost all of them think there's covert high level government conspiracies going on there.

Some of them could be good sci-fi story tellers if they redirected their energy.

</comment><comment><USER3> Why don't they just send a camera into the upper atmosphere attached to a weather balloon? It probably would cost waaaay less.

<comment><USER4> They've done that, and then concluded that the person doing it was obviously a shill & faking it all.

(Which is pretty much the guaranteed outcome of this endeavour too)

</comment></comment><comment><USER5> They had my serious attention till the point they mentioned "Neil Degrasse Tyson, Bill Nye" and serious scientists.</comment>


Software Updates - <AUTHOR> https://xkcd.com/2224/ <comment><USER2> Software getting worse, just out of my head:

\- VS2019 removed at least two important features from VS2017 (export of profiler results and the concurrency profiler)

\- Firefox "new" extension API still means you can't remove the top tab bar from tree style tabs (best FF extension) without hacks

\- Current Dropbox versions are incredibly invasive. They popup when opening a word document. When pluggin in my Camera. And now started showing a glowing red "error" because I "only" have a Pro account and no business account (when using 0,4% of my storage). Also they still have no way of ignoring folders.

\- Malwarebytes Anti-Malware just jumped the shark two (?) years ago with its redesign. It was so good back then

\- Skype is being almost completely unusable. Still popular because of the name unfortunately

\- Imgur is a joke and became what it was literally founded to avoid

\- The new Reddit layout is borderline unusable. They will lose the rest of the core users when they disable the old. subdomain

\- Teamviewer. How is it possible that such an program is not backwards compatible between versions? Everytime I want to use it it's a dance to quickly delete/find/install a version that the other side has

\- I don't understand how the "modern" Windows start menu works they introduced in Win 8 I think. Luckily everyone I know uses classicshell

\- Phones have gotten almost to the point of being unusable. The latency, audio quality, skipping and hearing your own voice made me avoid phone conversations for years now. Even landlines are all digital and horribly compressed. Humanity had that one nailed in the 60s.

<comment><USER3> > \- The new Reddit layout is borderline unusable. They will lose the rest of > the core users when they disable the old. subdomain

While I agree with you here, there is also a point that it might attract new and younger users with its more 'modern' look.

Personally I like sites like HN or the old style wikipedia for its information density and out of the way design. But that might just be the age talking here. People that grow up now that mostly scroll by touching the screen with their fingers have other requirements and ideas about good UI.

<comment><USER4> I doubt age has anything to do with it (unless you imply younger people prefer shitty interfaces) since Reddit's new site is awful even on mobile. I always switch to i.reddit.com not only because it is _much_ faster, but also because the new layout just unusable with somehow combining both oversized (even for mobile standards) elements _and_ tiny elements all over the place, needing a ton of taps to just read comments (which means you'll often mistap something and the slow loading takes _ages_ ), popups getting in the way, etc.

It plainly sucks.

At least unlike other sites, they have the decency to leave the old UIs around, so not everything is bad.

<comment><USER5> I have yet to come across a normal friend who doesn't think HN is a super ugly site which essentially means if they had interest in the site, they prob wouldn't use it.

All the HN comments here about Reddit are talking about how they feel and their bubble feels. Which I personally agree with. But I'm not representative of every day user.

<comment><USER4> There is no such thing as "every day user" though, every user is different and if anything a major source of those UX issues people have is "designers" who come up with imaginary "every day users" (usually to justify their own preferences) instead of performing actual usability tests on real users (and accepting when their ideas are bad or wrong) or just sticking with things that we already know that works and perhaps tweaking them (but again accept when they screw up and users say so and revert their changes instead of doubling down on them).

<comment><USER5> How about users who don't know too much or don't look too into the internet, web dev, or web design. And don't read up on tech (not gadget) news specifically.

That keeps my point in tact and covers the vast majority of the population

</comment></comment></comment></comment></comment></comment><comment><USER6> Things i tried to keep using way longer than most:

-windows 7 (upgraded only for widi support - and i miss them)

\- skype (i d never upgrade if i could)

\- photoshop standalone (still use it)

\- office 2007 ( still use it)

\- dropbox (no option there)

\- old reddit

\- iphone 6

\- jquery (plan to avoid npm until it dies of natural causes)

\- windows movie maker / photos

In fact it s getting harder to think of things that are clearly better.

Not only are newer versions slower, they re lacking features that were working just fine. Something happened in the past 4 years and suddenly worse became cool again. There s def a worrying trend.

My theory: the mobilification of everything is destroying tech. It's a self- fulfilling prophecy: make everything mobile-friendly so more people switch to mobile-only (why?). Second, mobile has terrible user feedback mechanisms. It's too burdensome to send feedback and the apps are so limited that there's physically no space for asking to add new features on the screen. That's why it's largely desktop apps that are affected - not server apps.

(Ironically, table-based HN has the best responsive behavior for reading text on mobile than any "responsive" site).

<comment><USER7> > Ironically, table-based HN has the best responsive behavior for reading text > on mobile than any "responsive" site

No it doesn't, HN literally sucks on mobile. From the top of my head:

\- On the front page I always click the stories title when I want to click on the "xxx comments" link

\- When reading comments, it's impossible to use the tiny [-] buttons to collapse threads

\- "code" blocks are still broken

<comment><USER8> The first two are some of the best things about browsing the site on a BlackBerry with Firefox and Vimium: clicking links are only a keyboard shortcut away.

Same goes for sites that don't scale nicely and have interfaces designed for desktop. "Clicking" links is always easy.

</comment></comment></comment><comment><USER9> 2 Windows programs that I've been using for ~15 years have done a great job at avoiding the abyss.

They would be IrfanView[0] (image viewer) and foobar2000[1] (mp3 player).

Both programs are very minimal and have stayed true to their vision. Using them today feels similar to how it was 5 or even 10 years ago, but at the same time subtle improvements have been made too. Both are still under active development, so it's not a matter of them not being updated for years.

[0]: [https://www.irfanview.com/](https://www.irfanview.com/)

[1]: [https://www.foobar2000.org/](https://www.foobar2000.org/)

<comment><USER10> I never stopped using Winamp. I've been whippin that llama for over 20 years.

<comment><USER11> So have I. And if anyone would write a plugin for it so that I could play Youtube Music through it (not sure if the API even allows that), I'd pay for that.

</comment></comment></comment><comment><USER12> I just tried to fastlane a new beta version of my flutter iOS app up to the app store today. It got rejected by Apple because I was using Xcode 11.2, which was released on Nov 1st.

Apparently, on Nov 5th Apple released 11.2.1, but still haven't put it in the App Store. I didn't know about it.

Ended up being a 7.3gb download and about 10 minutes to extract the .xip file on my 12 core 2.9ghz macbook pro.

The struggle is real.

<comment><USER13> Wait, you can't put an app on the app store when your xcode version is not the absolute latest? Why do iOS devs put up with th... oh, right, Apple.

<comment><USER14> No, it's not true in general, but in this case Xcode 11.2 had a bug that would cause crashes in apps built with it. 11.2.1 fixes the issue.

</comment></comment></comment><comment><USER15> The two oldest pieces of software I currently use (Emacs and Postgres) manage changes pretty well and somehow, they now scale at a ratio of features, speed, and size that's pretty decent.

They probably evolve slower than newer younger players because of their stability (and baggage).

I'd be interested in knowing what they do right.

<comment><USER6> > what they do right

Everything! But most importanlty, the people who make them use them. There are so many bugs in skype nowadays that it's fair to assume its developers have switched to something else!

</comment></comment><comment><USER16> I've been running Navicat 11 and 12 side by side for almost a year because of missing features and a wrecked UI, with the newer version supporting newer MariaDB features.

I just received a new work laptop and the license for 11 refused to deactivate, so I can't activate it on my new Laptop.

Usually IT or whoever would contact support but with a couple buyouts under us it was licensed to a company that no longer exists.

Trying to talk IT into getting me a new expensive license for an outdated piece of software I'm not even sure they'll sell you so I can have a couple convenience features is out of the question.

I'm very frustrated.

<comment><USER17> I think a lot of developers don't realize that features and functionality are only a part of a program. Many times what a program like that accomplishes is somewhat trivial and the interface is the whole point. Redesigning an interface is basically redoing the most fundamental part of the program. The design is why people use it.

</comment></comment><comment><USER18> I guess the abyss gets really deep when the hardware that can support this old software is also out of support (aka dead and un-repairable).

<comment><USER19> If it were a car you'd still be paying off the loan

</comment></comment><comment><USER20> Ultimately, the problem is that we are not good at creating stable APIs. If we did have stable APIs, then once something (a feature, or even entire software) is written agains this stable API it would be available forever.

This is IMO one of the greatest challenge the software engineering field needs to solve.

<comment><USER21> It isn't just stable APIs but part of that is consistency of signatures, methods and usage.

APIs used to be cleaner and more atomic, today they seem like very leaky abstractions and breaking changes seem to be all the rage.

Previously, breaking changes were seen as a serious thing as it meant the API signatures/functionality was missing and needed to be broken.

Today, breaking changes is just part of the "move fast and break things" fad that developers don't even try to make a stable/consistent API anymore.

Lots of the problems are that development/engineering is no longer in the hands of developers/engineering/product people or designers, it is pushed by project managers and bizdev/MBAs/marketing/finance which is backwards. Good products should be built, with lots of thought into long living APIs and limited breaking changes and maintenance, that is then marketed and sold because it is value, instead we get the exact opposite. Rarely does software today ever get to a stable phase before the platform is version two'd, and there is no time added for software quality or solid products, features and underlying systems are in constant harvest and replanting.

Stable consistent APIs don't help lock-in and they don't sell books, conferences, or allow large companies more control. For larger companies to keep control they need to break standards, and regularly break their own platforms to keep people updating and invested, it sucks and is why software is so bad today.

<comment><USER4> > Stable consistent APIs don't help lock-in

I do not think this is true, Windows has a lock-in on desktop explicitly because it has a stable API that allowed it to amass a huge library of software that keeps people relying on it to get that software working.

For the largest majority of people, Windows' worth is its stable API (even if they do not realize it).

<comment><USER21> True but in terms of development platforms for Microsoft, it is constant churn.

When they have a monopoly or near monopoly like Microsoft does with the desktop and Windows, less need for churn to keep people on it but lack of competitors. Azure has gone through lots of churn because of heavy competition.

Maybe competition, which is good, causes all this breaking software changes but change is good as well. Software change should just be a little more stable and developer/engineer/product/designer led not just the money/marketing/oversight pushed.

Unfortunately standards get wrecked when platforms are going for lock-in and control, Microsoft/Google etc are all to blame for that. It isn't the engineers pushing for that mostly. Standards at least promote some level of stable APIs, but they don't lock-in and so big fish and sharks eat them up and break them.

<comment><USER22> I find it curious that you left Apple out.

<comment><USER21> Apple does similar.

However Apple is greatly responsible for HTML5 and browsers today, as well as the handheld gaming revolution on mobile.

Webkit, Canvas, SVG, OpenGL ES + WebGL (through Khronos sponsorship) and more were open sourced or pushed by Apple.

Chrome/Safari basically every browser that is good came from Webkit and Apple opening that up. Granted that originally game from KHTML and KJS libraries from KDE but it exploded with Apple support.

I left them out because they still have some grace left.

Google and Microsoft squash standards and Microsoft is famous for "embrace, extend, extinguish" which Google now employs.

Microsoft has been better recently but only because they lost developers during the Ballmer era and they have a desktop monopoly and their new OS is cloud where they are competitive with Azure so they are pushing standards more and cross platform to win back developers.

Google is entering their Ballmer era currently.

Apple doesn't have the power for that yet with developers, though they are not engineer/open focused typically and especially now in the COO era and have their own Ballmer vibe currently, but they are still riding on some fuel from Webkit, Canvas, SVG, HTML5, OpenGL ES + WebGL support which really helped handheld gaming and web gaming.

</comment></comment></comment></comment></comment></comment><comment><USER23> Actually this would be cool as a real generatable graph. Who would you create this?

I'm thinking with access to the git repo as well as the relevant package manager you could get pretty close.

Good way to illustrate upgrade requirements to a product owner.

</comment><comment><USER24> Reminds me Adobe CS4</comment>


Moneyball Update - <AUTHOR> http://sports.espn.go.com/espn/otl/columns/story?columnist=bryant_howard&id=4357166

<comment><AUTHOR> @lionhearted where do you get your raw basedball data? it's certainly a fun way to learn/teach data mining but the folks at the top certainly are not going to be publishing their formulas. ;)

<comment><USER3> I like the discussion at sonsofsamhorn.net - a Red Sox forum, but a hell of a lot of smart people there. They get their data from the regular sources, there's lots of citing in threads. I don't datamine it out myself - <USER2> near enough free time.

<comment><AUTHOR> Thanks for the rec. I just noticed Sean Layman's Baseball Archive which looks to have individual plate appearances from 1973-2008 and is available in a SQL- ready format:

<http://baseball1.com/content/view/57/82/>

This looks like it might be the same DB:

<http://sn.im/baseball-sql>

</comment></comment></comment><comment><USER3> I love baseball - because of its unique start and stop nature of relatively isolated events, it's one of the easiest sports to do lots of interesting analysis in.

As for Moneyball - first, high onbase is now getting much more recognition and payment, and he's a bit of a victim of his own fame. His type of star he could get undermarket, he now has a lot more competition for.

Second, the A's were thought to be able to contend this year - they even traded for a top player (Matt Holiday) to try to put them over the top. They'll probably contend next year in a weak Western division.

Most interesting - defense is probably the new onbase percentage. It's pretty easy to track offense in baseball, and separate good and bad offense. Also easy to track pitching. Defense? Not so much. There's not as many numbers kept, and all the major defensive systems have serious flaws. For years, good offense/bad defense players did really well financially and cost a lot. It's changing a bit now, and better GM's are looking for average offense/great defense as the new kind of bargain.

</comment><comment><USER4> I was confused for about 3 minutes because I kept reading "Monkeyball".</comment>


Ask HN: How can a new author get a book on Amazon Kindle Store? - <AUTHOR>

How can a new author get a book published on Amazon Kindle Store? I'm thinking of writing a book, and I would imagine that this would be the best way. Does the Amazon Kindle Store accept finished books directly from authors? Please share your experiences. <comment><USER2> Did you even try Google before asking?

<https://dtp.amazon.com></comment>


Ask HN: How to Learn to code securely? - <AUTHOR>

Ask HN: I picked up a coworker's book today - Writing Secure Code by David LeBlanc and Michael Howard.  I immediately went to a chapter on buffer overruns because I've always heard this is a major source for security issues, but never knew why.  I was surprised and pleased when the authors immediately showed code examples in C of how to exploit buffer overruns.  I liked being able to see a concrete example of why certain code is a security risk. What are some good [introductory] book(s) that give concrete examples of vulnerable code? <comment><USER2> Code Complete 2. It is really heavy book, they called it programmers' Bible.</comment>


Github is down - <AUTHOR> https://status.github.com/?

<comment><USER2> I was wondering why my private gems kept failing when building from source.</comment>


One NGINX error page to rule them all - <AUTHOR> https://blog.adriaan.io/one-nginx-error-page-to-rule-them-all.html <comment><AUTHOR> After years of NGINX love and hate I finally managed to have my error pages properly styled. Not one HTML page per error, but one template for all.

I always ended up using HTML files for the most common errors, but this is time consuming and annoying to do. Now I have just one error HTML page where I can have custom error messages and descriptions.

It uses the SSI module which is part of NGINX, so no fancy external module.

I hope it helps you as well!</comment>


A digital archive of all public utterances of Mark Zuckerberg spanning 2004-2019 - <AUTHOR> https://www.zuckerbergfiles.org/ <comment><USER2> I was waiting for this to happen the moment the article was dropped about him 'accidentally deleting' and 'no way to recover without too much off an issue' his posts. I don't get his motives for deleting his old posts but surely in this day and age he had no doubt someone was archiving what he said?

<comment><USER3> Motivation is simple to discern. Look how many presidential hopefuls get buried by "thirty years ago he said X" or "fifty years ago there is a photo of him shaking hands with Y"

Erasing history helps avoid that

<comment><USER4> Except that he should know you really can't do that.

<comment><USER5> Now he only needs a deal with Google to forget some search results. He will certainly get that.

</comment></comment></comment></comment><comment><USER5> Poor Facebook had no backup of their CEO profile, now they can download this archive and restore it :)

</comment><comment><AUTHOR> In light of Facebook removing Zuckerberg's old Facebook posts: [https://www.businessinsider.com/facebook-old-posts-mark- zuck...](https://www.businessinsider.com/facebook-old-posts-mark-zuckerberg- disappeared-2019-3)

<comment><USER6> The internet still remembers.

Anything you let go outside your device is out there for ever.

It is no less true than it was in late 1990-s. And not a least bit less obvious.

Accept it already.

</comment></comment><comment><USER7> What are some things that Zuckerberg has said publicly that he would've wanted deleted? Can someone provide highlights?

<comment><USER8> One particularly dystopian quote was "Having two identities for yourself is an example of a lack of integrity"</comment></comment>


How can Rails react to the rise of the JavaScript applications? - <AUTHOR> http://andrzejonsoftware.blogspot.com/2013/12/how-can-rails-react-to-rise-of.html

<comment><USER2> I have been using Opal with the Vienna front-end framework and have really enjoyed it. Opal allows me to write ruby on the front-end and the back-end.

Many times I have tried to get excited about javascript, but just can't do it. In the end, I love ruby and can't force myself to love javascript.

Opal has been surprisingly stable and it allows me to run ruby anywhere you can run javascript. Vienna is still very alpha, but still gets the job done. The author says they are working on things such as two way data binding (the part I love about Angular)

In the end I hope that Opal becomes the standard for Rails, but even if it doesn't, I plan on using it for all my next projects.

</comment><comment><USER3> I think that the RJS way is a perfectly good way to sprinkle some ajax magic into most applications that are, more or less, CRUD applications. I've done this in numerous simple CRUD apps and it allows for very rapid development. If you need something more complex you can build the API in Rails and then use whatever javascript front-end framework you like.

</comment><comment><USER4> This is more of a question of "the right tool for the job". If you are building a javascript client, your back end should be an API.

So the real question here is: is Rails good for building APIs? Yes. Are there other alternatives that may be better? Yes.

</comment><comment><USER5> Rails 4 brought along Turbolinks which is a step in the framework direction. I really think those frameworks are overly complex anyway. I've never seen a site that used one and didn't suck to use (slow/buggy UI).</comment>


Apple's iBooks Dynamic Page Curl - <AUTHOR> http://blog.steventroughtonsmith.com/2010/02/apples-ibooks-dynamic-page-curl.html <comment><USER2> Please stop implementing page curls, especially for reflowable unpaginated text, especially if you're not using flash and have rich text layout support (as you do in Cocoa).

Please do this instead: <http://amarsagoo.info/tofu/>

<comment><USER3> The rich text situation is somewhat different on the iPhone than it is on OSX/Cocoa. There is no NSTextView, for instance. The only "easy" rich text solution on iPhoneOS is a UIWebView - which isn't exactly cheap in terms of CPU utilization. Ironically, a visual effect such as a page curl is likely far cheaper due to the GPU support than reflowing a bunch of rich text.

<comment><USER4> I think that's changing in the iPad SDK

<comment><USER5> It is nice to have Core Text, but will they also provide it on the iPhone?

</comment></comment></comment></comment><comment><USER6> I wonder how long the page curl meme will stay around. Movies are still being identified by the analog movie strip image, but will it still be the case in 10 years?

<comment><USER7> I think they will, simply because they need to look like _something_. It wouldn't really help you navigate your OS if everything was represented by glowing rectangles†, would it?

† [http://www.theonion.com/content/news/report_90_of_waking_hou...](http://www.theonion.com/content/news/report_90_of_waking_hours_spent)

</comment></comment><comment><USER8> I haven't looked at the code yet, but I've been curious how they do this. I am not a mathematician, but my understanding is that the affine transform only lets you scale, rotate, and skew the whole image at a time.

Is the page curl effect some kind of custom non-affine transform? Or am I missing a simple way to do this using a single linear transformation?

<comment><USER9> You are right[1], and there won't be a single linear transform. This page curl will almost certainly be a piecewise linear approximation using a triangle mesh whose vertices are animated according to the user input.

1\. The GPU will also support projective transforms - but that won't help here.

<comment><USER10> > This page curl will almost certainly be a piecewise linear approximation > using a triangle mesh whose vertices are animated according to the user > input.

I honestly can't tell if your being facetious here or not. There are certainly much _simpler_ ways of pulling off this effect; ask any Demoscene participant.

<comment><USER11> Simpler in what way? Demoscene code is seldom simple to read or write, and usually doesn't take advantage of hardware acceleration. When I think demoscene, I think of getting crazy effects through esoteric bit manipulations. When you're already shipping OpenGL and your whole UI is composited with that, the easiest option is probably just texture mapping on to a low-resolution mesh.

<comment><USER12> Finally, a voice of clarity.</comment></comment></comment></comment></comment>


Olympic executives cash in on a 'Movement' that keeps athletes poor - <AUTHOR> https://www.washingtonpost.com/sports/olympics/olympic-executives-cash-in-on-a-movement-that-keeps-athletes-poor/2016/07/30/ed18c206-5346-11e6-88eb-7dda4e2f2aec_story.html <comment><USER2> Article mentioned NBC, but didn't provide much in the way of detail. NBC alone is paying $7.65 Billion for the rights to the "nonprofit" Olympics thru 2032. As noted, not much of that money makes its way to the athletes.

[http://www.bloomberg.com/news/articles/2014-05-08/nbcs-7-dot...](http://www.bloomberg.com/news/articles/2014-05-08/nbcs-7-dot-65-billion- olympics-broadcast-deal-is-a-bet-on-videos-future)</comment>


I will be mentoring/managing an intern, any advice for me? - <AUTHOR> Later this year I'll be mentoring/managing an intern (rising Junior at a local college). I work for a large-ish company in the Bay Area, but the internship will be entirely remote.
This will be my first time having an intern, so I'm looking for some advice.
General advice is very welcome, but here are some specific questions I have:
- Since we're remote, should I schedule a recurring meeting for us to chat every day? Or should I keep it more free-form?
- How can I help my intern grow technically and professionally?
- Should I ask him for feedback on how I'm doing every couple of weeks? <comment><USER2> Doing this currently:

\- Assume they know nothing, what is obvious and routine to you is probably brand new to them, or they might have had a 2hrs module about it in college, but basically zero experience (that's why they're interning)

\- Give them the most simple task at first, but something that make them use your workflow (read ticket, change ticket status, code, test, commit, PR), this is already a lot for them to digest

\- Include them in your project stand-up

\- check-in once or twice a week, maybe a little more at the beginning. Send a DM at the end of the day to see what's up, no need to call all the time

\- Do some pair programming, show them stuff you work on, show them you working on stuff

\- Introduce them to colleagues in meetings, make your colleague introduce themselves

\- Make sure you give them a task that interest them, or show them why this is an important task

\- Make sure not to time pressure, they're learning and cheap, can't have it all...

</comment><comment><USER3> Communicate what it is about your work that gives you pleasure. Tell what it is that is different (from others you know) about how you approach the job, and why that works well for you. Your intern might identify with your approach -- or maybe he or she will identify with someone else you talk about. Tell lots of stories that communicate how people in your line of work think.

Talk about the people at your workplace who really add value to the organization. In each case, what are they bringing to the team that makes them so valuable?

"Never tell people how to do things. Tell them what to do and they will surprise you with their ingenuity." \- Gen. George S. Patton, Jr

"Do not try to satisfy your vanity by teaching a great many things. Awaken people's curiosity. It is enough to open minds; do not overload them. Put there just a spark. If there is some good inflammable stuff, it will catch fire." \- Anatole France

"Morale is increased by the accomplishment of difficult tasks." \- Erwin Rommel

"Anything will give up its secrets if you love it enough." \- George Washington Carver

"He who can take no interest in what is small will take false interest in what is great." \- John Ruskin

"Few things help an individual more than to place responsibility upon him and to let him know that you trust him." Booker T. Washington

"The work will teach you how to do it." \- Estonian proverb

</comment><comment><USER4> Speaking as a rising senior with 1.5yr's of internship xp's:

General Advice:

\- How open an intern is to their mentor can really affect attitude and all of the ans below. Try to create opportunities outside of work to get to know each other.

Your questions:

\- Setup a recurring meeting, definitely. If you ask them whether they want it, its a coin flip but chances are if they are shy/introverted or have something to prove they will say no and it makes for a bad experience. If you say there will be one, it takes pressure off the intern.

\- For professional growth, try to get them to sit in on meetings that you have, or in general try to put them in positions to meet as many people as possible (honestly what I think the most important thing in an internship). Don't just have them write code. Have them draft write ups, emails, and organize meetings.

\- Technical growth is trickier and it depends on how well you know the intern's need. Big recommendation for this one is finding a way to make the intern comfortable with asking for help and helping them be open about their skill set without stress. A resume really can't tell you too much about what they know or don't. If they show interest in an area, help them explore it or find people in the company that can give them advice/maybe give an intern tech talk.

\- Feedback every two weeks is a good idea if done right. You need to find a way, even if you are blunt about it, to tell the intern that negative feedback won't affect your opinions of them. Also this is one is obvious, but don't let it affect your opinion of them :)

Best of luck!

</comment><comment><USER5> I did this a few years back, though it was in person and not remote.

> Since we're remote, should I schedule a recurring meeting for us to chat > every day? Or should I keep it more free-form?

I would schedule a short chat daily for the first week or so while making it clear that they can reach out any time they have questions. At the end of the first week put the ball in their court by asking if the daily catch-ups are helping or if they are a waste of time. No need to do something that neither of you would get any benefit from.

> How can I help my intern grow technically and professionally?

Code reviews and pair programming help. Any questions that were purely technical and didn't require domain knowledge I would follow up with "what have you tried?". I believe it is important to teach the individual that they should put some effort to figure things out on their own before asking for help. I definitely encourage asking for help as well and will point them in the direction so they could potentially figure the solution out on their own. If they are still stuck I would then help them figure it out directly 1 on 1. By giving pointers on how to find the answer to their questions it will help them later be more self-sufficient in the long run.

> Should I ask him for feedback on how I'm doing every couple of weeks?

Yes, but phrasing is important. Saying "How am I doing?" is most likely not going to be helpful but making about them could be. Asking questions like "What do you feel is holding you back?" or "Do you feel like you are set up for success?". Both questions can give you an idea on how you are doing without making it about you. Some people may not feel comfortable saying anything potentially negative if somebody asks them "how am I doing?" but if they are asked about how they are doing and their feelings they may open up more and, of course, it can give you a glimpse in to how well you are providing actual mentorship.

</comment><comment><USER6> Disclaimer: I am a working student ("part-time" intern in Germany, more or less), should not make any difference though.

Recurring meetings: This might be more personal preference, but I personally would go for scheduled meetings. Every day might be overkill though. Depending on the size of tasks, every other day will probably be just fine. Many questions will likely come up once actually doing work, so be somewhat available to answer them.

Growth: This is probably a lot harder to do remotely, and also largely depends on the previous experience of your intern. One important thing my mentor taught me early on was how to scope tasks, ask the right questions and when to say no to something.

When someone would ask me to do some report, I would always just do it and not question what exactly I was doing (Because for the most part, I did not really know). It turned out that often times the people asking me for it missed something that I had noticed right away but was afraid to ask. I would end up doing the report twice then.

This obviously comes with experience and once you feel comfortable with the systems used etc., but once you feel your intern knows their way around, encourage them to be critical of requests and always ask questions if they notice something that might be off.

Feedback: I would strongly suggest you do so. But also ask him/her, if he/she would like feedback. This also ties in with the growth aspect. You will need the first few weeks to identify strengths and weaknesses and once you notice a recurring theme, that is something you can give feedback on.

Personal example: I was always trying to finish my tasks quickly and more often than not there were subtle mistakes in there, which were always super trivial to fix, but they were there. In my first feedback session, my mentor told me that he was absolutely astounded by my speed, but would rather have me take more time and be sure to do it correctly than rush it. This is obvious in hindsight, but especially if you want to prove yourself, it might not be clear whether it is better to be fast or correct.

Some general things: \- Try to integrate your intern into your daily work life as much as you can. What I especially enjoyed was my mentor asking me questions about a task he had and was not sure how to proceed with it. Even if you do not get useful input at first, it helps your intern feel like actually doing useful work. And at one point he will likely be able to provide actual useful input to your day to day work, so its a win-win.

\- This is often unavoidable, but please try to give him/her actual work, not something like "Sort these folders by ascending date" or "Print out 50 pdf's and send them to customers". This depends on whether your intern got hired for a certain project or just a general internship though.</comment>