3278 stories
·
54 followers

Windows Switch To Git Almost Complete: 8,500 Commits and 1,760 Builds Each Day

1 Comment
An anonymous reader quotes a report from Ars Technica: Back in February, Microsoft made the surprising announcement that the Windows development team was going to move to using the open source Git version control system for Windows development. A little over three months after that first revelation, and about 90 percent of the Windows engineering team has made the switch. The Windows repository now has about 4,400 active branches, with 8,500 code pushes made per day and 6,600 code reviews each day. An astonishing 1,760 different Windows builds are made every single day -- more than even the most excitable Windows Insider can handle.
Read the whole story
jepler
22 hours ago
reply
I wonder what a "build" is in this context. If you're building fewer than one times per commit, let alone fewer than one time per push, I worry.
Earth, Sol system, Western spiral arm
Share this story
Delete

Only 90s Kids Will Appreciate This Prototype

1 Comment

[Madox] is a trackball user, which is fine; we at Hackaday respect and appreciate those who live alternative lifestyles. As you would expect, there aren’t many makes and models of trackballs being sold, and [Madox] wanted something ergonomic. A DIY solution was necessary, but how to you model something ‘ergonomic’ before printing it out? Floam, apparently.

Highly advanced 3D prototyping skills

Floam is a sticky, moldable goo originally sold as the follow-up to Nickelodeon’s Gak in the early 1990s. It consists of styrofoam pellets held together with a colored binder that doesn’t leave a mess and doesn’t dry out. While the Nickelodeon version is lost to the sands of time, a Floam-like substance is available at any toy store. [Madox] picked up a few blister packs and began modeling his ideal trackball.

With the proper shape in hand, [Madox] needed a way to get this design into a computer. Photogrammetry is the solution, and while earlier experiments with Autodesk Catch were successful, Autodesk has morphed and rebranded their photogrammetry software into Autodesk ReMake. Turing a pile of styrofoam balls into a 3D model is as simple as taking a bunch of pictures and uploaded to Autodesk’s ‘cloud’ service.

In just a few minutes, a proper 3D mesh arrived from the Autodesk mothership, and [Madox] took to importing this model into Fusion 360, fiddling with chamfers, and eventually got to the point where a 3D printer was necessary. It took a few revisions, but now [Madox] has a custom designed trackball that was perfectly ergonomic.


Filed under: peripherals hacks





Read the whole story
jepler
1 day ago
reply
stop tempting me to 3d print a trackball
Earth, Sol system, Western spiral arm
Share this story
Delete

Harmonic Drive 4th Axis

1 Comment
I have already made a 4th axis for my cnc-converted Harrison Milling machine. It is a servo-driven BS0 dividing head. It works OK but lacks the torque for 4th-axis milling and it is impossible to have the backlash low enough in the sloppy bits without the servo stalling in the tight bits. It still makes gears relatively OK, but you can almost forget rotary-axis engraving.

I found out that Harmonic Drive make some really nice integrated drive/bearing/servo assemblies that are pretty much a 4th-axis waiting to happen. Lots of torque capacity, a large crossed-roller bearing and an integrated servo drive with a hollow shaft for through-spindle work. All very nice, and extremely expensive new. They are even expensive on eBay, but if you set up a watch you can occasionally find a bargain. I was in no hurry, and eventually picked one up for $250 from a seller in the US. It wasn't quite that simple, I had to get it shipped to a friend in Richmond, CA, then he stripped off a huge and heavy bracket and sent it on the slow (and cheap) boat to me. I ended up paying both California VAT and UK VAT on it, but it still saved a few $100 on the original quoted shipping price.

The drive I got was an older FHA-25B drive. This turned out to be a happy accident, as the FHA-xxB drives use Hall sensors for commutation and conventional quadrature encoders. The later FHA-xxC drives use a proprietary serial encoder for feedback and commutation, and only really work with the dedicated drives. If you choose to follow this route, look for the B-series actuators. 

The harmonic drive is pretty-much ready to go as-is, it just needs a bracket. I decided to use cast iron.
I designed a bracket in Inventor, and then used the excellent CAM in Fusion 360 to machine a pattern.



Machining took quite some time. I used a some pre-used SikaBlock M970 that I had lying about. In the process I made quite a mound of pretty green petals. 


And then at the end had a fairly good pattern in the wrong colour to send to the iron foundry.


One thing that I decided early on about this 4th-axis is that it would use the same spindle-nose as my lathe, so that I can use the chucks, face-plates and collet adaptors that fit that, and potentially transfer work directly from one to the other. A not unimportant consideration here is just how tedious it is to centre work in the 4-jaw chuck in a dividing head. Even a CNC one is tedious, I hate to imagine what it would be like twiddling a handle. 

My lathe is a D1-4 nose so I set about making that while waiting for the foundry. I used some EN24 / 817M40 (having bought half a pallet of bar-ends on eBay). The D1-4 nose has 3 locking cams (the D1-5 to D1-20 have 6). This leads to some difficulty as the harmonic drive has 8 mounting holes round the register and this was a bad fit to the 3-fold symmetry of the spindle nose. It took a bit of fiddling in CAD but by deciding to retain the locking cams in an unconventional way (there are no centrifugal forces to counteract) I managed to find a way to squeeze in 5 mounting screws. I also did a CAD investigation of how to manage a D1-5, but that ended up with a two-piece nose with mounting bolts buried inside. 


First I bored out a recess to match the register on the dividing head. 



Then I drilled and deeply countersunk the mounting-bolt holes on the mill. At the same time I drilled and finish-bored the holes that take the three camlock locking studs. 

I then machined a dummy register to match that on the harmonic drive, mounted the nose on that, and completed the machining. 


A trial fit on the harmonic drive proved that I hadn't messed up my units or something silly.


There was then something of a hiatus waiting for the castings. During this time I was looking around for a suitable drive. I got in touch with the chaps from the STMBL project  who have an open-source drive almost ideal for the actuator (it is a 200V class servo, I will probably be running it on rectified UK mains). Luckily one of them was due to visit London Hackspace the next week, so I popped in too, with a few motors, including the harmonic drive, and was lucky enough to go home with a beta-sample of the V4.0 drive 

Eventually the castings came back. I had 4 cast. One for me, one spare, and two for two other folk who expressed an interest. They came in at £60 each. 




 The first job was to square them off, removing the casting draught and making a couple of reference faces. This is something that my Univeral Mill is pretty good at in horizontal mode.

First the base to the as-cast front face (the mould parting face, to pretty flat)


Then the front face square to the base. 



For making the bore/seat for the harmonic drive I needed to ensure that the bore was true to the front reference face, so I squared the part on the mill with a dial indicator for perpendicular.
I then had to decide where in the casting the centre of the hole was. This was, of necessity a rather approximate process as the hole was not round, and the surface not smooth. But I minimised the blur on my  coaxial indicator and bored through with my automatic boring head:


The other diameters are bigger, so I had to make a rather Heath Robinson setup with one of the extension bars to enable back-boring. This looked a bit implausible, but actually worked surprisingly well. 

Once the bores were done, I could drill and tap the mounting holes. This could have been done from the chuck-side with through-holes, but I decided to do it the hard way, which required the purchase of a long-series drill and the manufacture of a tap extension:


The only thing remaining was to machine the location grooves in the base to align the head with the table slots. This was actually a problem that exercised my imagination, as the slots need to be exactly aligned under the mounting bore. Here is what I did, I would be interested in other ideas. 

First, I trued the base of the casting to the X axis of the mill:


Then picked up the middle of the bore with my coaxial indicator in the vertical head. 


I then made a reference slot with a 5mm cutter in an area that would be removed by the alignment key slot. This was made to fit a piece of brass with a hole bored as exactly as I could manage in the middle. 


I then switched to the horizontal head and picked up the hole in the piece of brass with my coaxial indicator. I thus found that the axes of my horizontal and vertical spindles are not absolutely exactly coincident, there seems to be a 0.15mm offset. Or I made a 0.15mm error in my work...


Alignment slots and cut, a coat of paint, and the mechanical work is done, time now to figure out the drivers and HAL connections. Once that is done I can bore the holes for the camlock cams. these are specified at a specific angle from the camlock stud holes, so it makes sense to wait until the head is powered to machine those. 




































Read the whole story
jepler
1 day ago
reply
Andy's been busy again
Earth, Sol system, Western spiral arm
Share this story
Delete

Sending GitHub pull-request from your shell

3 Shares

I've always been frustrated by the GitHub workflow. A while back I wrote how Gerrit workflow was superior to GitHub pull-request system. But it seems that GitHub listened and they improved the pull-request system these last years to include reviews, and different workflow implementation, e.g. requiring continuous integration tests to pass before merging a patch.

All those improvements great helped the Gnocchi team to consider moving to GitHub when leaving OpenStack. Our first days have been great and I cannot say we miss Gerrit much for now.

The only tool that I loved and miss is git-review. It allows pushing a branch of update easily to Gerrit.

Unfortunately, in the GitHub world, things are different. To send a pull-request you have to execute a few steps which are:

  1. Clone the target repository
  2. Push your local branch to your repository
  3. Create a pull-request from your pushed local branch to the target branch

If you want to update later your pull-request, you either have to push new commits to your branch or, more often, edit your patches and force push your branch to your forked repository so you can ask for a new review of your pull-request.

I'm way too lazy to do all of that by hand, so I had a tool for a few years that I used based on hub, a command-line tool that interacts with GitHub API. Unfortunately, it was pretty simple and did not have all the feature I wanted.

Which pushed me to write my own tool, humbly entitled git-pull-request. It allows to send a pull-request to any GitHub project just after you just cloned it. So there's no need to manually fork the repository, send branches, etc.

Once you created a branch and committed to it, just run git pull-request and everything we'll be done for you automatically.

# First pull-request creation
$ git clone https://github.com/gnocchixyz/gnocchi.git
$ cd gnocchi
$ git checkout -b somefeature
<edit files>
$ git commit -a -m 'I did some changes'
$ git pull-request
Forked repository: https://github.com/jd/gnocchi
Force-pushing branch `somefeature' to remote `github'
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 562 bytes | 0 bytes/s, done.
Total 5 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To https://github.com/jd/gnocchi.git
+ 73a733f7...1be2bf29 somefeature -> somefeature (forced update)
Pull-request created: https://github.com/gnocchixyz/gnocchi/pull/33


If you need to update your pull-request with new patches, just edit your branch and call git pull-request again. It'll re-push your branch and will not create a pull-request if one already exists.

<edit some more files>
$ git commit --amend -a
$ git pull-request
Forked repository: https://github.com/jd/gnocchi
Force-pushing branch `somefeature to remote `github'
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 562 bytes | 0 bytes/s, done.
Total 5 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To https://github.com/jd/gnocchi.git
+ 73a733f7...1be2bf29 somefeature -> somefeature (forced update)
Pull-request already exists at: https://github.com/gnocchixyz/gnocchi/pull/33


This tool was definitely the missing piece to smooth my GitHub workflow, so I'm glad I took some time to write it. I hope you'll enjoy it and will send me awesome pull-requests, so go check it out. This program is written in Python and uses the GitHub API.

And feel free to request new fancy features!

Read the whole story
expatpaul
1 day ago
reply
Belgium
jepler
1 day ago
reply
Earth, Sol system, Western spiral arm
Share this story
Delete

scanlime:017 / Boldport #3, Cordwood Puzzle

1 Share

Assembling the Cordwood Puzzle, an electronics kit from the Boldport Club subscription service. It’s a close look at a relaxing build with a vintage look and delightfully unique design. Check out Saar’s work: https://www.boldport.com/

This video was filmed in front of a live Internet audience. Stream archives:
Dec 2, 2016: https://youtu.be/OodND7hXA-A?list=PLhbhmdpDp9xFvxH7lYiD0mnCrw4dqgasJ
Dec 4, 2016: https://youtu.be/zGrPml4o_Cg?list=PLhbhmdpDp9xFvxH7lYiD0mnCrw4dqgasJ

Read the whole story
jepler
4 days ago
reply
Earth, Sol system, Western spiral arm
Share this story
Delete

Almost All WannaCry Victims Were Running Windows 7

1 Comment
An anonymous reader quotes a report from The Verge: According to data released today by Kaspersky Lab, roughly 98 percent of the computers affected by the ransomware were running some version of Windows 7, with less than one in a thousand running Windows XP. 2008 R2 Server clients were also hit hard, making up just over 1 percent of infections. Windows 7 is still by far the most common version of Windows, running on roughly four times as many computers as Windows 10 worldwide. Since more recent versions of Windows aren't vulnerable to WannaCry, it makes sense that most of the infections would hit computers running 7. Still, the stark disparity emphasizes how small of a role Windows XP seems to have played in spreading the infection, despite early concerns about the outdated operating system. The new figures also bear on the debate over Microsoft's patching practices, which generated significant criticism in the wake of the attack. Microsoft had released a public patch for Windows 7 months before the attack, but the patch for Windows XP was only released as an emergency measure after the worst of the damage had been done. The patch was available earlier to paying Custom Support customers, but most XP users were left vulnerable, each unpatched computer a potential vector to spread the ransomware further. Still, Kaspersky's figures suggest that unpatched XP devices played a relatively small role in the spread of the ransomware.
Read the whole story
jepler
6 days ago
reply
Windows 7 users who had turned off updates back when Microsoft was trying to foist off unwanted Windows 10 "upgrades" on them, I'm guessing.
Earth, Sol system, Western spiral arm
gmuslera
5 days ago
Your security model is broken when users can't tell the difference between a security update and a trojan horse, they all come from the same channel
Share this story
Delete
Next Page of Stories