HNHacker News
TopNewBestAskShowJobs

as-j

960 karma · joined June 22, 2017

submissionscomments
as-j··on I Accidentally Uncovered a Nationwide Scam on Airbnb
Why didn't the journalist contact Airbnb in the first place? Or after he arrived at the 2nd place and it wasn't the location listed/promised. (yes I can understand being tired, frustrated, etc)

Last minute host cancellation is the one thing they can actually something they help with since it ruins the marketplace for them.

As a host I've had my set of horror storied interacting with Airbnb. Most hosts do try really hard, but every marketplace has scams at some level, and I'm not sure how you could find them all once it's under some value/size.

as-j··on Using a Raspberry Pi and LED to send morse code to a smartphone
For aviation this is getting very dated in the US. Even when I learnt to fly 20+ years ago we didn’t need it, Eveyobe had a GPS. But anyways charts had this:

https://www.cfinotebook.net/graphics/avionics-and-instrument...

Basically if you had a pen paper you could just write down the Morse code then compare it to the chart. Speed wasn’t of the upmost importance. And this is assuming the VOR was lacking voice capability.

For more information on using a VOR:

http://www.cfinotebook.net/notebook/avionics-and-instruments...

UK as I understood it was less fond of voice, and favored NDB and Morse....

as-j··on Re-writing the site of Norway's largest transport provider in Elm
Sorry for the late reply. It actually needed little development, 1 person would be just fine. But it was also scaling, and bugs crop up. Unfortunately bugs crop up some days at 9pm on Friday, or 2am on Sunday. Since it's business critical this need attention immediately, stop/restart isn't always good enough. So this means you need someone who can supply emergency patches on call all the time. (trust me turn if off, and turn it on again doesn't always work, yay persistence, yay retries)

This can't be 1 person anymore, what if they person takes a vacation. So that's 2 people. Perhaps the 2nd person can be much less capable that the first, they just need to hold the system together for how ever long it takes the lead dev to come back from his 2 week hiking trip in the amazon....yeah not good enough. So then you end up saying we actually need proper on call, so now you're hiring a team.

What if it was another language? Let's assume it's a core language of the organization. Then you don't need a team, but capable Sr/Staff Engineers who can jump in during emergencies. Might not be the perfect fix, but then you have a series of people who can duck tape it together until the person responsible is available.

Using Erlang tied our hands, and made a decision to throw a project business requirement.

as-j··on Banning cars on SF’s Market Street, once a radical idea, approved unanimously
No one in their sane mind want to drive on Market down there these days anyways.

But you have to cross market to allow the city to function, and there's a few major intersections, especially 7th,8th,9th, and 10th. This is pretty much the only way to get access to the south end of SoMA and I-80. You can't "escape" via the Mission, the last option is 13th which exits onto Market street at Duboce triangle.

You can't go under, Bart/muni is there. Only other option is to go over Central FWY style, and the city is more in favor of tearing out freeways.

as-j··on Re-writing the site of Norway's largest transport provider in Elm
I'm in the process of replacing an Erlang service. Erlang is incredibly well suited for the task, and it's a terrible choice for us.

Initial development was done, system worked and ran for years. Team left, turned over and then 5 years later no erlang developers were left on staff.

The service is business critical, and you don't need 1 developer, you need a team. 3 would provide some basic backup, but you need 5 to fill out the 24/7 on-call rotation. (yes people need vacations, weekends off, etc)

Sadly it's not the entire stack, far from it, it's one mission critical service that's part of a very large system. So the excitement they get from growing, enhancing and scaling the system is already a bit restricted. Problem is, trying to hire is SF is already hard, and now we just selected the pool of engineers to be a small subset of those.

So now the cost of 3-5 engineers, the work to hire them, manager and deal with turn over. Wow.

Sadly (not sadly) we replaced the service with an AWS offering for $1000/mo. World changed in the 9 years since the Erlang product was first written.

It's turned me off niche languages.

as-j··on Extending OCaml Programs with Lua
I'm not capable of speaking about OCaml, but I clicked on because I use Lua professionally and where it gets embedded always strikes my interest.

This is using Lua 2.5, current version of Lua is 5.3^, and Lua is not a fast moving language. 2.5 dates from 1997, 22 years ago. So wow, an interesting use of Lua, but as a fairly capable Lua programmer I'm not sure I could code in it.

Instead of using the standard C Lua interpreter (or Luajit), this uses Lua-ML which is an alternate interpreter for Lua 2.5. So moving it forward to Lua 5.1/5.3 would seem to be a lot of work of basically writing a new Lua 5.3 interpreter.

Seems super cool, and a fun project, but...wow. :)

^) https://www.lua.org/versions.html

as-j··on Navigating the tension between work and relationships
To save anyone else time here's his wikipedia page: https://en.wikipedia.org/wiki/David_Brooks_(commentator)
as-j··on One-fourth of Americans drink water from systems that don’t meet standards
As I thought about this, it annoyed me a the way the information was presented, esepcially as I put my engineering/critical thinking hat on. Water systems are large ditributed systems, they require maintenance, have parts underground, are regulated and have testing.

If I click on San Mateo County, California for example, they have a water company “Ca Water Service - Bear Gulch” who reported 1 violation afecting 58,432 people for “Surface, Ground Water, and Filter Backwash rules.”

This appears to be a leak, maybe some ground water got in and mixed with city water. You don’t want ground water mixing into drinking water since it carries a higher change of bacteria, etc. (aka you don’t want a bird pooping on a roof, then dripping into a water resevoir)

But:

1. This is a transient problem, 54,000 people don’t have bad water. The company reported a leak/problem and presumably fixed it.

2. This is why we chlorinate water, it kills off bacteria that might somehow get in.

3. This problem may not have even reached consumers. Aka, this is a system working as designed to provide safe water.

The other way of looking at this is, the systems were tested, violations were found reported, and it looks like in most cases resoled without formal enforcement action. (seems about 6-10% of cases went to formal enforcement)

as-j··on One-fourth of Americans drink water from systems that don’t meet standards
I’m curious where this 25% statistic comes from, and after a bit of googleing it seems to be a 2015 report from:

https://www.nrdc.org/resources/threats-tap-widespread-violat...

This does exlcude ~13 million private water systems (wells) which is good. On the link rhere’s a map you can click on and see what the health violations are.

[edited to move into commentary comment]

as-j··on Ask HN: How to speak like a leader, not like an engineer?
I really like some of the feedback on this question, but I think one thing is missing. Ask your manager what he means, and have them give you an example. Preferably an example of something you did that was like an engineer and what should the leader have said.

We don’t know you or how you talk or bring problems forward, so we’re pulling very general examples. Good managers should not speak in ridles, if you don’t understand what they’re asking ask them. This isn’t a problem you have to go and solve, you’re not trying to devine meaning from tea leaves.

——

Some generic thoughts, cause well this is an ask. :)

1. Bringing problems to your manager. Are they of the right level or could you have solved it yourself? As you move up the career ladder/responsibility you have more responsiblity which means you deal with problems that have larger scope. My Jr guys solves (and creates) problems in functions, my Sr guy solves problems in systems, I solve problems that affect product lines accorss departments, and my VP solves problems that can affect the future of the company. But don’t bury problems that can’t solve quickly. The judgement is knowing which is your problem and which is theirs.

Ex: My manager is worried about the next generation systems and how to improve companby operation by adding new widgets faster, cheaper etc. I’m worried about the next few quarter of road map and how to transition from current development to the new system, how to hire for growth. My Sr guys are worried about getting the next firmware release out, planning for the one after, and making sure we hire engineers they want to work with.

—-

2. Options, don’t always bring problems bring options to help fix them and allow them to add their own. I have a project that needs to be done June 30th, if I bring him “it’s impossible” a good manager will go “but what if we hired contractors?”

So what options can you bring forward for the impossible project:

a. Shift the end date (generally something you can’t do, but make sure you understand why it’s June 30th and not July 31st. Did you promise this date earlier before unstanding scope? Doy you understand the ramifications of missing it?)

b. Redcuce scope, work overtimes/long hours/burn out the team, other engineering direct solutions.

c. Can you find new resources, how much would it cost? Are they internal, external? Could you shift someone from another low priority project? What’s your projects priority?

d. What’s the cost of your various options compared to being late/early, etc.

—-

3. Think of the organization not just your project. How does your work fit into the whole and what’s its importance, etc.

4. What people issues are you bringing your manager? Are you making sure to understand people aren’t computers/resources. They have feelings, different drives and desires, etc.

Anyways, ask your manager what they mean!

as-j··on Show HN: My CV is also a bootloader
Congrats on a cool project.

As a hiring manager for embedded software engineers, I have a couple of thoughts that maybe helpful. I come at it from an american perspective, and I know europ is different but anyways:

1. I have to be able to read your CV. When I click on the link on github it says error, and I had dig around to figure out how to open it. When I’m scanning applicants I’d probably have just said “oh they don’t even know how to attach a pdf”. I know how cute it is, but I have to able to see your CV.

2. What do you want? Your CV is a good CV, in the sense of it lists what you’ve done. But give me a short executive summary, what do you want, what amazing thing have you done? But it’s also really long for someone with no work experience. Condense it down.

2a. Yes you might include a cover letter, but when I call you I’ll have your CV open, don’t make me hunt for it.

2b. Example: https://www.businessinsider.com/why-this-is-an-excellent-res...

3. Your FAQ, this rubs me really wrron “Writing a boot loader is REALLY HARD.” Ok I’ve writen a few, and it’s real pain in the ass, especially since you’re normally bringing up hardware while doing it that may not work. But it’s a solved problem that’s painful. Tell me you did it to learn and expand your knowledge and learn asm. That’s more impresive imho.

Keep up the good work!

as-j··on A History of Singapore in 10 Dishes
Errr, I think that over states things just a tad. I really love Singapore, but:

1. Public transit: it’s good if you go where public transit goes. Try to get out to East Coast park, and you have a 45 minute transit ride vs a 15 minute Uber.

2. It’s clean for an Asian city and depends where you go. Try Little India on a Friday night (and then Saturday morning) but it does clean up amazingly well.

The food centers are amazing. I haven’t visited in a few years and miss it. Maybe you’re right, for a year it would be super fun.

as-j··on JPL Institutional Coding Standard for the C Programming Language (2009) [pdf]
You know rule 23 exists for a reason, someone thought it would be a good idea.....egads, I wonder what evil horrible thing they did.
as-j··on PG&E files for bankruptcy
Woah there. You have 14,000 people that make the company go around, so let’s go after them and their families, their retirement, etc. These are the linemen who are out in storm to restore power, those maintain the comms system to keep the transmition system and grid running and the lights on, and 1000’s of other tasks. Surely in this group there are some that under perform, and some that over perform just like any company. Yes it’s a union shop, and I suspect you’ll find some insane union rules protecting people.

You can disagree with the management, and say they should be the first against the wall. But why are the 14,000 the less worthy? Should we blame the 16,000 employees of Uber the next time Travis Kalanick opens his mouth? ;)

as-j··on RIOT: Operating System for the Internet of Things
> POSIX APIs are typically not appropriate for embedded systems.

This is a very broad brush. My Embedded Linux system makes amazingly good use of Linux and its Posix APIs. It’s also way to big to be the target of RIOT, so let’s talk about it’s 3 other embedded MCUs.

> Filesystems are not generally applicatble...You’re never going to need textual filenames

Really? Because I always enjoy talking to my cell radio doing AT+CMOGS=257,FFFFFF^1. That’s open file 257 and write FF.

Maintenance, debugging and robuestness of embedded systems is frequently overlooked. It allows not only a single dev, but a team to work, debug and release a system is a big deal. Embedded systems, esepcially those logging data, holding SSL certs, config data can very much use a filesystem. None of this has to be complex JFFS2 FS.

For example, if it’s an IoT, how do you plan to OTA it without good storage management?

> I would not take POSIX compliance for a system like this as a plus point

As a hirring manager anything that opens my pool of candidates is useful. Teaching someone a whole new environment is a big deal. If there’s similar concept and tools this ia big plus.^2

——-

1) ok, I can’t remember the right AT command or the right file number, but serisouly how did this make it into a public API in 2019?

2) Mostly true. If it’s too close that it’s almost the same, but not due a laundry list of weird exceptions I’ll skip it. Micropython is my example here, it’s like really close to python, may too close but too different. There’s lots of other embeddedable languages that aren’t too close but weird.

as-j··on Ask HN: Who is hiring? (January 2019)
Getaround | Embedded Software Engineer | San Francisco, CA | Full-time | ONSITE | getaround.com

The Connect Software team is a small team in Getaround that's looking for both Senior SWE and SWE roles to help expand car sharing. Work is on a small ARM Linux system that's installed into cars to allow for remote Locking/Unlocking, and telemetry from cars such as fuel, milage, etc.

It's an exciting job as we grow seeing you work making cars owners and renters lives better across the US.

An example of day to day work might be implementing new BLE features for improved car to cell phone communications, or bringing up a new cellular radio, or doing manufacturing test for new hardware, or implementing new configuration options for system settings, or deploying firmware to thousands of devices accross the US.

Essential skills:

* For Sr role, expert level Linux/Posix system programming experience.

* Very proficient at C

* Well versed in git, and agile development.

* Good experience with shell scripting

* Lua is a plus

* Bare metal C programming a plus

If you're interested send me an email at asj@getaround.com

as-j··on Show HN: Tcpkit – A tool to analyze TCP/UDP packets with Lua
I'm actually pretty excited by this. I hope you didn't take my comment negatively, this is something that I might really be able to use.
as-j··on Show HN: Tcpkit – A tool to analyze TCP/UDP packets with Lua
I have an embedded system, I have C and Lua and size is a major issue. This really looks interesting to me, maybe I can fit it, and then run have custom Lua parsers for different protocols.

Libpcap is probably the biggest issue, it’s pretty large in our world.

I had a quick look through tcpkit, it seems to make some odd decisions. For example latency stats is done in C. Why isn’t this a generic Lua plugin? I want latency, but the buckets are all wrong in my world, my latency starts at 300ms, and increases. Why isn’t this in Lua and easily tweakable.

Plus, is I can do latency stats then I can start doing some really interesting things I care about. For example bandwidth use, average packet size, etc etc.

(Oh, and why Lua 5.2? 5.3 has ints, which is nice when dealing with numbers)

as-j··on Golua – A Lua 5.3 engine implemented in Go
> Lua's stack protocol can sometimes be verbose, but I find it infinitely more simple and elegant than the existing alternatives.

This. TL;DNR, used a C/Lua binding to explain the Lua stack to a fellow engineer. Took a few post-it notes to keep track of 4 levels of stack, 1 pcall back to Lua to sort an array, and forward the results on. It just worked, was elegant, and blew our minds.

Today on Friday at 5pm I was talking about a ‘problem’ we had with a Lua daemons compared to their C brothers. Due to the use of tables, each time you queried them, the output order was always random. Computers don’t care, but a big user is also engineers and finding fields wandering all over the place is a pita. So what if we ordered the keys alphabetically instead? The code is Lua -> C -> IPC -> Output. The order is set in the Lua->C binding, so what if we sorted it in the binding.

But the tables are arbitrary size and you’d have to allocate memory, put them in a structure of some kind, etc, etc. Then we realized we could just put all the keys in a Lua array, and sort them with table.sort(). We could then use the array to get key/values in order, all from within the C binding.

Being late Friday, and having talked it through let’s just do it. Plus it was a handy teaching moment to explain to a fellow engineer how Lua binding worked, including a call back into Lua. By 6pm we had the binding recompiled, tested and it’s just worked.

Lessons learned:

1. The stack can seem confusing, but once you learn how to work with it, it’s pretty amazing.

2. The Lua reference docs are amazing. They clearly list what they pop and what they push onto the stack.

3. Calling back into Lua is.

4. It looks like write only code. Reading the code needs a post it note to keep track of the stack, along with the Lua reference manual. -- comments...

as-j··on Cracking WPA-2 Just Got a Whole Lot Easier
Moved to an Eero on the weekend. Just wanted WiFi that works. Felt like a very Apple unboxing and easy setup. Performance seems good.

But that’s 1 data point.

as-j··on Show HN: GdbShellPipe – Pipe output of gdb commands to shell
Must be because it doesn’t make sense otherwise...I submitted a PR to fix it.
as-j··on Amazon’s Fake Review Economy
You may also want to checkout Digikey. It’s more focused on discreet components, but they have a huge catalog of electronics that’s worth searching through, and pretty reasonable shipping.
as-j··on Pocket Casts acquired by NPR
It’ll be interesting to see how it does. I wonder if you’ll still be able to auto skips the first 30s or 1min of an episode...
as-j··on Iptables Tutorial 1.2.2
Being old and of itself isn’t bad. A lot of us are still using IPv4, and everything still applies. To few people know the basic concepts in this tutorial and can’t patch/fix problems that are trivial on any server.

OTOH, it’s really long for a tutorial and starts with a dissection of IP headers, the audience who needs it most have probably tuned out after the first dozen, and certainly by STCP.

as-j··on Super-Accurate GPS Chips Coming to Smartphones in 2018
They don’t in real running. After seeing his page I got super excited. They’re really accurate at the pace you csalibrate them too, then drift quickly once that pace changes. So if you camlivrat them at 7:30min/mile, then run 8min/mile they’re pretty far off. Especially if you’re a distance running, or looking for accurate pacing. I’ve tested it both on marathons and tracks.

All current running watches and phone software uses single point calibrations. Now if they curved fit 2 or 3 points....

as-j··on The birth and rise of Ethernet: A history
The article doesn't explicitly name Ron Crane, but he was instrumental to the history of Ethernet, especially the practice engineering aspects. He passed away last week, and the world has lost a great engineer.

https://duckduckgo.com/?q=ron+crane+ethernet&t=ipad&ia=video...

← PreviousPage 4 of 4