Strangely enough, there's even some likelihood that killing off the passenger pigeon actually promoted Borrelia burgdorferi. The passenger pigeon's main food source was tree mast. Large flocks of pigeons would descend and clear the forest floor of food. After it went extinct, the population of small animals which also eat tree mast exploded, and these are reservoir species for Borrelia.
HN user
rarrrrrr
I'm Alan Fairless
I'm a hacker, software engineer, and repeat-offender entrepreneur known for building security focused software systems.
I recently founded Transportant which helps K12 school systems keep students safe by making their school buses smarter (hardware & software.)
Previously I cofounded SpiderOak in 2006. The approach to "No Knowledge" end-to-end encrypted products and effective information security was endorsed by famous hacker Kevin Mitnick, NSA whistleblower Edward Snowden, and featured in the New York Times, Wall Street Journal, The Guardian, Wired, and many others. Our products have been used by millions of people, various governments and large corporations around the world.
You can reach me via yc at alanfairless dot com.
If you're regularly syncing from an older version to a new version, you can likely optimize further using gzip with "--rsyncable" option. It will reduce the compression by ~1% but make it so differences from one version to the next are localized instead of cascading through the full length of the compression output.
Another alternative is to skip compression of the dump output, let rsync calculate the differences from an previous uncompressed dump to the current dump, then have rsync compress the change sets it sends over the network. (rsync -z)
Transportant | Backend Software Engineer | USA | Full-Time | Remote | $120-$160k | https://transportant.com/
Transportant helps K12 school systems keep students safe by making their school buses smarter. This also reduces fossil fuel use and helps the environment.
There are 560k school buses in active use in North America. It's a larger industry than all other public transportation combined. Bus driver staff turnover approaches 160% annually. Technology helps new and substitute drivers learn routes and students and make sure students get off at the right stops.
Transportant builds modern hardware and software. Features include bus wifi for students, touch screen for drivers, a mobile app for parents, custom live streaming cameras, remote "speak into the bus" ability for administrators, ridership management, safety sensors, and improved routing.
Founded by veterans of the software security and mobile industry, Transportant is a small but senior team of Linux hackers, security engineers, database and systems builders, UX and industrial design. Our customers are school systems across the USA and Canada who are overjoyed with modern UX for transportation. We are seeking multiple backend software developers to join our team.
The backend tech stack is Linux, PostgreSQL, Go, and Python. Much functionality is implemented directly in the database. Frontend is supported through REST and GraphQL APIs. Other examples of technology we love: Wireguard, Single board computers, Linux, Ansible, Prometheus, Typescript, Javascript, React, and Open Street Maps. Not so much: XML, Java, ASN.1, Dual EC DRBG, Printers.
If working on any of the above sounds fun to you please email build@transportant.com to get started. Intro letter only is sufficient.
Transportant | Electrical Engineer | USA | Full-Time/Flexible | Kansas City but REMOTE | $120k-$180k
Transportant provides hardware and software to make k12 student transportation transparent, safe, and efficient for students, parents, bus drivers, teachers and administrators. This includes providing high speed on bus wifi for students, bus status notifications to parents and students via mobile apps, cameras with live streaming audio and video, turn-by-turn directions for substitute drivers, ridership tracking and management, and added safety sensors.
Started by 20 year veterans of the software security, supply chain, and mobile industries, Transportant is a small but senior technical team. Our customers are school systems across USA and Canada and are overjoyed with modern UX for transportation.
We're hoping to meet an electrical engineer to review and help iterate our hardware. This role could be full time or contract.
Responsibilities:
- Assisting in physical product life cycle of our hardware (currently designing v4 hardware):
- Architecture & design (including component selection, board layout, enclosure, cabling, and connections)
- Testing & Manufacturing (working with partners to improve manufacturability, inspecting and critiquing test runs)
- Troubleshooting (identifying problems, down to the component level)
- Monitor, evaluate, and improve production & vehicle installation processes
Requirements:
- Have been involved with product development cycles of semi complex electronics with deployment at scale
- Proficient use of common electronics tools and diagnostic instrumentation
- Clear written documentation skills
- Non-required bonus: skill with embedded development
Application process is fast and simple: initial video conf with founders -> small work sample test or discussion of related previous projects -> offer/decline. No whiteboard tests! Please send an email to build@transportant.com to start the conversation.
Transportant | Multiple: Hardware & Backend Software | USA | Full-Time or Freelance | Remote | $120-$150k | https://transportant.com/
Transportant delivers modern hardware and software to help school districts, bus drivers, students, parents, and teachers optimize the school transportation experience. This includes providing high speed on bus wifi for students, bus status notifications to parents and students via mobile apps, cameras with live streaming audio and video, ridership tracking and management, and added safety sensors.
Founded by 20 year veterans of the software security and mobile industries, Transportant is a small but senior technical team. Our customers are school systems who are overjoyed with modern UX for transportation.
Hoping to meet a:
- Backend systems programmer comfortable with hardware and Linux sysadmin in an IoT context
- EE w/ automotive background to review and help iterate hardware
Hardware includes Raspberry Pi, custom accessory boards, cellular, IP cameras, cases, wiring, mounts, etc. Backend software stack is Linux, PostgreSQL, Go, and Python. Other tech we love: Wireguard, Ansible, Prometheus, Typescript, Javascript, React, and Open Street Maps. Not so much: XML, Java, ASN.1, Dual EC DRBG, Printers.
To start a conversation please just send a brief cover letter to build@transportant.com. No whiteboard coding required :-)
psql also allows you to set local variables and interpolate them into SQL. Values can be assigned from query results or with shell style back ticks! Powerful and frightening!
From the manual:
=> SELECT 'hello' AS var1, 10 AS var2
-> \gset
=> \echo :var1 :var2
hello 10
testdb=> \set content `cat my_file.txt`
testdb=> INSERT INTO my_table VALUES (:'content');Is there a reason you don't wish to batch inserts into transaction(s)? Otherwise, you're asking the database to commit (fsync to disk) between each insert statement.
Other ideas:
- Have multiple processes inserting in parallel (this interacts with the commit_delay and commit_siblings settings in postgresql.conf)
- Use unlogged tables (but table is truncated on db startup)
- Put fsync=off and synchronous_commit=off in postgresql.conf (but db may be corrupted in a crash)
- switching to BRIN indexes might be an option, but depends on data
I appreciate when technical writers use humor (those headlines!)
I've been using B2 to disrupt a bunch of ugly & entrenched vendors in the price sensitive K12 market. Thanks for building it. :)
Very interested in talking if you would like to help make it better! Email's in my profile. Cheers!
Transportant | Marketing Director | USA | Full-Time | Kansas City but REMOTE | $60-$120k
Started in 2017, Transportant is a disruptive technology company building modern hardware and software to help school districts, bus drivers, students, parents, and teachers optimize the school transportation. This includes providing high speed on bus wifi for students, bus status mobile apps, cameras with live streaming audio and video, ridership tracking and management, turn by turn directions, and safety sensors. During COVID19 our tech has helped transportation departments pivot to their new mission of delivering free & reduced rate meals during school shutdowns, and providing outdoor Internet connectivity spots for underprivileged students.
The founders are 20+ year veterans of mobile and software security industries. Our customers are school systems across the USA and Canada, with the Superintendent or Director of Transportation as the champion/purchaser. We're seeking the first full time marketing role. This would involve working with founders and with support from our engineering team. Activities start with marketing basics and expand to experiments to find effective, measurable, and scalable traction channels.
Application process is fast and simple: email cover letter -> initial video conf with founders -> work sample test -> offer/decline. build@transportant.com
RiskGenius | Kansas City Area | Full-time | Senior Python / SQL Backend Engineer | https://riskgenius.bamboohr.com/jobs/view.php?id=35
RiskGenius is solving the hardest problems in insurtech by employing artificial intelligence to transform a $7 trillion sector. We provide insurance carriers and brokers bleeding-edge policy language AI that can save them millions of hours and billions of dollars. And the industry is taking notice - we now serve some of the largest carriers and brokers in the world.
We are looking for a senior Python/PostgreSQL developer to help us combine the output of our data science team in Oklahoma City and the front end team here in KC. This job is more than coding, it's ownership of a very important part of our stack. This job is essential to the success of the RiskGenius platform.
This role is based out of our headquarters in beautiful Overland Park, Kansas (a suburb of Kansas City).
This is an architect-level role with substantial autonomy, discretion and responsibility. e.g.:
- Designing and implementing a web service layer in Python to supply all the data to our shiny new frontend
- Building the database to sit underneath this service layer
- Working with data science to agree to an interface between their work product and the service running above Packaging data science Python modules as web services
What We Offer
- Equity in RiskGenius
- Discretionary bonuses based on company performance
- Competitive salary
- Comprehensive health and dental insurance for you and your dependents
- Help in building up your retirement savings by happily matching your contributions each month
- Open vacation policy and flexible holidays so you can take time off when you need to
- Paid parental leave to let you spend valuable time with your loved ones
- Fun. We’re a close-knit company that actually likes doing things together (like drinking beer, playing pool and dressing up like storm troopers . . . or Jedi, although not necessarily all at the same time)
Transportant | Senior Backend Software Engineer | USA | Full-Time | Remote | $120-$150k | https://transportant.com/jobs.html#backend-engineer
Transportant is a new technology company building modern hardware and software to help school districts, bus drivers, students, parents, and teachers optimize the school transportation experience. This includes providing high speed on bus wifi for students, bus status notifications to parents and students via mobile apps, cameras with live streaming audio and video, ridership tracking and management, and added safety sensors.
Founded by 20 year veterans of the software security and mobile industry, Transportant is a small but very senior technical team of Linux hackers, security engineers, database and systems builders, great UX and industrial design. Our customers are school systems across the USA and Canada who are overjoyed with modern UX for transportation. We are seeking two backend software developers to join our team.
Our backend tech stack is Linux, PostgreSQL, Go, and Python. A non-trivial portion of functionality is implemented directly in the database as SQL data structures, queries, and stored procedures. Frontend is supported through REST and GraphQL APIs. Other examples of additional technology we love: Wireguard, Single board computers, Linux, Ansible, Prometheus, Typescript, Javascript, React, and Open Street Maps. Not so much: XML, Java, ASN.1, Dual EC DRBG, Printers.
More details here: https://transportant.com/jobs.html#backend-engineer
My CIA cookbook begins potato recipes with first blanching them in water prior to roasting, sauté, etc, which is apparently an effective mitigation.
Here's an example of doing that in PostgreSQL:
create table user_email (
email text not null
);
-- create a index on the lowercase form
-- of the email
create unique index user_email_case_idx
on user_email (lower(email));
-- select using the index, with the lowercase form.
select 1
from user_email
where lower(email)=lower('Foo@foo.com');I haven't used it extensively, but I've read some of the source code and I'm excited about where Minio is going -- the erasure coding storage capability in particular: https://www.minio.io/
Done, thank you! We'll probably be playing whack-a-mole on this for the next couple months...
Thank you for the feedback. I'm sensitive to this issue too.
For what it's worth, we do have very strict policy about what information regular customer service staff can access or share publicly (i.e. none in most cases) and how someone who calls in must establish beyond a reasonable doubt that they really are the original customer before we will communicate with them. We're very careful about allowing any customer data to exist in 3rd party systems. We don't even use Google Analytics. https://medium.com/@mccamon/yeah-we-ditched-google-2fa644578...
That said, many people also expect customer support delivered over Twitter so some flexibility is required. In this case I made a judgement call and decided to answer.
For what it's worth, I think of a journal as append only by definition and that's what SpiderOak does. Unless you have millions of very small files, the journal is going to be tiny relative to the backup content so this is fine.
So the server doesn't have a concept of "an existing file was updated" vs "a new file was uploaded" etc. The server only knows "new blocks have arrived." All the "smarts" are on the client.
In general operation, only new journal entries and new blocks are added. The only time blocks are removed is when the user intentionally chooses to remove data (we call that operation "purge") Intentional purges can also reduce the total size of the journal, and this the only operation that does so.
Most backup software removes previous versions and deleted files after 30 days, but SpiderOak keeps these indefinitely by default, to allow for for point in time recovery, restore from ransom ware infections, mistakes you don't catch right away, etc. You can set a different retention policy if you prefer.
Your typical user is much more at risk with end-to-end encryption
Not all e2ee products are created equal. I think your description is accurate for the PGP ecosystem, because for example it's hard to be sure you've got the right key from the key servers, and anyone who can use email can contact you. In fact most crypto folks I know believe email is an unsecurable platform.
However good e2ee systems provide strong Authentication of the data's origin, which is often more valuable than the encryption. In SpiderOak's Semaphor for example, a team admin approves new team members before they can communicate with other people on the team. It's explicitly a tool intended for safe internal communication with a specific in group, such as an enterprise team.
The change was definitely overdue.
Thank you. It would be easier to create friendly terms that describe end-to-end encryption if non-encrypted cloud providers weren't actively trying to mislead people into a false sense of security. My previous rant about this is here: https://news.ycombinator.com/item?id=13303599
Thank you for the feedback and we'll be working on it!
FYI, many people do use SpiderOak exclusively from the command line. It's fairly scriptable.
Here's the command line options: https://spideroak.com/faq/how-can-i-use-spideroak-from-the-c...
Also, the source code for our other products (Encryptr, Semaphor) is published. SpiderOakONE was first developed in 2006 and open source business models were not so popular at the time. It's been much harder than I thought it would be to make SpiderOakONE open source but one glorious day we will get there. https://spideroak.com/solutions/semaphor/source
Tahoe-LAFS is really awesome open project by great people with a rich history of solving complex problems.
If this space is interesting to you, spending a few days reading through their Trac is educational and rewarding! Highly recommended.
Trivia: One of the founders of LAFS went on to found Zcash, the (actually) zero knowledge crypto currency.
Your second paragraph describes SpiderOak quite accurately: it is exactly a logical file system implemented client side, with all the database work to support that done locally. It works because Sqlite is awesome.
Yes, of course there's some traffic analysis that would be possible, as there would be with any such service. But for the record: we keep logs for a limited time, and we don't just encrypt each file individually.
Instead there's an encrypted journal and encrypted data blocks. (Having the additional layer of data blocks allows for better deduplicating one version of a file to the next.) So for each transaction that's uploaded to the servers, we know that the journal gets longer, and that data blocks are added or removed (or both.)
All the database work for keeping track of the data blocks (reference accounting, garbage collection) is done client side. More details in this post from 2009: https://spideroak.com/articles/why--how-spideroak-architectu...
After looking through our records, I think perhaps you might mean 2015 instead of 2016. I took over the company that year and some things have changed. At the time customer satisfaction ratings were around 84%, and we're in the high 90s now. If I've found the correct case, we did at least suspend billing when the issue started and eventually issued a full refund.
I'm sorry we weren't able to determine the cause of the slowness for you. Troubleshooting an end-to-end encrypted product is hard because you can't just see everything that's happening by looking at the server. We have seen ISPs deny or aggressively throttle connections to our destination networks. Palo Alto firewalls classify traffic to SpiderOak as an online backup service and often block it outright or put it at least priority. I'm not saying that these were necessarily the causes in your situation.
SpiderOak keeps improving and the 2017 road map is action packed. If for some reason you would ever like to try SpiderOak again on me, you're welcome to contact me directly, or write to support@spideroak.com where these days we do a pretty good job of taking care of everyone. Otherwise I'm glad you've found backup solutions you're happy with. Cheers!
Odd. I reported this very same form of vulnerability to the Ansible team in the 1.5.4 series in 2014, where the code basically eval'd the "facts" discovered from a system under management.
There was this "safe_eval" function which filtered input in a way quite inconsistent with its name. The Ansible team was responsive and pleasant to work with!
https://groups.google.com/forum/#!topic/ansible-project/MUQx...
But I suspect lots of remote control and monitoring software products might have security bugs like this where they assume that the returned information from systems under management are trustworthy.
Edit to add: Here's the patch made to safe_eval in 2014. I had suggested using literal_eval instead but I guess a Python 2.6+ requirement wouldn't work. https://github.com/ansible/ansible/commit/998793fd0ab55705d5...
Edit again: Ansible is a pretty great product, and IMO one of the first of such tools to seriously improve the UX for sysadmins. Thanks for maintaining it!
Odd. I reported this very same form of vulnerability to the Ansible team in the 1.5.4 series in 2014, where the code basically eval'd the "facts" discovered from a system under management.
There was this "safe_eval" function which filtered input in a way quite inconsistent with its name. The Ansible team was responsive and pleasant to work with.
https://groups.google.com/forum/#!topic/ansible-project/MUQx...
But I suspect lots of remote control and monitoring software products might have security bugs like this where they assume that the returned information from systems under management are trustworthy.
Edit to add: Here's the patch made to safe_eval. I had suggested using literal_eval instead but I think they didn't want to require Python 2.6+. https://github.com/ansible/ansible/commit/998793fd0ab55705d5...
For context: it's in response to Slack putting a very condescending 1 page ad in the NYT addressed to Microsoft.
http://www.inc.com/justin-bariso/theres-a-major-problem-with...